ATHAPASCAN-0 : exploitation de la multiprogrammation légère sur grappes de multiprocesseurs. (ATHAPASCAN-0 : Multithreading explotation on cluster of multiprocessors)

L'accroissement d'efficacite des reseaux d'interconnexion et la vulgarisation des machines multiprocesseurs permettent la realisation de machines paralleles a memoire distribuee de faible cout: les grappes de multiprocesseurs. Elles necessitent l'exploitation a la fois du parallelisme a grain fin, interne a un multiprocesseur offert par la multiprogrammation legere, et du parallelisme a gros grain entre les differents multiprocesseurs. L'exploitation simultanee de ces deux types de parallelisme exige une methode de communication entre les processus legers qui ne partagent pas le meme espace d'adressage. Le travail de cette these porte sur le probleme de l'integration de la multiprogrammation legere et des communications sur grappes de multiprocesseurssymetriques (SMP). Il porte plus precisement sur l'evaluation et le reglage dunoyau executif ATHAPASCAN-0 sur ce type d'architecture. ATHAPASCAN-0 est un noyau executif,portable, developpe au sein du projet APACHE (CNRS-INPG-INRIA-UJF), qui combinela multiprogrammation legere et la communication par echange de messages. La portabilite est assuree par une organisation en couches basee sur les standards POSIX threads et MPI largement repandus. ATHAPASCAN-0 etend le modele de reseaustatique de processus «lourds» communicants tel que MPI, PVM, etc, a celui d'un reseau dynamique de processus legers communicants. La technique de base est la multiprogrammation legere des communications et des calculs. La progression des communications exige la scrutation de l'etat du reseau et l'enchainement des operations de transferts. L'efficacite repose sur la minimisation de ces operations. De plus, l'emploi de multiprocesseurs ajoute des problemes specifiques dus a l'apparition d'un parallelisme reel entre calcul et communication. Ces problemes sont presentes et des solutions sont proposees pour l'environnement ATHAPASCAN-0. Ces solutions sont evaluees sur des grappes de multiprocesseurs.

[1]  Bill Nitzberg,et al.  PMPIO-a portable implementation of MPI-IO , 1996, Proceedings of 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96).

[2]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[3]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[4]  Adam Kolawa,et al.  Express is not just a Message Passing System Current and Future Directions in Express , 1994, Parallel Comput..

[5]  Manfred Morari,et al.  The Design and Evolution of Zipcode , 1994, Parallel Comput..

[6]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[7]  Ehud Shapiro,et al.  Concurrent Prolog: A Progress Report , 1985, Computer.

[8]  Per Brinch Hansen,et al.  The Architecture of Concurrent Programs , 1977 .

[9]  Seth Copen Goldstein,et al.  TAM - A Compiler Controlled Threaded Abstract Machine , 1993, J. Parallel Distributed Comput..

[10]  Thierry Gautier Calcul formel et parallélisme : conception du système GIVARO et applications au calcul dans les extensions algébriques , 1996 .

[11]  Ramesh Subramonian,et al.  LogP: towards a realistic model of parallel computation , 1993, PPOPP '93.

[12]  Donald Yeung,et al.  The MIT Alewife machine: architecture and performance , 1995, ISCA '98.

[13]  Keith L. Clark,et al.  PARLOG: parallel programming in logic , 1986, ACM Trans. Program. Lang. Syst..

[14]  Geraint Jones Programming in occam , 1986, Prentice Hall International Series in Computer Science.

[15]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[16]  Report,et al.  Public International Benchmarks for Parallel Computers , 1993 .

[17]  Marcelo Pasin,et al.  Athapascan: An Experience on Mixing MPI Communications and Threads , 1998, PVM/MPI.

[18]  David B. Skillicorn,et al.  Models and languages for parallel computation , 1998, CSUR.

[19]  Allan Porterfield,et al.  The Tera computer system , 1990, ICS '90.

[20]  Laxmikant V. Kalé,et al.  Chare Kernel - a Runtime Support System for Parallel Computations , 1991, J. Parallel Distributed Comput..

[21]  Koen De Bosschere,et al.  J iT I : Tracing Memory References for Data Race Detection , 1997, PARCO.

