Parallel and Distributed Programs

Parallel and distributed systems consist of multiple processors that can communicate with each other. Languages for programming such systems support constructs for expressing concurrency and communication. In this chapter, we will study how such languages can be implemented. As we will see, the presence of multiple processors introduces many new problems for a language implementer.

[1]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[2]  Dieter Kranzlmüller,et al.  Rolt/sup MP/-replay of Lamport timestamps for message passing systems , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[3]  Michel Raynal,et al.  Detecting atomic sequences of predicates in distributed computations , 1993, PADD '93.

[4]  Michel Raynal,et al.  A unified framework for the specification and run-time detection of dynamic properties in distributed computations , 1996, J. Syst. Softw..

[5]  Jeffrey K. Hollingsworth,et al.  An API for Runtime Code Patching , 2000, Int. J. High Perform. Comput. Appl..

[6]  Koen De Bosschere,et al.  Record/replay for nondeterministic program executions , 2003, CACM.

[7]  José C. Cunha,et al.  A Framework to support Parallel and Distrubuted Debugging , 1998, HPCN Europe.

[8]  Henryk Krawczyk,et al.  Analysis and Testing of Distributed Software Applications , 1998 .

[9]  José C. Cunha,et al.  Parallel program development for cluster computing: methodology, tools and integrated environments , 2001 .

[10]  Ana Paula Cláudio,et al.  Modelo Conceptual para o Depuramento de Programas Distribuídos por Troca de Mensagens , 2003 .

[11]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

[12]  José C. Cunha,et al.  Control and Debugging of Distributed Programs Using Fiddle , 2003, ArXiv.

[13]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[14]  Peter C. Bates Debugging Heterogeneous Distributed Systems Using Event-Based Models of Behavior , 1995, ACM Trans. Comput. Syst..

[15]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[16]  Larry D. Wittie Debugging distributed C programs by real time reply , 1988, PADD '88.

[17]  Michel Raynal,et al.  Specification and Verification of Dynamic Properties in Distributed Computations , 1995, J. Parallel Distributed Comput..

[18]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[19]  José C. Cunha,et al.  Fiddle: A Flexible Distributed Debugging Architecture , 2001, International Conference on Computational Science.

[20]  Keith Marzullo,et al.  Consistent detection of global predicates , 1991, PADD '91.

[21]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[22]  Jacques Chassin de Kergommeaux,et al.  Pajé: An Extensible Environment for Visualizing Multi-threaded Programs Executions , 2000, Euro-Par.

[23]  Richard M. Stallman,et al.  Debugging with GDB: The GNU Source-Level Debugger , 1999 .

[24]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[25]  José C. Cunha,et al.  Supporting On-line Distributed Monitoring and Debugging , 2001, Scalable Comput. Pract. Exp..

[26]  Péter Kacsuk,et al.  Software Engineering for Parallel Processing , 1994 .

[27]  Robert H. B. Netzer Trace Size vs. Parallelism in Trace-and-Replay Debugging of Shared-Memory Programs , 1993, LCPC.

[28]  James H. Fetzer Program verification: the very idea , 1988, CACM.

[29]  José C. Cunha,et al.  Using DDBG to Support Testing and High-level Debugging Interfaces , 1998, Comput. Artif. Intell..

[30]  Michael T. Heath,et al.  ParaGraph: A Tool for Visualizing Performance of Parallel Programs , 2007 .

[31]  Robert Hood The p2d2 project: building a portable distributed debugger , 1996, SPDT '96.

[32]  Péter Kacsuk,et al.  A Graphical Development and Debugging Environment for Parallel Programs , 1997, Parallel Comput..

[33]  Henryk Krawczyk,et al.  An integrated testing and debugging environment for parallel and distributed programs , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[34]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[35]  José C. Cunha,et al.  The PDBG process-level debugger for parallel and distributed programs , 1998, SPDT '98.

[36]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[37]  José C. Cunha,et al.  An experiment in tool integration: The DDBG parallel and distributed debugger , 1999, J. Syst. Archit..

[38]  Vijay K. Garg,et al.  Detection of global predicates: Techniques and their limitations , 1998, Distributed Computing.

[39]  Henryk Krawczyk,et al.  Interactive testing tool for parallel programs , 1996, Software Engineering for Parallel and Distributed Systems.

[40]  Alexander I. Tomlinson,et al.  Detecting relational global predicates in distributed systems , 1993, PADD '93.