Automated distributed simulation in PTOLEMY II

Despite the well known advantages of distributed processing for intensive computations like simulation, frameworks often fail to exploit them. A distributed simulation is harder to develop than a sequential one, because it is necessary to interface and map activities to processors and handle the ensuing communication and synchronization problems. Very often the designer has to explicitly specify extra information concerning distribution for the framework to make an effort to exploit parallelism. This paper presents Automated Distributed Simulation (ADS), which allows the designer to forget about distribution concerns while benefiting from the advantages. ADS relies on the actor formalism. It is realized as an open source implementation for the Ptolemy II simulation framework. Experiments compare different topologies, granularities and number of blocks, achieving linear speedups for practical cases. We implement pipelining techniques so iterative models with purely sequential topologies can benefit from ADS.

[1]  Edward A. Lee Modeling concurrent real-time processes using discrete events , 1999, Ann. Softw. Eng..

[2]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[3]  Melvin Fitting,et al.  First-Order Logic and Automated Theorem Proving , 1990, Graduate Texts in Computer Science.

[4]  Tzong-Jer Yang,et al.  A comparison of clustering heuristics for scheduling dags on multiprocessors , 1990 .

[5]  Florence Maraninchi,et al.  The Argos Language: Graphical Representation of Automata and Description of Reactive Systems , 2007 .

[6]  A. O. Fernandes,et al.  Hardware-software codesign of embedded systems , 1998, Proceedings. XI Brazilian Symposium on Integrated Circuit Design (Cat. No.98EX216).

[7]  David R. Karger,et al.  Kademlia: A peer-to-peer information system based on the xor metric , 2003 .

[8]  David G. Messerschmitt,et al.  A Tool for Structured Functional Simulation , 1984, IEEE Journal on Selected Areas in Communications.

[9]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[10]  Joseph D. Gradecki Mastering JXTA: Building Java Peer-to-Peer Applications , 2002 .

[11]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[12]  Randy Brown,et al.  Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem , 1988, CACM.

[13]  Anders P. Ravn,et al.  AsmL Specification of a Ptolemy II Scheduler , 2003, Abstract State Machines.

[14]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[15]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[16]  Edward A. Lee,et al.  A HIERARCHICAL MULTIPROCESSOR SCHEDULING FRAMEWORK FOR SYNCHRONOUS DATAFLOW GRAPHS , 1995 .

[17]  Edward A. Lee,et al.  Order and containment in concurrent system design , 2000 .

[18]  Shuvra S. Bhattacharyya,et al.  Compiling dataflow programs for digital signal processing , 1995 .

[19]  Edward A. Lee,et al.  Declustering: A New Multiprocessor Scheduling Technique , 1993, IEEE Trans. Parallel Distributed Syst..

[20]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[21]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[22]  Isaac D. Scherson,et al.  Efficient Task Scheduling Heuristic for Multiprocessor Systems , 2007 .

[23]  Kuo-Chung Tai,et al.  Deadlock analysis of synchronous message-passing programs , 1999, 1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[24]  Stephen A. Edwards,et al.  Languages for Digital Embedded Systems , 2000 .

[25]  Edward A. Lee,et al.  Timed multitasking for real-time embedded software , 2003 .

[26]  R.M. Fujimoto,et al.  Parallel and distributed simulation systems , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[27]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture) , 2008 .

[28]  Richard Campbell Managing AFS: The Andrew File System , 1998 .

[29]  Edward A. Lee,et al.  Hierarchical finite state machines with multiple concurrency models , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[30]  Joseph Mitola,et al.  Cognitive Radio An Integrated Agent Architecture for Software Defined Radio , 2000 .

[31]  Anders P. Ravn,et al.  Using AsmL as an executable specification language: Synhchronous Dataflow Schedulers in Ptolemy II , 2004 .

[32]  Joseph Mitola An Integrated Agent Architecture for Software Defined Radio , 2000 .

[33]  Flemming Nielson,et al.  Semantics with applications - a formal introduction , 1992, Wiley professional computing.

[34]  Tse-Yun Feng,et al.  A Vertically Layered Allocation Scheme for Data Flow Systems , 1991, J. Parallel Distributed Comput..

[35]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[36]  Tammy Noergaard,et al.  Embedded Software , 2009, Encyclopedia of Biometrics.

[37]  P. Salle,et al.  AL 1: a language for distributed applications , 1988, [1988] Proceedings. Workshop on the Future Trends of Distributed Computing Systems in the 1990s.

[38]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[39]  KwokYu-Kwong,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999 .

[40]  Behrooz Shirazi,et al.  Analysis and Evaluation of Heuristic Methods for Static Task Scheduling , 1990, J. Parallel Distributed Comput..

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

[42]  M. Katz,et al.  Cooperative Techniques and Principles Enabling Future 4G Wireless Networks , 2005, EUROCON 2005 - The International Conference on "Computer as a Tool".

[43]  Paul Whitaker,et al.  The Simulation of Synchronous Reactive Systems In Ptolemy , 2001 .

[44]  Edward A. Lee,et al.  DSP Processor Fundamentals: Architectures and Features , 1997 .

[45]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.

[46]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[47]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[48]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[49]  David Coley,et al.  Introduction to Genetic Algorithms for Scientists and Engineers , 1999 .

[50]  Dror G. Feitelson,et al.  Job Scheduling in Multiprogrammed Parallel Systems , 1997 .

[51]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[52]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II) , 2008 .

[53]  Antonio Polo Márquez,et al.  Parallel And Distributed Programming With An Actor-based Language , 1994, Proceedings. Second Euromicro Workshop on Parallel and Distributed Processing.

[54]  Jan Broeckhove,et al.  On Using Jini and JXTA in Lightweight Grids , 2005, EGC.

[55]  Frank Vahid,et al.  Embedded system design - a unified hardware / software introduction , 2001 .

[56]  J. C. Huang,et al.  Generalized loop-unrolling: a method for program speedup , 1999, Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122).

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

[58]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[59]  Ronald L. Graham,et al.  Optimal scheduling for two-processor systems , 1972, Acta Informatica.

[60]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[61]  Edward A. Lee,et al.  Gabriel: A Design Environment for Programmable DSPs , 1989, 26th ACM/IEEE Design Automation Conference.

[62]  Stephen A. Edwards,et al.  The specification and execution of heterogeneous synchronous reactive systems , 1998 .

[63]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[64]  Edward A. Lee,et al.  Modeling radar systems using hierarchical dataflow , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[65]  Paul Le Guernic,et al.  Implementation of the data-flow synchronous language SIGNAL , 1995, PLDI '95.

[66]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[67]  Edward A. Lee,et al.  Dynamic-level scheduling for heterogeneous processor networks , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[68]  Edward A. Lee,et al.  Incremental Checkpointing with Application to Distributed Discrete Event Simulation , 2006, Proceedings of the 2006 Winter Simulation Conference.

[69]  Behrooz Parhami,et al.  Introduction to Parallel Processing: Algorithms and Architectures , 1999 .

[70]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[71]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains) , 2008 .

[72]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[73]  Giuseppe Del Castillo,et al.  The ASM Workbench - A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models Tool Demonstration , 2001, TACAS.

[74]  Stewart Robinson,et al.  Simulation: The Practice of Model Development and Use , 2004 .

[75]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[76]  Edward A. Lee,et al.  Ptolemy: A Mixed-Paradigm Simulation/Prototyping Platform in C , 1991 .