| Sponsor |
Dr. Chris Carothers chrisc@cc.gatech.edu |
| Area | Systems & Architecture |
The purpose of this project is to familiarize new students with
the area of Parallel and Distributed Simulation. This project will
entail developing a simple application that can be executed atop an
existing parallel/distributed simulation engine, known as Georgia Tech
Time Warp and conducting a performance evaluation of that application.
Georgia Tech Time Warp (GTW) is an optimized parallel and
distributed simulation executive based on Jefferson's Time Warp
synchronization mechanism. Here, the simulation model is divided into
logical processes (LPs) and these LPs communicate by exchanging time
stamped messages. For example, in modeling the flow of money in and
out of a bank, a logical process might be a "teller" and events among
"tellers" would denote the arrival and departures of customers from a
tellers line or queue of customers. Shorter execution times are
achieved by mapping LPs to different processors and allow LP events to
be processed concurrently. However, to ensure that events are
processed in time stamp order a synchronization mechanism is required.
Under the Time Warp mechanism, LPs are allowed to continuously process
events in time stamp order, however should an LP schedule or send a
straggler event that is in the "past" of the destination LP, that LP
is rolled back to a point just prior in virtual time to the straggler
event. By rolling the destination LP back, we effectively erase the
incorrect event computations.
APPLICATION:
The application is a benchmark program, called "Sharks World".
Here, the ocean is divided into an MxM torus (i.e, corners and edges of
ocean wrap around to meet each other) and is consists of fish and sharks.
A shark spends its lifetime swimming, sensing and attacking fish. The
parameter A is a shark's effective attacking range. When a shark is A
units of a fish, the fish is eaten. See [3] for more details.
In terms of implementing the application, Grids should be
mapped as LPs, and the movement of fish and sharks between Grids
are models as time stamped event messages. Each Grid should contain
a list of fish and sharks and there relative positions and at regular
time intervals determine which fish will be eaten.
PERFORMANCE EVALUATION:
After having implemented the application, you will need to
conduct a performance evaluation of your implementation on the shared
memory multiprocessor machine, Nighthawk. Here, you will vary the
number of grid sectors (M), the number fish, and number sharks, and
the # of processors used. Upon completing your experiments, you will
need to write a report that presents your experimental results. Also,
include the source code of your shark's world application as an
appendix item.
POINT OF CONTACT (POC):
Chris Carothers (chrisc@cc)
SOFTWARE/READING LIST:
The following software and papers can be obtained from Chris:
[1] GTW Software and User's Manual.
[2] "Parallel Discrete Event Simulation", by Richard Fujimoto,
Oct 1990, Vol. 33, No. 10. CACM.
[3] "The Sharks World (A study in distributed simulation design)"
by D. Conklin, J. Cleary, and B. Unger. Distributed Simulation,
Vol. 22, No. 2, January, 1990, SCS Simulation Series.