Maya: A Simulation Platform for Parallel Architectures and Distributed Shared Memories

Maya is a simulation platform for evaluating the performance of parallel programs on parallel architectures with different memory coherence protocols. It uses the communication library PVM to ensure portability. Rapid prototyping of different memory protocols of varying degrees of coherence is possible and the impact of these protocols on the performance of application programs can be studied. We describe the design of Maya and the simulation mechanism briefly. Some of the performance results on architectural simulation with different memory coherence protocols are presented. Parallel discrete event simulation techniques are adopted for the execution-driven simulation of parallel architectures.

[1]  David W. Wall,et al.  Generation and analysis of very long address traces , 1990, ISCA '90.

[2]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[3]  Eric A. Brewer,et al.  PROTEUS: a high-performance parallel-architecture simulator , 1992, SIGMETRICS '92/PERFORMANCE '92.

[4]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[5]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[6]  Gil Neiger,et al.  Causal Memory , 1991, WDAG.

[7]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[8]  Y.-B. Lin,et al.  Exploiting Lookahead in Parallel Simulation , 1990, IEEE Trans. Parallel Distributed Syst..

[9]  M. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[10]  Phillip B. Gibbons A more practical PRAM model , 1989, SPAA '89.

[11]  Mark Horowitz,et al.  Cache performance of operating system and multiprogramming workloads , 1988, TOCS.

[12]  Anoop Gupta,et al.  SPLASH: Stanford parallel applications for shared-memory , 1992, CARN.

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

[14]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[15]  John L. Hennessy,et al.  Multiprocessor Simulation and Tracing Using Tango , 1991, ICPP.

[16]  James R. Larus,et al.  The Wisconsin Wind Tunnel: virtual prototyping of parallel computers , 1993, SIGMETRICS '93.

[17]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

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