[22]  Koen Langendoen,et al.  User-Space Solutions to Thread Switching Overhead , 1995 .

[23]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[24]  Murray Cole,et al.  Parallel Computing: State-of-the-Art and Perspectives, volume 11 of Advances in Parallel Computing , 1996 .

[25]  Syam Gadde,et al.  Cheating the I/O Bottleneck: Network Storage with Trapeze/Myrinet , 1998, USENIX Annual Technical Conference.

[26]  Vaidy S. Sunderam,et al.  TPVM: distributed concurrent computing with lightweight processes , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[27]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[28]  Ian T. Foster,et al.  Productive Parallel Programming: The PCN Approach , 1995, Sci. Program..

[29]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[30]  Kai Li,et al.  Design and implementation of virtual memory-mapped communication on Myrinet , 1997, Proceedings 11th International Parallel Processing Symposium.

[31]  Jean-François Méhaut,et al.  PM2: Parallel Multithreaded Machine. A Computing Environment for Distributed Architectures , 1995, PARCO.

[32]  Matthew Haines,et al.  ROPES: SUPPORT FOR COLLECTIVE OPERATIONS AMONG DISTRIBUTED THREADS , 1995 .

[33]  Nicholas Carriero,et al.  Matching Language and Hardware for Parallel Computation in the Linda Machine , 1988, IEEE Trans. Computers.

[34]  K. Mani Chandy,et al.  CC++: A Declarative Concurrent Object Oriented Programming Notation , 1993 .

[35]  Rajeev Thakur,et al.  I/O in Parallel Applications: the Weakest Link , 1998, Int. J. High Perform. Comput. Appl..

[36]  Michel Christaller Vers un support d'exécution portable pour applications parallèles irrégulières: Athapascan-0. (Run-time support for irregular parallel applications: Athapascan-0) , 1996 .

[37]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[38]  Matthew Haines,et al.  On the design of Chant: a talking threads package , 1994, Proceedings of Supercomputing '94.

[39]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[40]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[41]  Bernd Dreier,et al.  The Rthreads Distributed Shared Memory System , 1998 .

[42]  Ian T. Foster,et al.  The Nexus Approach to Integrating Multithreading and Communication , 1996, J. Parallel Distributed Comput..

[43]  Bil Lewis,et al.  Multithreaded Programming With PThreads , 1997 .

[44]  Jack J. Dongarra,et al.  Heterogeneous MPI Application Interoperation and Process Management under PVMPI , 1997, PVM/MPI.

[45]  Bernard Tourancheau,et al.  BIP: A New Protocol Designed for High Performance Networking on Myrinet , 1998, IPPS/SPDP Workshops.

[46]  Ilan Ginzburg Athapascan-0b : intégration efficace et portable de multiprogrammation légère et de communications. (Athapascan-0b: efficient and portable integration of communications and multithreading) , 1997 .

[47]  Henri E. Bal,et al.  Panda: a portable platform to support parallel programming languages , 1993 .

[48]  Ian T. Foster,et al.  Overview of the I-Way: Wide-Area Visual Supercomputing , 1996, Int. J. High Perform. Comput. Appl..

[49]  Henri E. Bal,et al.  Models for asynchronous message handling , 1997, IEEE Concurrency.

[50]  Cedric Dumoulin,et al.  Dream: A distributed shared memory model using PVM , 1995 .

[51]  W. F. McColl,et al.  Bulk synchronous parallel computing , 1995 .

[52]  Brigitte Plateau,et al.  A framework for parallel multithreaded implementation of domain decomposition methods , 1999, PARCO.

[53]  Greg J. Regnier,et al.  The Virtual Interface Architecture , 2002, IEEE Micro.

[54]  Michael D. Noakes,et al.  The J-machine multicomputer: an architectural evaluation , 1993, ISCA '93.

[55]  Devang Shah,et al.  Programming with threads , 1996 .

[56]  David R. Butenhof Programming with POSIX threads , 1993 .

[57]  Gerson G. H. Cavalheiro,et al.  A General Modular Specification for Distributed Schedulers , 1998, Euro-Par.

