A Framework for the Simulation of Complex Real-Time Systems

Simulation is often used in the analysis of complex computing systems. The design and validation of complex real-time systems demands capabilities not found in existing simulation environments. We categorize these capabilities into three major functional areas: search control, the execution engine, and output analysis. Search control is an important topic often treated lightly in simulation environments for real-time systems. The search controller chooses values for variable input parameters and launches simulations to determine the performance of the system under different sets of parameter values. The search control framework presented in this thesis allows both conventional design search and also validation search; the latter is required for the deterministic validation of real-time systems. Previous simulation environments did not make it easy to incorporate the wide variety of different scheduling paradigms and algorithms found in large, modern real-time systems. The execution engine framework described in this thesis provides a simple, flexible architecture for incorporating complex schedulers that address one or more dimensions of scheduling. Furthermore, the execution engine framework allows a fully dynamic simulation where tasks migrate, schedulers are changed on-the-fly, etc. The framework also allows hierarchical specification and execution of the system being modelled, which facilitates both information hiding and hierarchical scheduling. The framework thus allows an integrated approach to the analysis of complex real-time systems. No simulation is useful, however, without the ability to easily extract useful high-level information from the voluminous set of low-level events which comprises the basic output of a discrete-event simulator. Output analysis is usually given only cursory treatment in existing simulation environments for real-time systems. The output analysis framework allows the specification of patterns of events which are detected in linear time as the simulation executes. Statistics computed when patterns are matched are used for run-length control and to help direct the search. Finally, a reference implementation of the framework has been created and used in a sample case study. The reference implementation validates the architectural claims made for the framework, while its use in the case study validates the reference implementation itself.

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

[2]  Diane P. Bischak,et al.  Object-oriented simulation , 1991, 1991 Winter Simulation Conference Proceedings..

[3]  Peter Wall Advanced C++ , 1993, TOOLS.

[4]  B. Kao,et al.  On building distributed soft real-time systems , 1995, Proceedings of Third Workshop on Parallel and Distributed Real-Time Systems.

[5]  Alan Burns,et al.  Scheduling slack time in fixed priority pre-emptive systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[6]  Jane W.-S. Liu,et al.  Scheduling Periodic Jobs That Allow Imprecise Results , 1990, IEEE Trans. Computers.

[7]  V. Millan-Lopez,et al.  Using the imprecise-computation technique for congestion control on a real-time traffic switching element , 1994, Proceedings of 1994 International Conference on Parallel and Distributed Systems.

[8]  Jun Sun,et al.  Synchronization protocols in distributed real-time systems , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[9]  Alexander D. Stoyen A Schedulability Analyzer for Real-Time Euclid , 1987, RTSS.

[10]  Springer W. Cox GPSS World: A brief preview , 1991, 1991 Winter Simulation Conference Proceedings..

[11]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[12]  Peter D. Welch,et al.  Toward a higher level, output analysis interface , 1991, 1991 Winter Simulation Conference Proceedings..

[13]  Daniel A. Reed,et al.  Scalable Performance Environments for Parallel Systems , 1991, The Sixth Distributed Memory Computing Conference, 1991. Proceedings.

[14]  Insup Lee,et al.  Communicating shared resources: a model for distributed real-time systems , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[15]  Herb Schwetman Hybrid simulation models of computer systems , 1978, CACM.

[16]  Jacques Cohen,et al.  Concurrent object-oriented programming , 1993, CACM.

[17]  Yuri Merkuryev,et al.  Knowledge Based Simulation Systems - A Review , 1994, Simul..

[18]  L. Schruben,et al.  Proceedings of the 1989 winter simulation conference , 1989 .

[19]  W. Chang,et al.  Message-Oriented Discrete Event Simulation , 1994, Simul..

[20]  Wei Kuan Shih,et al.  Algorithms for Scheduling Imprecise Computations with Timing Constraints , 1991, SIAM J. Comput..

[21]  Robert C. Crain,et al.  Industrial strength simulation using GPSS/H , 1994, WSC '94.

[22]  Jay Kurt Strosnider Highly responsive real time token rings , 1988 .

[23]  Niels Houbak SIL - a Simulation Language: User's Guide , 1990 .

[24]  J.A. Wehbeh,et al.  Efficient simulation of switch-level circuits in a hierarchical simulation environment , 1994, Proceedings of 4th Great Lakes Symposium on VLSI.

[25]  Hassan Rajaei,et al.  Event scheduling in window based parallel simulation schemes , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

[26]  Philip Kiviat A brief introduction to discrete-event simulation programming languages , 1993, HOPL-II.

[27]  Hossein Saiedian,et al.  A concurrent object-oriented framework for simulation of network protocols , 1993, J. Syst. Softw..

[28]  Robert G. Sargent A historical view of hybrid simulation/analytic models , 1994, Proceedings of Winter Simulation Conference.

[29]  David T. Sturrock,et al.  Introduction to SIMAN/Cinema , 1992, WSC '92.

[30]  Riccardo Bettati,et al.  Use of Imprecise Computation to Enhance Dependability of Real-Time Systems , 1994 .

[31]  Rhan Ha,et al.  Validating timing constraints in multiprocessor and distributed systems , 1995 .

[32]  David C. Luckham,et al.  Validating discrete event simulations using event pattern mappings , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[33]  W.-S. Liu Algorithms for scheduling tasks with input error and end-to-end deadlines , 1994 .

