Path: utzoo!mnetor!uunet!husc6!purdue!gatech!uflorida!simulation From: simulation@ufl.edu (SIMULATION DIGEST) Newsgroups: comp.simulation Subject: SIMULATION MODELING AND ANALYSIS Message-ID: <15115@uflorida.cis.ufl.EDU> Date: 22 Apr 88 14:14:14 GMT Sender: fishwick@uflorida.cis.ufl.EDU Reply-To: simulation@ufl.edu Lines: 167 Approved: fishwick@fish.cis.ufl.edu Volume: 1, Issue: 3, Fri Apr 22 10:14:06 EDT 1988 +----------------+ | CONTENTS | +----------------+ (1) SIMULATION who's who (2) Static Analysis vs. Simulation (3) Simulation at MITRE (Moving Time Window) ########################################################################## Date: Fri, 22 Apr 88 08:25:26 EDT From: jwm@stdc.jhuapl.edu (James W. Meritt) To: simulation@bikini.cis.ufl.edu Subject: SIMULATION who's who To follow up on Antoni GUASCH: I'm: James W. Meritt (Jim is fine) Johns Hopkins Applied Physics Laboratory Johns Hopkins Road Laurel, Md 20707 301-953-5000 x 4580 jwm@aplvax.jhuapl.edo I do all kinds of strange (?) stuff, but my MS concerned advanced modelling under Operations Research / Systems Analysis at the Naval Postgraduate School. I've done some continuous time-step and some event simulation in Fortran and a touch in C. Currently I'm looking (part time) into object-orientated rule-based languages, especially KEE. I've used simscript, but really wouldn't put too much faith in my ability. Disclaimer: Individuals have opinions, organizations have policy. Therefore, these opinions are mine and not any organizations! Q.E.D. jwm@aplvax.jhuapl.edu 128.244.65.5 ########################################################################## ########################################################################## Date: Fri, 22 Apr 88 08:43:28 EDT From: jwm@stdc.jhuapl.edu (James W. Meritt) To: simulation@bikini.cis.ufl.edu Subject: static analysis vs. simulation (+) CLOSED-FORM SOLUTION (-) SIMULATION (+) Gives dandy expected values for lots of situations, expecially exploiting the well-defined queueing models, for instance. (+) marginal values often fall out. (-) you might be able to, but I was much better at constructing rv generators to fit a complicated set of assumptions than explicitely defining the distribution. (-) It is easier (for me) to get marginals and resultant distributions from a simulation. Statistical analysis of multiple runs is vitally important, since I was told to shy away from any point estimate of almost anything. This might be a fallout of my (-) just above..... Ref your debatable notes: 2. As companies are coming out with visually (and object) oriented simulation products, will simulation always *cost* more than picking out formulas from someone's textbook on closed-form problem solving methods? What exactly are these "costs"? I feel like taking this one on: With simulation, if you want to do even a passable job, you have to know the properties of the system. This analysis might cost more, but sometimes you get the results without even doing the simulation just by getting ready! And you really have to be careful of those picking out "textbook" closed-form methods: 1. Your situation will seldom fit the given solution example. Do you know the differences and their impacts? 2. The problem solver might not be able to solve (or find) the appropriate formulation & will force the system to fit the methodology instead of the other way. Object-orientated methodologies, at least to me recently, really force you to look at the "objects" with with you are dealing. Understanding is ALWAYS important, no matter what method you use. ########################################################################## ########################################################################## Date: Fri, 22 Apr 88 08:35:53 EST From: sokol%mwcamis@mitre.arpa Organization: The MITRE Corp., Washington, D.C. To: simulation@bikini.cis.ufl.edu Subject: Current MITRE work -------- Our group at MITRE has been working on parallel discrete event simulations...We have developed Moving Time Window (MTW) which is an optimistic, hybrid approach to scheduling discrete simulation events for parallel execution. It requires that a simulation be partitioned into objects. Each object assumes that the messages in its event queue is a valid set of temporally ordered messages. Each simulation object is responsible for scheduling its own simulation events and maintaining its temporal integrity by using a set of scheduling constraints. Each MTW simulation object uses a set of rules to determine which events can be scheduled for parallel execution and which for sequential execution. These constraints attempt to exploit two very different kinds of parallelism: between simulation objects and within simulation objects. MTW limits the allowable local simulation time difference between simulation objects. This time difference is controlled by the size of the time window. Only those simulation events whose execution times are within the time window are potential candidates for execution. The time window may be moved up to introduce new simulation events into the execution queue when the processors begin to run out of executable events. The simulation object uses a set of constraints to determine which events in the set of potential candidate events can be scheduled for parallel execution and which must be scheduled for sequential execution. Events are examined in a strict time increasing order. The constraints act to preserve simulation event causality relationships. This is necessary because one task may depend on the effects of another. Moving Time Window is an optimistic approach. Sometimes this optimism is not justified. On those occasions, a message will arrive with a time stamp earlier than the object's local simulation time but later than the beginning of the time window. This type of event is called a time anomalous event. MTW uses three strategies to deal with anomalous events. The first strategy is to reconstruct temporally correct information using historical records. The second strategy is to initiate temporal rollback and reconstruct a more correct event history. The third strategy is to do nothing, as some types of anomalous events do not require any action. The goal of this constraint based strategy selection is to minimize the cost of anomalous events in synchronization overhead while maintaining temporal integrity. We have also developed a parallel object-oriented language, Possum in order to support our parallel simulations. Possum is superficially similar to ROSS, an object-oriented language developed at RAND specifically for simulations. The main resemblance between ROSS and Possum is that messages can be stated in an English-like format. Possum allows multiple inheritance. Possum is implemented in Butterfly Scheme, a parallel Lisp dialect implemented on BBN's Butterfly multiprocessor. Parallel processing and the MTW scheduling algorithm have increased our test case simulation speed considerably. Early test simulations run on Butterfly 68000 nodes using interpreted Butterfly Scheme indicated a speedup of 300 percent due to Moving Time Window. We have just completed the upgrading our machine to 68020 nodes and compiled Scheme. Our existing simulations are running 20 times faster. A simulation which ran in over 2 hours now runs in less than 10 minutes. Lisa Sokol sokol@mitre.arpa (703)883-7855 ########################################################################## ######################## END OF SIMULATION DIGEST ########################