[58]  Gerson G. H. Cavalheiro,et al.  Athapascan-1: On-line building data flow graph in a parallel language , 1998, Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192).

[59]  William Gropp,et al.  Early experiences with the IBM SP1 and the high-performance switch , 1993 .

[60]  François Galilée Athapascan-1 : interprétation distribuée du flot de données d'un programme parallèle. (Athapascan-1 : distributed interpretation of parallel programs based on data flow analysis) , 1999 .

[61]  Henri E. Bal,et al.  Efficient multicast on Myrinet using link-level flow control , 1998, Proceedings. 1998 International Conference on Parallel Processing (Cat. No.98EX205).

[62]  James C. Browne,et al.  The CODE 2.0 graphical parallel programming language , 1992, ICS '92.

[63]  Lionel M. Ni,et al.  Performance evaluation of some MPI implementations on workstation clusters , 1994, Proceedings Scalable Parallel Libraries Conference.

[64]  Rajeev Thakur,et al.  Users guide for ROMIO: A high-performance, portable MPI-IO implementation , 1997 .

[65]  J. Leigh,et al.  Scientists in wonderland: A report on visualization applications in the CAVE virtual reality environment , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[66]  Ian Foster,et al.  Designing and building parallel programs , 1994 .

[67]  K. Langendoen,et al.  Integrating polling, interrupts, and thread management , 1996, Proceedings of 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96).

[68]  Robert H. Halstead,et al.  Parallel Symbolic Computing , 1986, Computer.

[69]  Theo Ungerer,et al.  Parallel and distributed programming with Pthreads and Rthreads , 1998, Proceedings Third International Workshop on High-Level Parallel Programming Models and Supportive Environments.

[70]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[71]  Polle Zellweger,et al.  The structure of Cedar , 1985, ACM SIGPLAN Notices.

[72]  Xavier Rousset de Pina,et al.  SciOS: Flexible Operating System Support for SCI Clusters , 1998, Euro-Par.

[73]  Fernando Gustavo Tinetti,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers. Barry Wilkinson, C. Michael Allen , 2000 .

[74]  Rolf Rabenseifner,et al.  MPI-GLUE: Interoperable High-Performance MPI Combining Different Vendor's MPI Worlds , 1998, Euro-Par.

[75]  P. Pierce,et al.  The NX/2 operating system , 1988, C3P.

[76]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[77]  Al Geist,et al.  LPVM: a step towards multithread PVM , 1998, Concurr. Pract. Exp..

[78]  Dana S. Henry,et al.  A tightly-coupled processor-network interface , 1992, ASPLOS V.

[79]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[80]  Larry Rudolph,et al.  Designing Efficient, Scalable, and Portable Collective Communication Libraries , 1993, PPSC.

[81]  Jacques Chassin de Kergommeaux,et al.  Interactive Visualization Environment of Multi-threaded Parallel Programs , 1997, PARCO.

[82]  K. Mani Chandy,et al.  Compositional C++: Compositional Parallel Programming , 1992, LCPC.

[83]  David E. Culler,et al.  Virtual network transport protocols for Myrinet , 1998, IEEE Micro.

[84]  Roger W. Hockney The science of computer benchmarking , 1995, Software, environments, tools.

[85]  Xinmin Tian,et al.  The Multi-Threaded Architecture Multiprocessor , 1994 .

[86]  Corporate IEEE Standard for Scalable Coherent Interface, Science: IEEE Std. 1596-1992 , 1993 .

[87]  Alvin M. Despain,et al.  The Performance of Parallel Prolog Programs , 1990, IEEE Trans. Computers.

[88]  Steve R. Kleiman,et al.  SunOS Multi-thread Architecture , 1991, USENIX Winter.

[89]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[90]  Eric A. Brewer,et al.  Remote queues: exposing message queues for optimization and atomicity , 1995, SPAA '95.

[91]  Jean-Louis Roch,et al.  Athapascan-1 : Parallel Programming with Asynchronous , 1998 .

