------------------------------------------------------------------------

Distributed Simulation

------------------------------------------------------------------------

Sponsor:Richard Fujimoto, fujimoto@cc.gatech.edu, 319 CoC Bldg.

Area:  Systems / Parallel & Distributed Simulation

------------------------------------------------------------------------

Problem

Distributed simulation concerns executing simulation programs over multiple processor computer systems, e.g., parallel computers or workstations connected by a network.  Contemporary approaches to realizing these systems utilize middleware software that is layered between the operating system and application.  The purpose of this project is to familiarize you with the types of services typically provided to support distributed simulation middleware, e.g., time management services to ensure proper ordering of messages.  The objective is to complete a performance evaluation study of a particular middleware software package called the Federated Simulations Development Kit (FDK). Your experiments should be performed on two workstations in the laboratory.  Some programming in C or C++ will be required.  To complete this project:

1.              Read the following overview papers:

·      A survey of parallel discrete event simulation techniques: R. M. Fujimoto, “Parallel Discrete Event Simulation,” Communications of the ACM, Vol. 33, No. 10, pp. 30-53, October 1990.

·      An introduction to distributed simulation middleware services used in the Department of Defense High Level Architecture: R. M. Fujimoto, “Time Management in the High Level Architecture,” Simulation, Vol. 71, No. 6, pp. 388-400, December 1998.

2.              Install a copy of the FDK package, by sending e-mail to fdk@cc.gatech.edu to get a copy.  See http://www.cc.gatech.edu/computing/pads/software.html for more information on this package and how to install it.

3.              Your performance tests should focus on the object management services (e.g., Update Attribute Values and Reflect Attribute Values) and the time management services (e.g., Time Advance Request and Time Advance Grant).  Define a set of at least three metrics to be used to evaluate the performance of these services.  Develop one or more test program(s) that demonstrates use of FDK distributed simulation services and collects measurements of the metrics you have defined.

4.              Construct a sequence of experiments to evaluate the performance of this middleware implementation under different test situations.

Deliverables

A written project report is required.  Explain what exactly you did for the project, what metrics you defined, and justify why you think these are useful metrics.  Describe the experimental set up and your performance results.  Describe what exactly your experiments did, in enough detail so that someone reading your report could reproduce the experiments.  Include source code of your test programs as an appendix.

Explain the results you obtained.  Was the performance you measured expected, or were there surprises?  Provide your best explanation of the measurements you observed.

Evaluation

Evaluation will be based on the report turned in to the sponsor of the project by the due date.  Of particular interest are the metrics you define, your motivation for using them, the experimental design you constructed to evaluate performance under different circumstances to the extent that this is relevant, and your explanation of the results you obtained.

------------------------------------------------------------------------