[34]  Michael B. Steer,et al.  Hierarchical simulation of high speed digital interconnects using a packaging simulator , 1994, 1994 Proceedings. 44th Electronic Components and Technology Conference.

[35]  David M. Lewis A hierarchical compiled code event-driven logic simulator , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[36]  R. Suoranta,et al.  The design and simulation of complex multitechnology systems , 1990, 1990 IEEE International Conference on Systems Engineering.

[37]  Yoh-Han Pao,et al.  A guided evolutionary computation technique as function optimizer , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[38]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[39]  Robert Rönngren,et al.  Impact of event scheduling on performance of time warp parallel simulations , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[40]  Yechiam Yemini,et al.  NEST: a network simulation and prototyping testbed , 1990, CACM.

[41]  Yi-Bing Lin,et al.  Parallel Independent Replicated Simulation on a Network of Workstations , 1994, PADS '94.

[42]  John S. Carson,et al.  Process-interaction simulation languages , 1985 .

[43]  Edward C. Russell SIMSCRIPT II.5 and SIMGRAPHICS tutorial , 1993, WSC '93.

[44]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[45]  Alan Burns,et al.  STRESS: A simulator for hard real‐time systems , 1994, Softw. Pract. Exp..

[46]  Wei-Kuan Shih,et al.  Algorithms for scheduling imprecise computations , 1991, Computer.

[47]  Sung-Mo Kang,et al.  Hierarchical simulation of hot-carrier induced damages in VLSI circuits , 1991, Proceedings of the IEEE 1991 Custom Integrated Circuits Conference.

[48]  Ulrich Wilhelm Thonemann,et al.  Finding improved simulated annealing schedules with genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[49]  Edward C. Russell SIMSCRIPT II.5 and SIMGRAPHICS: a tutorial , 1988, WSC '88.

[50]  Timothy Thomasma,et al.  Object oriented programming languages for developing simulation-related software , 1990, 1990 Winter Simulation Conference Proceedings.

[51]  Riccardo Bettati,et al.  End-to-end scheduling to meet deadlines in distributed systems , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[52]  Herb Schwetman CSIM17: a simulation model-building toolkit , 1994, Proceedings of Winter Simulation Conference.

[53]  Alexander Tuzhilin,et al.  SimTL: a simulation language based on temporal logic , 1992 .

[54]  Yi-Bing Lin,et al.  A Parallelism Analyzer for Conservative Parallel Simulation , 1995, IEEE Trans. Parallel Distributed Syst..

[55]  Philip K. McKinley,et al.  Supporting a Simulation Environment with OpenSim , 1993, Simul..

[56]  Brian Harrington,et al.  A Portable Process-Oriented Compiler For Event Driven Simulation , 1993, Simul..

[57]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[58]  S. C. Mathewson,et al.  The Application of Program Generator Software and Its Extensions to Discrete Event Simulation Modeling , 1984 .

[59]  Wayne P. Burleson,et al.  The Spring scheduling co-processor: Design, use, and performance , 1993, 1993 Proceedings Real-Time Systems Symposium.

[60]  Love H. Seawright,et al.  VM/370 - A Study of Multiplicity and Usefulness , 1979, IBM Syst. J..

[61]  Hector Garcia-Molina,et al.  Deadline Assignment in a Distributed Soft Real-Time System , 1997, IEEE Trans. Parallel Distributed Syst..

[62]  J. George Shanthikumar,et al.  A Unifying View of Hybrid Simulation/Analytic Models and Modeling , 1983, Oper. Res..

[63]  Jun Sun,et al.  Perts: a Prototyping Environment for Real-Time Systems , 1996, Int. J. Softw. Eng. Knowl. Eng..

[64]  Fp Genc SIMDL - A DISCRETE SYSTEM SIMULATION LANGUAGE , 1990 .

[65]  Klara Nahrstedt,et al.  Multimedia: Computing, Communications and Applications , 1994 .

[66]  D. Adler,et al.  Genetic algorithms and simulated annealing: a marriage proposal , 1993, IEEE International Conference on Neural Networks.

[67]  Hassan Rajaei,et al.  Design issues in parallel simulation languages , 1993, IEEE Design & Test of Computers.

[68]  Herbert Bauer,et al.  Dynamic load balancing of a multi-cluster simulator on a network of workstations , 1995, PADS.

[69]  Hideyuki Tokuda,et al.  ARTS: a distributed real-time kernel , 1989, OPSR.

[70]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[71]  Rajive L. Bagrodia,et al.  Maisie: A Language for the Design of Efficient Discrete-Event Simulations , 1994, IEEE Trans. Software Eng..

[72]  J. Blaswicz Selected topics in scheduling theory , 1987 .

[73]  Daniel G. Saab,et al.  CRIS: a test cultivation program for sequential VLSI circuits , 1992, ICCAD.

[74]  F. Wieland,et al.  Parallel discrete-event simulation (PDES): a case study in design, development, and performance using SPEEDES , 1995, Proceedings 9th Workshop on Parallel and Distributed Simulation (ACM/IEEE).

[75]  Jean J. O'Reilly Introduction to SLAM-II and SLAMSYSTEM , 1993, WSC '93.

[76]  Derek R. Wilson,et al.  A methodology for the decomposition of discrete event models for parallel simulation , 1993, 1993 Euromicro Workshop on Parallel and Distributed Processing.

[77]  Edward A. Billard,et al.  Q-Sim: a GUI for a queueing simulator using Tcl/Tk , 1994, SOEN.