next up previous
Next: Les commandes pscript Up: Synthèse parallèle par partitionnement Previous: Synthèse parallèle par partitionnement

L'algorithme parallèle

Le processus PPart fonctionne en mode maître/esclave. L'analyseur constitue le maître, et les tâches de synthèse sont réalisées par des processus esclaves exécutant SIS. La syntaxe de PPart est la suivante :

ppart -f pscript

pscript contient la liste de commandes à exécuter. La distribution des tâches est basée sur PVM [], un ensemble de routines permettant l'exécution sur réseau hétérogène de stations de travail de processus distribués. L'utilisateur spécifie au départ le nombre et le nom des processeurs disponibles pour réaliser la synthèse des circuits, en y incluant la machine exécutant le maître PPart. Chacune des machines exécutera un processus esclave SIS. L'algorithme fonctionne de la façon suivante.

En plus du maître, un esclave (démon) SIS est lancé en début de synthèse sur chacune des machines, et attend des commandes de synthèse à exécuter. Le maître PPart  exécute un algorithme de répartition de charge tournant sur une liste de tâches à exécuter qu'il stocke. A chaque fois qu'un esclave SIS est libre, il effectue une demande de travail au maître, qui lui envoie une tâche constituée d'une commande SIS à réaliser. L'algorithme de distribution termine lorsque tous les travaux à exécuter en parallèle ont été réalisés. Le fait de lancer un démon SIS par machine permet d'éviter de relancer SIS sur chaque machine à chaque fois que un travail doit être réalisé par le processeur associé. L'algorithme tournant, associé à une mesure de la rapidité des processeurs (soit définie de manière externe, soit mesurée par un test, cf. commande speed) permet d'équilibrer la charge de manière raisonnable, si les tâches de synthèse à réaliser sont assez fines, ou si le nombre de tâches est élevé par rapport au nombre de processeurs, les plus rapides d'entre eux exécutant le plus de tâches. Par contre si la puissance des machines est très hétérogène, et que le nombre de tâches à réaliser avoisinne celui des processeurs, les machines les plus rapides resteront inoccupées le temps que les machines les plus lentes aient terminé leur exécution. Il n'existe pas de mécanisme de migration de tâches pour transférer une tâche d'un processeur peu performant à une autre machine plus efficace.


next up previous
Next: Les commandes pscript Up: Synthèse parallèle par partitionnement Previous: Synthèse parallèle par partitionnement

Laurent Lemarchand
Mon Jan 25 14:57:16 MET 1999