Commençons par les bases : le multiprocessing, câest quand plusieurs processeurs (ou cĆurs) travaillent en mĂȘme temps. Les objectifs sont :
- Plus de performance đš
- Plus de parallĂ©lisme âĄ
- Une meilleure utilisation des ressources
Autrefois, les CPU Ă©taient monocĆurs. Un seul processeur gĂ©rait toute la charge de travail, comme un maire de village organisant seul tous les mariages. Mais les donnĂ©es ont explosĂ©, lâIA est arrivĂ©e, les jeux sont devenus Ă©normes⊠et le pauvre maire nâa plus suffi. La solution : les processeurs multicĆurs.
đą Symmetric Multiprocessing (SMP)
La symĂ©trie ici signifie « tout le monde est Ă©gal ». Tous les processeurs sont au mĂȘme niveau :
- Ils accĂšdent Ă la mĂȘme mĂ©moire (mĂ©moire partagĂ©e).
- Ils peuvent exĂ©cuter les mĂȘmes tĂąches.
- Ils sont traitĂ©s de façon Ă©gale par le systĂšme dâexploitation.
đ CaractĂ©ristiques techniques :
- Architecture Ă mĂ©moire partagĂ©e : tous les CPU utilisent la mĂȘme mĂ©moire.
- CohĂ©rence du cache : les cĆurs doivent synchroniser leurs caches, via des protocoles comme MESI.
- RĂ©partition de charge : lâOS distribue les tĂąches Ă©quitablement entre les cĆurs.
đ Avantages :
- Grande flexibilitĂ© : nâimporte quel cĆur peut prendre nâimporte quelle tĂąche.
- Programmation plus simple : transparent pour le dĂ©veloppeur (lâOS gĂšre tout).
- Les OS modernes (Linux, Windows, macOS) supportent le SMP.
â ïž InconvĂ©nients :
- LâaccĂšs mĂ©moire peut devenir un goulot dâĂ©tranglement.
- Surcoût lié au trafic de cohérence du cache.
- ComplexitĂ© croissante avec le nombre de cĆurs.
đ En rĂ©sumĂ© : SMP = une cuisine partagĂ©e oĂč tout le monde trempe sa cuillĂšre dans la mĂȘme marmite.
đŽ Asymmetric Multiprocessing (AMP)
LâasymĂ©trie signifie ici « relation chefâouvriers ». Un cĆur (le maĂźtre) gĂšre les tĂąches, les autres (esclaves) les exĂ©cutent.
đ CaractĂ©ristiques techniques :
- CPU maĂźtre : gĂšre le systĂšme dâexploitation et lâordonnancement.
- CPU esclaves : exécutent uniquement les tùches assignées par le maßtre.
- AccÚs mémoire : souvent via le maßtre.
đ Avantages :
- Conception matérielle et logicielle plus simple.
- Moins de surcharge de coordination.
- Consommation réduite dans les systÚmes embarqués.
â ïž InconvĂ©nients :
- DĂ©pendance au maĂźtre : si le maĂźtre tombe, tout le systĂšme sâĂ©croule.
- EfficacitĂ© variable : certains cĆurs peuvent rester inactifs.
- Peu adapté aux charges complexes.
đ Exemple : lâarchitecture big.LITTLE dâARM â gros cĆurs puissants + petits cĆurs Ă©conomes en Ă©nergie dans les smartphones.
đ Tightly Coupled vs. Loosely Coupled
Le multiprocessing ne se limite pas Ă SMP vs AMP. Le type de connexion entre cĆurs est aussi crucial.
1ïžâŁ SystĂšmes Tightly Coupled
- Les CPU accĂšdent directement Ă la mĂȘme mĂ©moire.
- Un seul OS est utilisé.
- TrĂšs faible latence.
đĄ Avantages :
- Partage des données ultra-rapide.
- Excellents résultats pour le calcul parallÚle.
â ïž InconvĂ©nients :
- Trafic mémoire accru.
- Synchronisation de plus en plus difficile avec de nombreux CPU.
đ Exemple : les CPU multicĆurs dans nos PC portables et de bureau.
2ïžâŁ SystĂšmes Loosely Coupled
- Chaque processeur possÚde sa propre mémoire.
- La communication passe par de « lâĂ©change de messages ».
- Fonctionnent davantage comme des systÚmes distribués.
đĄ Avantages :
- TrÚs évolutifs : milliers de processeurs possibles.
- Pas de conflits dâaccĂšs mĂ©moire.
â ïž InconvĂ©nients :
- Passage de messages = latence.
- Programmation plus complexe.
đ Exemple : les supercalculateurs, les clusters HPC (High-Performance Computing).
đ MĂ©taphores du quotidien
- SMP (Symmetric) : une cuisine commune â tout le monde se sert dans la mĂȘme marmite (parfois, ça finit en bataille de cuillĂšres đ„đ ).
- AMP (Asymmetric) : dans une famille, une personne cuisine, les autres font la vaisselle ou mettent la table. Le chef est clair.
- Tightly Coupled : vivre dans la mĂȘme maison, partager le mĂȘme frigo.
- Loosely Coupled : chacun vit dans sa propre maison avec sa cuisine, mais envoie des recettes par WhatsApp.
đ OĂč sont-ils utilisĂ©s ?
- SMP + Tightly Coupled :
- PC modernes (laptops et desktops)
- Serveurs
- Consoles de jeux
- AMP + Loosely Coupled :
- SystÚmes embarqués (IoT, SoC de smartphones)
- Supercalculateurs
- Clusters HPC
đŻ Conclusion
- Si le systĂšme exige une coopĂ©ration ultra-rapide â SMP + Tightly Coupled est la meilleure option.
- Si le systĂšme vise lâĂ©volutivitĂ© et lâefficacitĂ© Ă©nergĂ©tique â AMP + Loosely Coupled est prĂ©fĂ©rable.
đ Pensez à ça comme Ă une Ă©quipe de super-hĂ©ros :
- SMP : Les Avengers â tout le monde est Ă©gal, chacun peut se battre.
- AMP : La Justice League â Batman planifie, Superman combat, Flash court.
- Tightly Coupled : mĂȘme QG, communication instantanĂ©e.
- Loosely Coupled : villes différentes, connectés par radios.

