SYMPUS: Une implémentation logicielle d'une mémoire distribuée partagée sur un réseau d'ordinateurs

Guardat en:
Dades bibliogràfiques
Publicat a:ProQuest Dissertations and Theses (2007)
Autor principal: Boumedjout, Lahcen
Publicat:
ProQuest Dissertations & Theses
Matèries:
Accés en línia:Citation/Abstract
Full Text - PDF
Etiquetes: Afegir etiqueta
Sense etiquetes, Sigues el primer a etiquetar aquest registre!
Descripció
Resum:Les grappes d'ordinateurs sont de plus en plus utilisées surtout dans le domaine du calcul parallèle de haute performance. Cependant l'absence d'une mémoire partagée rend difficile la programmation de certaines applications parallèles sur de tels systèmes. En effet, le modèle de programmation par passage de messages, qui est le plus souvent utilisé, oblige le programmeur à gérer explicitement les flux de données entre les différentes entités communicantes de l'application. Cela peut devenir une tâche complexe. Par contre, le modèle de programmation par mémoire partagée décharge le programmeur de la gestion explicite des données partagées. Plusieurs systèmes permettant d'offrir une mémoire partagée au-dessus d'une mémoire physiquement distribuée, appelées MDP (Mémoire Distribuée Partagée) ou DSM (Distributed Shared Memory), ont été proposés. La plupart de ces MDP souffrent soit de problèmes de portabilité, car elles dépendent d'une technologie particulière ou d'un système d'exploitation particulier, soit de problèmes de performances, à cause principalement des modèles de cohérence utilisés qui sont généralement gourmands en communication. Nous proposons SYMPUS, une MDP logicielle qui est indépendante du système d'exploitation et du matériel utilisé. La MDP SYMPUS est dotée d'une interface (API) simple à utiliser. Nous avons choisi une approche centralisée pour la gestion des données partagées réduisant ainsi au maximum le trafic réseau que peut entraîner l'approche décentralisée. L'unité de partage de la MDP SYMPUS est la variable. Les types de données supportés pour cette première version de SYMPUS sont les types primitifs présents dans tous les langages de programmation actuellement utilisés. Une analyse comparative avec MPI et OpenMp (les deux standards les plus utilisés actuellement dans l'informatique parallèle), montre que les performances de SYMPUS sont acceptables. Computer clusters are increasingly used, especially in the field of high-performance parallel computing. However, the absence of shared memory makes it difficult to program certain parallel applications on such systems. Indeed, the message passing programming model, which is most often used, requires the programmer to explicitly manage data flows between the different communicating entities of the application. This can become a complex task. On the other hand, the shared memory programming model relieves the programmer of the explicit management of shared data. Several systems allowing shared memory to be offered on top of physically distributed memory, called MDP (Distributed Shared Memory) or DSM (Distributed Shared Memory), have been proposed. Most of these MDPs suffer either from portability problems, because they depend on a particular technology or a particular operating system, or from performance problems, mainly because of the consistency models used which are generally communication intensive .We offer SYMPUS, a software MDP that is independent of the operating system and the hardware used. The SYMPUS MDP has an easy-to-use interface (API). We have chosen a centralized approach for managing shared data, thereby minimizing the network traffic that the decentralized approach can cause. The sharing unit of the SYMPUS MDP is the variable. The data types supported for this first version of SYMPUS are the primitive types present in all programming languages currently used. A comparative analysis with MPI and OpenMp (the two standards currently most used in parallel computing), shows that the performance of SYMPUS is acceptable.
ISBN:9780494313640
Font:ProQuest Dissertations & Theses Global