Qu'est-ce que la simultanéité?

Le terme simultanéité est utilisé en informatique pour décrire la capacité d'exécuter plusieurs tâches logicielles en parallèle à l'aide de systèmes multiprocesseurs, ce qui permet de réduire les temps de traitement par rapport à une approche à un seul fil.
Pourquoi la simultanéité est-elle importante ?
Sans capacités de simultanéité , les applications ne peuvent pas évoluer horizontalement ou verticalement. Les applications seraient lentes. Les serveurs ne pourraient pas gérer plus de 20 utilisateurs, même s'ils étaient écrits de manière efficace. Même les systèmes périphériques de petite taille sont conçus pour exploiter le matériel multiprocesseur, les systèmes à un seul cœur étant devenus rares.
Comment la simultanéité est-elle appliquée ?
Vous trouverez ci-dessous des exemples de la façon dont simultanéité a évolué pour support applications modernes.
Multitraitement des ordinateurs centraux
La première génération d'ordinateurs, illustrée par le célèbre IBM System/360, était constituée de systèmes uniprocesseurs. Les logiciels étaient organisés en files d'attente pour le traitement par lots. Un programme aurait pu être un jeu de cartes perforées, et la sortie aurait été une impression sur papier. Dans les années 1980, la simultanéité a été introduite par les premiers systèmes à double processeur, IBM 3081 et 4 voies 3084. De nouveaux utilitaires de saisie des travaux ont permis à ces systèmes de traiter plusieurs flux de logiciels. Comme chaque processeur coûtait 1 million de dollars, ces systèmes n'étaient utilisés que par les entreprises du classement Fortune 500. Le premier système utilisateur en ligne, tel que IBM CICS, était lié à un seul processeur, ce qui limitait considérablement le nombre d'utilisateurs et les taux de transaction.
Ordinateurs Tandem Non-Stop
Les systèmes bancaires et boursiers utilisent les systèmes Tandem et Stratus pour protéger les transactions contre les défaillances du système. Ces systèmes assurent la simultanéité en utilisant du matériel redondant qui exécute chaque transaction en parallèle. En cas de défaillance d'un système, le serveur fonctionnel restant devient le moteur d'exécution principal.
évolutivité verticale
Aujourd'hui, les CPU comportent généralement 4 ou 8 cœurs sur une seule puce. Dans les années 1990, les systèmes multiprocesseurs symétriques de Sequent, HP et IBM sont devenus populaires parce qu'ils permettaient de faire évoluer les applications verticalement dans un seul serveur. Il suffisait de mettre à niveau le matériel pour prendre en charge un plus grand nombre d'utilisateurs.
évolutivité horizontale
Les applications peuvent être écrites pour être mises à l'échelle sur plusieurs serveurs physiques dans le même centre de données ou le même rack, reliés par une interconnexion à grande vitesse. Ces systèmes étroitement couplés sont connus sous le nom de clusters. Les premières grappes comprenaient le Parallel Sysplex d'IBM, les grappes VAX et les grappes Sun. Désormais, les applications ne sont plus limitées à un serveur unique ; elles peuvent également être réparties sur plusieurs serveurs de la grappe.
simultanéité à l'aide de systèmes de processeurs massivement parallèles
Les premières grappes étaient limitées à environ huit nœuds. L'IBM SP2 MPP pouvait support grappes de 64 nœuds dans un seul boîtier. Aujourd'hui, les superordinateurs peuvent atteindre des milliers de nœuds. Par exemple, des applications telles que les simulations météorologiques utilisent la simultanéité pour exécuter un modèle en temps réel de la météo mondiale.
Clusters Hadoop
Le projet open-source Hadoop a banalisé le MPP en utilisant des serveurs Intel bon marché et des logiciels libres. Les clients d'Action Vector, tels qu'Expandium, utilisent un Cluster Hadoop à 12 nœuds pour analyser de manière rentable plus d'un milliard d'enregistrements d'appels par jour en exploitant l'évolutivité verticale et horizontale offerte par Vector.
Prise en charge d'un plus grand nombre d'utilisateurs
La simultanéité est souvent utilisée pour décrire le nombre d'utilisateurs connectés à une application, telle qu'un système de base de données. Au fur et à mesure que de nouvelles demandes de connexion arrivent, elles sont affectées au processeur suivant à l'aide d'un algorithme circulaire round-robin ou d'un algorithme d'affectation aléatoire. Le logiciel de gestion de la charge de travail assure une utilisation uniforme de toutes les ressources disponibles du processeur .
simultanéité dans le nuage
plateformes informatique dématérialisée ajoutent une nouvelle dimension à la simultanéité grâce à une élasticité massive. Les applications en nuage peuvent s'adapter à des millions d'utilisateurs simultanés. L'informatique sans serveur offre la possibilité d'une simultanéité illimitée.
Actian et la simultanéité
La plateforme de données Actian La plateforme de données Actian utilise une capacité de requête hautement parallèle qui est fournie par le moteur de base de données de traitement vectoriel intégré. Actian Vector peut prendre une requête SQL importante et complexe et la paralléliser pour tirer parti de tous les cœurs de processeur d'un système unique et d'une grappe afin de renvoyer l'ensemble des résultats plus rapidement que n'importe quelle autre base de données. Cela est possible en partie grâce à la capacité de Vector à utiliser la technologie SIMD Intel qui permet à une instruction unique exécutée dans un cœur de processeur traiter en parallèle les données mises en cache dans les registres de tous les autres processeurs du système.
La plateforme de données Actian fonctionne sur site et dans le nuage. La technologie d'intégration de données intégrée se connecte à des centaines de sources de données. Les connecteurs de données externes support accès SQL aux formats Spark.