Close-up d'une puce de processeur sur une carte mère d'ordinateur
Crédit d'image : Riccardo_Mojana/iStock/Getty Images
Le traitement parallèle et en série décrit si un système informatique peut séparer les tâches de calcul à utiliser plusieurs processeurs ou cœurs simultanément ou s'il dépend de l'exécution de tâches avec un seul processeur coeur. Tous les processeurs d'ordinateurs grand public étaient des processeurs série avant la mi-2005, lorsque Intel a introduit le premier processeur double cœur grand public. Plusieurs processeurs monocœur peuvent fonctionner ensemble pour gérer le traitement série via des grappes d'ordinateurs parallèles en réseau ou exécuter plusieurs processeurs sur une même carte mère.
Les ordinateurs sont des machines multitâches
Un ordinateur moderne typique exécute des dizaines à des centaines de tâches à un moment donné; cependant, chaque cœur ne travaille que sur un processus à la fois. Le processeur saute constamment entre les différents « threads » ou « flux d'instructions » de traitement pour exécuter plusieurs programmes simultanés sous une illusion en temps réel appelée concurrence. L'ordinateur finit par gaspiller des cycles de processeur lors de la commutation entre les tâches et ne fonctionne pas avec une efficacité optimale lors du multitâche.
Vidéo du jour
Exécuter des tâches en parallèle
Un environnement de traitement parallèle peut traiter les tâches plus rapidement lorsque les programmes sont conçus pour utiliser le traitement parallèle. Les programmes série alignent toutes les instructions en série et s'interfacent avec le processeur à l'aide d'un seul thread. Les programmes parallèles fonctionnent en divisant les tâches en parties individuelles qui peuvent être divisées entre plusieurs cœurs de processeur et réassemblées en tant que tâches terminées. Les processeurs parallèles peuvent multiplier la puissance de traitement des processeurs série cadencés de manière similaire avec un code correctement écrit. Cependant, un processeur série avec une vitesse d'horloge plus élevée peut surpasser les processeurs parallèles lorsqu'il travaille avec un seul thread.
Traitement en série en action
Les programmes écrits pour le traitement en série n'utilisent qu'un cœur à la fois et traitent les tâches dans un ordre séquentiel. Un processeur en série fonctionne un peu comme avoir une douzaine de voies de paiement ouvertes à l'épicerie avec un caissier fonctionnant entre les différentes voies, vérifiant tout le monde en même temps. Le caissier, ou CPU, saute d'une voie à l'autre en vérifiant quelques articles à la fois avant de passer au suivant dans le but de terminer toutes les commandes en même temps.
Traitement parallèle en action
L'idée derrière les processeurs parallèles est que plus de cœurs qui fonctionnent ensemble conduiront à de meilleures performances. Un processeur parallèle se comporte comme si plusieurs caissiers exploitaient une douzaine de voies de paiement. Si un programme est mis en place pour tirer parti du traitement parallèle, le « client » pourrait diviser sa commande en plus petits groupes et utiliser plusieurs voies de paiement à la fois.
Les processeurs parallèles étendent les possibilités
En 2007, Nvidia a utilisé pour la première fois le traitement parallèle pour faire progresser la technologie graphique. Les unités de traitement graphique utilisent un traitement parallèle à un niveau qui réduit les performances de traitement en série lors de petits calculs. Alors que les processeurs ont tendance à avoir un nombre de cœurs facilement dénombrable, les GPU peuvent avoir des milliers de cœurs moins puissants qui sont mieux adaptés pour exécuter des calculs simultanés plus simples. Les GPU sont couramment utilisés pour les graphiques, mais peuvent effectuer d'autres calculs pour des choses comme le tri et l'algèbre matricielle.