Si: A Lightweight-Process Interaction Simulation System

The Si lightweighlrprocess based system for simulating process interadions is an enhancement to the C programming language in t.he form of library primitives with sets of predefined data structures. The Si system encapsulates an existing lightweight-process library to provide a discrete-event simulation environment supporting the process view. It was developed as a research testbed for investigating methods which support simulations efficiently. Easy extensions and modifications to the Si system are a major design objective, accomplished through modularity and layering. This paper describes the system, our experiences with its implementation, and its applicability to simulation modeling. We report on performance measurements of different implementations of the simulation scheduler, and of different algorithms for simulating service disciplines. ~ Research supported in part by NSF a.ward CCR-9102331, NATO award 900108 and the Mathematical Sciences Section of Oak Ridge Nalional Laboratory under contract contract DE-ACOS-8010R21400 with Marlin Marietta Energy Systems, Inc.

[1]  L. Schrage,et al.  Queueing systems, Vol. I: Theory , 1977, Proceedings of the IEEE.

[2]  Vernon Rego,et al.  Efficient Techniques for Simulating Service Disciplines , 1992 .

[3]  M. H. MacDougall Simulating computer systems: techniques and tools , 1989 .

[4]  Vernon Rego,et al.  EcliPse: A system for high performance concurrent simulation , 1991, Softw. Pract. Exp..

[5]  Giorgio Bruno Using Ada for discrete event simulation , 1984, Softw. Pract. Exp..

[6]  William R. Franta,et al.  The process view of simulation , 1977 .

[7]  J. Kriz,et al.  Extension of Pascal by coroutines and its application to quasi‐parallel programming and simulation , 1980, Softw. Pract. Exp..

[8]  George Edwards,et al.  Modeling and simulation of networks using CSIM , 1992, Simul..

[9]  Siegfried Treu,et al.  The hierarchical simulation language HSL: a versatile tool for process-oriented simulation , 1991, TOMC.

[10]  Vernon J. Rego A Note on Two Simulation Benchmarks , 1988 .

[11]  Leonard Kleinrock,et al.  Queueing Systems - Vol. 1: Theory , 1975 .

[12]  William M. McCormack,et al.  Analysis of future event set algorithms for discrete event simulation , 1981, CACM.

[13]  Herb Schwetman,et al.  Using CSIM to model complex systems , 1988, 1988 Winter Simulation Conference Proceedings.

[14]  O. J. Dahl,et al.  Simula Begin , 1979 .

[15]  Daniel E. House A note on two simulation benchmarks , 1989, SIML.

[16]  Philippe Gautron Porting and Extending the C++ Task System with the Support of Lightweight Processes , 1991, C++ Conference.

[17]  Krzysztof Pawlikowski,et al.  Telecommunications: Protocols and Design , 1991 .

[18]  Douglas Comer,et al.  Operating system design: the XINU approach , 1984 .

[19]  A. A. Crane,et al.  An introduction to the regenerative method for simulation analysis , 1977 .

[20]  Herb Schwetman,et al.  CSIM: a C-based process-oriented simulation language , 1986, WSC '86.

[21]  Vaidy S. Sunderam,et al.  Superconcurrent simulation of polymer chains on heterogeneous networks , 1992, Proceedings Supercomputing '92.

[22]  Frank Mueller,et al.  A Library Implementation of POSIX Threads under UNIX , 1993, USENIX Winter.

[23]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[24]  Ravi Sharma,et al.  Modular design for simulation , 1988, Softw. Pract. Exp..