Aux deux questions, même réponse que ci-dessus :
- Savoir ce que l'on veut faire
- Quels sont les besoins ?
- Par quoi est-on limité ?
- Quelle serait la solution : calculer plus vite ou faire plusieurs choses en même temps ?
Suivant les cas, on optera donc pour : un processeur plus puissant, une optimisation des algos et du code, plusieurs processeurs en parallèle.
Les problèmes de mémoire distribuée ou partagée n'ont que peu de rapport.
Ce qui interviendra par contre, dans le cas où la décision serait de faire du parallèlisme (ce qui, voir les remarques plus haut, n'est pas de loin la solution la plus évidente pour 98% des problèmes), sera une évaluation quantitative des gains attendus (coûts+vitesse) à plusieurs machines ou à une machine à plusieurs processeurs, en tenant compte encore une fois des besoins de synchronisation et de la quantité de code parallélisable/code total.
Il n'y a donc aucune réponse "toute faite", et surtout pas une conclusion immédiate il faut paralléliser", "il faut plusieurs machines", "il faut un multi-core", "il faut du multi-thread"....
![]()
Partager