Implantation des futures sur un système distribué par passage de messages
Thesis or Dissertation
2010-08 (degree granted: 2011-03-03)
Author(s)
Advisor(s)
Level
Master'sDiscipline
InformatiqueKeywords
- Langages de programmation fonctionnels
- Functional programming languages
- Scheme
- Scheme
- Multilisp
- Multilisp
- Futures
- Futures
- Traitement parallèle
- Parallel computing
- Traitement distribué
- Distributed computing
- Création paresseuse de tâches
- Lazy task creation
- Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Abstract(s)
Ce mémoire présente une implantation de la création paresseuse de tâches desti-
née à des systèmes multiprocesseurs à mémoire distribuée. Elle offre un sous-ensemble des fonctionnalités du Message-Passing Interface et permet de paralléliser certains problèmes qui se partitionnent difficilement de manière statique grâce à un système de
partitionnement dynamique et de balancement de charge. Pour ce faire, il se base sur le
langage Multilisp, un dialecte de Scheme orienté vers le traitement parallèle, et implante
sur ce dernier une interface semblable à MPI permettant le calcul distribué multipro-
cessus. Ce système offre un langage beaucoup plus riche et expressif que le C et réduit
considérablement le travail nécessaire au programmeur pour pouvoir développer des
programmes équivalents à ceux en MPI. Enfin, le partitionnement dynamique permet
de concevoir des programmes qui seraient très complexes à réaliser sur MPI. Des tests
ont été effectués sur un système local à 16 processeurs et une grappe à 16 processeurs
et il offre de bonnes accélérations en comparaison à des programmes séquentiels équiva-
lents ainsi que des performances acceptables par rapport à MPI. Ce mémoire démontre
que l’usage des futures comme technique de partitionnement dynamique est faisable sur
des multiprocesseurs à mémoire distribuée. This master’s thesis presents an implementation of lazy task creation for distributed
memory multiprocessors. It offers a subset of Message-Passing Interface’s functionality
and allows parallelization of some problems that are hard to statically partition thanks
to its dynamic partitionning and load balancing system. It is based on Multilisp, a
Scheme dialect for parallel computing, and implements an MPI like interface on top
of it. It offers a richer and more expressive language than C and simplify the work
needed to developp programs similar to those in MPI. Finally, dynamic partitioning
allows some programs that would be very hard to develop in MPI. Tests were made
on a 16 cpus computer and on a 16 cpus cluster. The system gets good accelerations
when compared to equivalent sequential programs and acceptable performances when
compared to MPI. It shows that it is possible to use futures as a dynamic partitioning
method on distributed memory multiprocessors.
This document disseminated on Papyrus is the exclusive property of the copyright holders and is protected by the Copyright Act (R.S.C. 1985, c. C-42). It may be used for fair dealing and non-commercial purposes, for private study or research, criticism and review as provided by law. For any other use, written authorization from the copyright holders is required.