Cameleon: Unémulateur d'architectures paralléles pour la validation de Programmes paralléles

A Henni, R Nouacer
2004 Technologies Avancées  
L'étude du parallélisme dans ses différents aspects, nous a permis d'effectuer un certain nombre de constatations. Le parallélisme est une technique d'accélération de l'exécution, du fait de la coopération de plusieurs processeurs dans l'exécution d'un même programme. l'approche parallèle est une méthode de conception, vu qu'elle permet d'appréhender naturellement les problèmes et ainsi de les résoudre efficacement. Cette efficacité ne peut être atteinte ou obtenue que si un bon mariage entre
more » ... application et l'architecture est trouvé; malheureusement ce problème est NP-complet. A cette difficulté s'ajoute le problème de disponibilité de l'équipement nécessaire à la recherche sur le parallélisme. En effet, si la machine parallèle exis te alors elle coûte chère et elle est en nombre d'exemplaires réduit. Si elle n'existe pas, et on doit la réaliser, cela demandera de grands investissements et un nombre d'années non négligeable avant sa concrétisation, d'où souvent dans ce cas les chercheurs tendent vers la simulation ou le prototypage. Le prototypage coûte cher, demande du temps et exploite seulement quelques points de la conception. Et la simulation est flexible, mais lente et complexe quand la conception est simulée en détail. Ainsi, de tout ce qui a précédé, on a pensé à une nouvelle approche qui est l'émulation d'architecture. L'idée est simple mais nous semble très intéressante. En effet, dans cette approche -qui n'est ni : de la simulation; ni de l'encastrement; et encore moins du prototypage-une architecture présumée (souhaitée) est décrite et est ensuite supportée par une architecture parallèle réelle de type MIMD. Ainsi, on peut : Vérifier la correction d'un programme relativement à une architecture; déterminer l'architecture la mieux adaptée à un problème donné; développer les outils nécessaires à une architecture (langage, débugger, paralléliseurs, ...); et encore mieux, aider dans la conception d'architecture. Et tous ceci à moindre coût, car une fois le système Caméléon construit, tout ce que le chercheur aura à faire pour obtenir l'architecture de travail c'est de la décrire, et elle sera immédiatement supportée. Actuellement, et depuis quelques temps, l'idée de l'émulation nous parait comme une solution au problème de placement dans le cas de la programmation logique parallèle. Mots clés : Architecture parallèle, programme parallèle, parallélisme, simulation, émulation 3.2.3. Message de type diffusion C'est un message adressé à tous les noeuds du système. Ce message à son émission par le programme indique la destination EVERY. Ce message est transmit par la couche de communication logique comme suit : ? Construit un message de type direct et l'envoi à tous les noeuds figurants dans la liste des voisins directs (d'après le Net-List). ? Construit un message de type indirect et l'envoi à tous les autres noeuds, en utilisant cette fois -ci la liste des voisins optimaux. 3.3. Topologie et système de communication physique Caméléon est doté d'une couche logiciel, intitulée : Système de communication physique, qui a pour rôle d'assurer l'indépendance vis -à-vis de la topologie physique. En effet, cette couche se charge de gérer la communication directe avec le hard. A cet effet, c'est elle qui est chargée de l'émission et réception de messages, ainsi que de leur construction et interprétation physique. Cette couche travaille en étroite collaboration avec la couche communication logique en lui fournissant des points d'accès sous forme d'appels superviseurs nécessaires à l'envoie et réception de messages. Physiquement, Caméléon se présente comme étant un multiprocesseur MIMD faiblement couplé dont le réseau d'interconnexion à un schéma de communication N -> N, et les différents noeuds sont homogènes du point de vue opérationnelle. La mise en oeuvre actuelle utilise des micro-ordinateurs comme noeuds de l'architecture de Caméléon. Pourquoi utiliser des PCs ? ? L'abstraction d'un PC donne : {Processeur, Mémoire, Bus Interne, Interface E/S} ? Ils sont pratiquement disponibles partout ? Leurs prix tendent à diminuer considérablement à l'inverse de leurs capacités qui augmentent considérablement. ? Ils offrent différentes possibilités d'interfaçage et de connexion qui permettent une construction aisée de Caméléon Le réseau d'interconnexion implémante un réseau Omega et apparaît sous la forme d'un boîtier placé entre les PCs. Ce boîtier présente plusieurs prises numérotées. Celles-ci devront être utilisées dans l'ordre croissant de leur numéro et ceci à cause du mode de numérotation employé. A la place d'un réseau multi-étages Omega, on pouvait utiliser une topologie en anneau ou bus, permettant aussi le schéma N->N et qui ne coûte pas cher; mais leur problème est le temps de communication entre deux noeuds qui n'est pas uniforme. Ce qui rend la tâche de projection (plongement), et surtout de conversion du temps de communication réelle en un temps théorique très difficile, alors que dans le cas d'un réseau multi-étage ce temps est le même et peut être considéré comme unité de temps, à la place de la seconde, pour les temps de communication. En effet, cette substitution de la seconde par la notion d'unité de temps (égal à t) permet la comparaison des une la compara ison objective et dépend de la technologie utilisée.
doi:10.4314/ta.v14i1.18451 fatcat:5nop7rzc3jcernurlkvleodc3a