Les machines physiques utilisées pour réaliser la synthèse d'un
circuit forment, dans la terminologie PVM, une machine virtuelle
[]. Avant de réaliser une tâche de synthèse, un pscript
doit contenir l'ordre de lancement de la machine virtuelle
correspondant à l'exécution d'une commande pvm de la forme
:
pvm machine [speed] [machine [speed]]
La vitesse speed associée à chaque machine permet de classer
celles-ci par ordre de performances. La vitesse par défaut est de
100. Toutes les machines citées dans la liste doivent avoir accès
au répertoire courant (d'où est lancé PPart) si des
commandes avec entrées/sorties de fichiers sont utilisées dans la
suite du pscript. En particulier, la machine définie comme étant
la plus puissante sera utilisée pour l'exécution de toutes les
commandes SIS séquentielles (entre autres le partitionnement du
circuit). Si aucune vitesse n'est spécifiée, c'est la dernière
machine de la liste qui sera utilisée.
Les machines, et l'environnement de l'utilisateur sur chacune d'entre-elles,
doivent permettre l'exécution de PVM, et du logiciel SIS. Notamment
dans le cas de réseau hétérogènes en matière de systèmes
d'exploitation, il faut vérifier que SIS est bien exécutable sur chacune
des architectures, et que les librairies utilisées (script par défaut par
exemple pour l'optimisation d'un circuit) sont bien cohérentes entre les
différentes installations.
Dans un environnement d'utilisation partagé des ressources (réseau
de stations non utilisées exclusivement pour la synthèse par
exemple), la vitesse des machines peut être déterminée à un
instant donné en exécutant la commande speed, afin de
réaliser un test en grandeur réelle de la vitesse d'exécution de
SIS sur les diverses machines utilisées. La syntaxe de la commande
est la suivante :
speed file script
La commande exécute le script SIS script sur le fichier file au format de description BLIF. Le temps d'exécution sur les différents processeurs tient lieu d'évaluation pour la vitesse de la machine associée. Le script utilisé et le fichier de test ne doivent pas être trop complexes afin de ne pas pénaliser de manière trop importante les temps d'exécution utiles lors de la synthèse. Cependant, si par exemple, les effets de swap (utilisation de la mémoire virtuelle sur le disque dur) veulent être pris en compte, la tâche à exécuter doit être assez importante. Si la tâche ne nécessite que très peu de ressources de calcul, le temps mesuré correspondra plus aux effets de distribution des données (lancement de SIS ou envoi de messages d'exécution suivant l'algorithme de répartie, partage NFS, entrées/sorties dans SIS) que aux temps CPU d'exécution de la synthèse elle-même. Or, dans les applications réelles du logiciel de synthèse sur des circuits de grande taille, le temps de synthèse est très nettement prépondérant par rapport au coût de la parallélisation. Le test effectué doit donc prendre en compte ces aspects contradictoires : ne pas être lui-même trop coûteux en temps de calcul, mais rester significatif par rapport à la mesure à effectuer.