Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel and Distributed Simulation FDK Software.

Similar presentations


Presentation on theme: "Parallel and Distributed Simulation FDK Software."— Presentation transcript:

1 Parallel and Distributed Simulation FDK Software

2 Outline FDK Overview RTI-Kit Software –BRTI and DRTI –Group Communication: MCAST –Time Management: TM-Kit

3 Federated Simulations Development Kit (FDK) RTI-Kit: software for experimental research in RTIs Jane: interactive simulation monitoring and control Jane GUI Remote User Compute Server

4 RTI-Kit collection of libraries; enhance existing RTIs / develop new ones each library can be used separately, or with other RTI-Kit libraries implemented over multiple platforms: compute clusters (Myrinet), shared memory multiprocessors (SGI), IP networks current libraries –MCAST: group communication software distributed group management, name server functions current implementation built over unicast application-defined buffer allocation to minimize data copying –TM-Kit: algorithms for implementing time management fast distributed snapshot algorithm scalable (O(log N) time for global reduction operations –buffer management, priority queues, random number libraries RTIs using RTI-Kit –UK-RTI (DERA) –B-RTI, D-RTI

5 RTI-Kit Software other libraries: buffer management priority queues, etc. B-RTI: Simple interface MCAST (group communication) TM-Kit (time management algorithms) Physical network FM-Lib Comm Libraries (use one) RTI-Kit libraries RTI Interface (use one) Shared memoryIP protocolsMyrinet DDM-Kit* (data distribution software) D-RTI: HLA interface federates * not included in current release

6 RTIs BRTI –Simple example RTI –Does not attempt to conform to HLA IF/Spec DRTI –Similar functionality to BRTI, services conform to v. 1.3 HLA IF/Spec –Limit set of services (federation management, declaration management, object management, time management)

7 MCAST MCAST: group communication software distributed group management, name server functions current implementation built over unicast cache group membership information application-defined buffer allocation eliminates data copying within MCAST

8 MCAST API Group Management MCAST_Create: create group MCAST_GetHandle: obtain handle for group from name server MCAST_Subscribe: join group MCAST_Unsubscribe: leave group Sending / Receiving Messages MCAST_Send: send message WhereProc: callback invoked for each incoming message (typically to allocate memory for incoming message) MessageHandler: callback invoked for each subscriber for each incoming message EndProc: optional callback invoked after all message handlers have been called

9 One Way Message Latency (round trip latency / 2)

10 Update Attribute Value Latency Benchmark Myrinet and Shared Memory similar performance Mryinet and Shared Memory about 4 to 9 times faster than TCP/IP Federate to federate latency using RTI-Kit sending N byte payload

11 TM-Kit Compute each processor’s Lower Bound on Time Stamp (LBTS) of future messages that could later arrive LBTS computation –Based on distributed snapshot algorithm Similar to Mattern’s GVT algorithm –Butterfly network for reduction computation and distribution of results –Wait until all transient messages received before reporting final LBTS value

12 HLA Time Management LBTS i : lower bound on time stamp of messages that could later arrive for federate i TSO messages w/ TS ≤  LBTS i eligible for delivery RTI ensures logical time of federate i never exceeds LBTS i deliver messages to federate in time stamp order ensure federate does not receive an event in its past Federate i RTI i... network... TSO queue 13 11 8 LBTS=10

13 TM-Kit Implementation any processor can start an LBTS computation at any time callbacks to RTI software used to –Indicate another processor has started an LBTS computation –LBTS computation has completed simultaneous initiations by more than one processor automatically combined multiple pending LBTS computations allowed: a processor can initiate a new computation even if previously initiated one(s) pending allows variety of methods to initiate LBTS computations –each processor starts a new computation “as needed” (done here) –central controller can responsible for starting LBTS computations

14 TM-Kit API TM_StartLBTS: initiate an LBTS computation StartHandler: callback invoked when LBTS computation initated by another processor is detected DoneHandler: callback invoked when LBTS computation completed Transient Messages –TM_PutTag: called prior to sending message to write tag (color) into message –TM_Out: called after message (event) is sent –TM_In: called when message (event) is received


Download ppt "Parallel and Distributed Simulation FDK Software."

Similar presentations


Ads by Google