TP-systemes-concurrents/TP5/reponses.md
2023-06-21 20:19:26 +02:00

1.6 KiB
Raw Blame History

Exercice 1

Le calcul séquentiel à paralléliser est une itération. A votre avis, quel sera le schéma de parallélisation le plus naturel ? le plus efficace ?

La parllélisation avec un pool fixe est plus naturelle et semble plus efficace.

Notez que le calcul étant très simple, il est important pour évaluer les performances de cet exercice de travailler avec un grand tableau. Comparer les deux versions (pool fixe et Fork/join) avec la version séquentielle. Les mesures confirment-elles vos a priori ? Commentez.

Sur de grands tableau, la parallélisation est nettement plus efficace que la version séquentielle. La version à pool fixe est plus rapide que celle du fork/join, puisque allouer des tableaux est couteux.

Exercice 2

Paralléliser lalgorithme récursif proposé en utilisant les deux schémas (pool fixe et Fork/Join). Comparer ces deux versions avec la version séquentielle, en termes de facilité de conception, et de performances.

La version avec pool fixe est plus rapide que la version séquentielle (pour de grands tableaux) et nettement plus rapide que la version fork/join. La version fork/join est tout de même plus simple à programmer.

Exercice 3

Comparer cette version avec la version séquentielle, en termes de facilité de conception, et de performances. Pour le test, on pourra prendre un répertoire contenant des fichiers sources, et rechercher un mot clé du langage.

Dans ce cas le fork/join est plus rapide que la version séquentielle. De le principe du fork join s'applique bien dans le cas d'exploration d'un arbre (répertoires) comme c'est le cas ici.