[92]  H.H.J. Hum,et al.  Polling Watchdog: Combining Polling and Interrupts for Efficient Message Handling , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[93]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[94]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[95]  Henri E. Bal,et al.  Comparing kernel-space and user-space communication protocols on Amoeba , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[96]  Christopher F. Joerg,et al.  The Cilk system for parallel multithreaded computing , 1996 .

[97]  Robert Olson,et al.  Programming in FORTRAN M , 1993 .

[98]  David A. Fisher,et al.  Parallel Processing in Ada , 1986, Computer.

[99]  W. Richard Stevens Tcp/ip illustrated- volume 1 , 1994 .

[100]  Pierre-Eric Bernard Parallélisation et multiprogrammation pour une application irrégulière de dynamique moléculaire opérationnelle. (Parallelization and multiprogramming for an irregular application of molecular dynamics) , 1997 .

[101]  Gerson G. H. Cavalheiro Athapascan-1 : interface générique pour l'ordonnancement dans un environnement d'exécution parallèle. (Athapascan-1 : generic scheduling interface in a parallel execution environment) , 1999 .

[102]  Andrew S. Tanenbaum,et al.  Operating systems: design and implementation , 1987, Prentice-Hall software series.

[103]  Terry Jones,et al.  An MPI-IO Interface to HPSS , 1996 .

[104]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[105]  R. C. B. Cooper,et al.  Preserving Abstraction in Concurrent Programming , 1988, IEEE Trans. Software Eng..

[106]  Michael M. Resch,et al.  Distributed Computing in a Heterogeneous Computing Environment , 1998, PVM/MPI.

[107]  A. Chien,et al.  High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[108]  Martin Rinard,et al.  The design, implementation and evaluation of Jade: a portable, implicitly parallel programming language , 1994 .

[109]  Gregory R. Andrews,et al.  An overview of the SR language and implementation , 1988, TOPL.

[110]  Jean-Louis Pazat,et al.  The Pandore data-parallel compiler and its portable runtime , 1995, HPCN Europe.

[111]  Matthew Haines,et al.  An Overview of the Opus Language and Runtime System , 1994, LCPC.

[112]  Brian N. Bershad,et al.  Using continuations to implement thread management and communication in operating systems , 1991, SOSP '91.

[113]  S. Bolis,et al.  SBP-Net: an integrated voice/data token ring LAN , 1993, Comput. Commun..

[114]  Andrea C. Arpaci-Dusseau,et al.  Parallel programming in Split-C , 1993, Supercomputing '93. Proceedings.

[115]  Rajeev Thakur,et al.  On implementing MPI-IO portably and with high performance , 1999, IOPADS '99.

[116]  Mark Smith,et al.  Beyond Multiprocessing: Multithreading the SunOS Kernel , 1992, USENIX Summer.

[117]  Denyse Baillargeon,et al.  Bibliographie , 1929 .

[118]  David L. Black Scheduling support for concurrency and parallelism in the Mach operating system , 1990, Computer.

[119]  Abhiram G. Ranade,et al.  A Framework for Analyzing Locality and Portability Issues in Parallel Computing , 1992, Heinz Nixdorf Symposium.

[120]  David Feldcamp,et al.  Parsec—a software development environment for performance oriented parallel programming , 1993 .

[121]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[122]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[123]  Hiroshi Tezuka,et al.  Pin-down cache: a virtual memory management technique for zero-copy communication , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[124]  Gilles Villard,et al.  Regular versus Irregular Problems and Algorithms , 1995, IRREGULAR.

[125]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[126]  Roger W. Hockney,et al.  F1/2: a Parameter to Characterize Memory and Communication Bottlenecks , 1989, Parallel Comput..

[127]  Kazunori Ueda,et al.  Guarded Horn Clauses , 1986, LP.

[128]  R Calkin,et al.  Portable Programming with the PARMACS Message-Passing Library , 1994, Parallel Comput..

[129]  Jean-François Méhaut,et al.  MADELEINE: an efficient and portable communication interface for RPC-based multithreaded environments , 1998, Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192).

[130]  SkjellumAnthony,et al.  A high-performance, portable implementation of the MPI message passing interface standard , 1996 .

[131]  Alex Rapaport,et al.  Mpi-2: extensions to the message-passing interface , 1997 .