DOC PREVIEW
A Modular Client-Server Discrete Event Simulator for Networked Computers

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

A Modular Client-Server Discrete Event Simulator for Networked Computers∗David Wangerin, Christopher DeCoro, Luis M. Campos, Hugo Coyote and Isaac D. Scherson{dwangeri, cdecoro, lmcampos, coyote, isaac}@ics.uci.eduDepartment of Information and Computer ScienceUniversity of California, IrvineIrvine, CA 92697-3425, USAAbstractA novel simulation framework is described that uses aclient-server paradigm combined with a discrete event sim-ulator to allow the simulation modules to be distributedaround a centralized core. The framework also simplifiesthe creation of new simulations by achieving the goals ofbeing general purpose, easily extensible, modular, and dis-tributed. A prototype of the Client-Server Discrete EventSimulator (CS-DEVS) has been developed as a proof ofconcept. Two examples are presented to demonstrate thepower of the new paradigm and prove the correctness ofCS-DEVS. The first example is a modeling of the classicalbank queuing simulation. The second example models thesimulation of a distributed computing system, with completemodules for workload generation, architecture description,and scheduling and load balancing algorithms.1. IntroductionIn the current simulation literature, few simulators aredesigned to be general purpose enough to serve a widerange of discrete event simulation tasks while at the sametime remaining easily extensible and having features suchas network transparency and an open and well-defined in-terface. To fill this need, we have developed the concept ofthe Client-Server Discrete Event Simulator (CS-DEVS) andimplemented a preliminary prototype.CS-DEVS is a general-purpose discrete event simulatorframework that allows for distributed computation over anetwork. It operates from a centralized core that servesto synchronize and facilitate communication between a setof distributed modules (event generators, resource handlers,etc.) in addition to being the discrete event manager. Thus,CS-DEVS is comprised of both a simulator core and a set∗This work was supported in part by NASA-JPL and NASA-GSFC un-der grants number 1216595 and NAG5-9695 respectivelyof standard runtime libraries for each module. The modulescan be either used from a repository of pre-existing mod-ules or written from a template to perform a specific task.The methods for communicating through the core are welldefined, so modules created by different users can seam-lessly and easily interact with each other. CS-DEVS allowsdynamic runtime binding between disparate modules. Thisbinding can be between a set of modules on a single ma-chine or on machines located anywhere on the Internet.It is important to note that modules do not communi-cate directly with each other; rather all communications aredirected through the core. The core handles all messagesto and from modules, as well as the timing of when mes-sages are sent. Indirect communication is a key concept toCS-DEVS, as modules do not know and do not care aboutwhom they are communicating with. To realize the useful-ness of indirect communication, consider a situation wheremultiple modules are generating messages of the same type.Since receiving modules do not care about the source ofmessages, all the messages are handled identically, regard-less of which module generated each message.CS-DEVS, like all discrete event simulators, handlessimulation time in a non-linear fashion. Execution time isnot dependent on the length of the simulation time, but isdependent on the number of events that occur in the sim-ulation. A second effect of using discrete events is thatmodules can submit events before they will actually hap-pen. Since modules are not dependant on a clock, eachmodule is able to execute at maximum possible speed. Thecore decides when events are triggered and thus synchro-nizes all modules without using an explicit clock or othertimer methods. Modules do not act randomly by submit-ting events at undefined times, but rather submit eventsin response to other events. This method gives consistentbehavior for all simulations and makes CS-DEVS robustenough to be capable of handling delays in communicationsthat could cause synchronization problems in other styles ofsimulators.This paper details the theory and implementation of CS-DEVS and displays how simulations can take advantage ofthe distributed nature of CS-DEVS. Two examples are giventhat both demonstrate the process of developing simulationsfor the framework and validate the advantageous features ofCS-DEVS.2. Related work2.1. YADDESYaddes is an acronym for Yet Another Distributed Dis-crete Event Simulator [4]. The Yaddes system is a tool forconstructing discrete event simulations. The principle fea-tures of the Yaddes system are the Yaddes simulation spec-ification language and compiler, libraries that support timesynchronization methods, a pseudorandom number gener-ator package, and a distributed statistics collection and re-porting package. The Yaddes user prepares a specificationof the desired simulation. Yaddes then compiles the specifi-cation into a collection of C language subroutines. Thesesubroutines are then compiled using the C compiler andthen linked to a synchronization method library to form acomplete program that performs the desired simulation.The advantage of the Yaddes system over other discreteevent simulation packages is that it uses a modeling ap-proach that supports several different synchronization meth-ods. In particular, the synchronization methods currentlyprovided are: sequential (event list driven) simulation, dis-tributed simulation using multiple event lists, conservative(ChandyMisra) distributed simulation, and optimistic (vir-tual time based) distributed simulation. The Yaddes userneed not be concerned with the synchronization methodused. In fact, every Yaddes specification can be executedusing any method merely by linking to the appropriate li-brary. Provided that the specifications are coded properly,the results of a simulation are independent of the synchro-nization method used.2.2. OMNeT++OMNeT++ is a discrete event simulation tool [6]. It isprimarily designed to simulate computer networks, multi-processors and other distributed systems, but it may be use-ful for modeling other systems too. The goal of the OM-NeT++ project is to create a free discrete event simulationsystem that can be a real alternative to expensive commer-cial products in the same application area. OMNeT++ iscomprised of several components, including a simulationkernel


A Modular Client-Server Discrete Event Simulator for Networked Computers

Download A Modular Client-Server Discrete Event Simulator for Networked Computers
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view A Modular Client-Server Discrete Event Simulator for Networked Computers and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view A Modular Client-Server Discrete Event Simulator for Networked Computers 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?