Building Parallel Time-Constrained HLA
Federates: A Case Study with the Parsec
Parallel Simulation Language
C. D. Pham
R. L. Bagrodia
Department of Computer Science
University of California, Los Angeles
Winter Simulation Conference (WSC’98), Washington D.C.
Tuesday, December 15th, 1998
Outline
Overview of HLA and Parallel simulation
The rational behind this work
The Parsec Language
Architecture of a parallel federate with Parsec
Conclusions
The HLA framework
• Without
simulations
arecalls
mostly
The HighHLA,
Level
Architecture
for aindependents
federation ofand
simulations to
interoperability
is not easy.
achieve interoperability
and reuse of software.
10 Rules for the federation
and the federates behavior
Federation
Logical simulations
real-time
players
simulator
tools
An Interface Specification
Display,
An Object
Model
Hardware,
human-in-the
loop statistics...
Template
real-time simulators
to describe the
Runtime Infrastructure (RTI)
simulation
Federation Management
Declaration Management
Object Management
Ownership Management
objects
Time Management
Data Distribution Management
HLA: How to interoperate?
communication node
throughput, position
Objects can have
attributes
Real system
radio transmitter
wired node
power, frequency
# links
Interoperability is achieved by subscription
and publication of object’s attributes between
the federates in the federation execution.
HLA: Publication and Subscription
• Publication of an attribute means a federate can produce
values for that attribute.
• Subscription to an attribute means a federate wishes to
receive values for that attribute.
I can provide the
position for
F14 planes
Federate
subscribeObjectClass
Attribute
Federate
Ambassador
I want to know the
position of all
F14 planes.
Federate
RTI Ambassador
Federate
Ambassador
RTI Ambassador
publishObjectClass
updateAttributeValues startUpdates
reflectAttributesValues
RTI
HLA: Time management
HLA includes advanced time management services
with receive order and time stamped messages
Time-constrained
21
25
RO
FEDERATE
23
RO
RTI
27
29
Time-regulated
25 FEDERATE
Lookahead = 2
25
Ask for time
advance grant
NO!
27
RO
29
RO
RTI
Compute a Lower Bound
Time Stamp (LBTS)
Parallel Simulation Concepts
• A model consists of simulation objects
(logical processes) and events.
• LPs are distributed on several processors.
• Only time stamped events are exchanged
between LPs.
• Synchronization and causality constraints
are handled by a conservative or optimistic
simulation algorithm.
The rational behind this work
• Parallel simulation can potentially reduce
the simulation time of large scale systems.
• HLA can benefit from parallel federates in a
federation execution to achieve speed-up for
the entire federation.
Federation
sequential
real-time
players
parallel computer
NOWs...
parallel
Parallel simulation and HLA
HLA
PADS
Time management
• As fast as possible execution.
• Conservative or optimistic
synchronization among LPs.
• Mainly real time simulation.
• Conservative among all the
federates.
Interactions
• Event paradigm.
• In most cases, only time
stamped events.
• Subscription/publication.
• Received Order and Time
Stamped Order.
Parallel federates...
• are time-constrained and time-regulated.
• must take into account TSO messages from the RTI,
• have to report a simulation time,
• have to ask for time advance grants.
• contain several logical processes.
• have to compute a global simulation time,
• provide non-blocking scheduling regarding time
advance grants.
One or several federates?
Having several federates sometimes facilitates the design of the
model but introduces extra dependencies in a conservative federates
EOT 0
RTI
Federate 1
Federate 0
LBTSj = min(EOT i)
i=j
It
is
better
to
have
one
federate
LP0
LBTS3
for the entire set of Logical Processes
LP1
EOT 1
EOT 2
EOT 3
LP2
LP3
LP5
LP8
LP6
LP7
LP4
Federate 3
Federate 2
Need for an accurate GST
• Even a conservative federate has to
implement a GST computation.
• The GST is the only simulation time value
the RTI knows about the parallel federate.
• The GST must be computed frequently for
the other federate to advance in time.
When and how to advance the time
• LPs cannot request time advance grants
directly from the RTI.
• Messages from the RTI gain to be directly
handled by the synchronization algorithm.
• It is possible to use the LBTS from the RTI
The PARSEC language
Message-based, process-interaction approach
LP are programmed as an actor or entity
all activities of an entity are initiated on message receipts
An LP cannot directly modify
the state of another LP
ENVIRONMENT
Event are represented by message communications
Parallel conservative federates
e(t,p,a): send message m(e) at time t to LP p
Shared memory architecture
On receiving m(e), p executes actions a
RTI
v1.0 forbySolaris
2.5
change its state
represented
local variables
schedule events (messages) at time >=t
LPs are scheduled with a large variety of algorithms
Conservative with null-messages, conditional events,
synchronous, optimistic and adaptive algorithms.
Translation of notifications
• Notifications from the RTI are translated into a
PARSEC message and sent back to the entities.
• Entities can register to receive a given set of
Ensure that both TSO and RO
notification
types.can be mixed into PARSEC
messages
callback
RTI
c1.a1
1 entities receive
Ensure that the
the
3
messages at the correct time
c1.a1 h
reflectAttributeValues
2
has subscribed to c1.a1
has registered to reflect
and discover
Receive (HLACallback m)
{
HLA_registerEntity(
switch (m.type) {
caseself,
reflect:
reflect
|
Update(m.C,
m.A);
discover);
break;
case discover:
…
}
Time management support
Sequential federates
Entities interact directly with the RTI
ENTITY
HLA_timeAdvanceGrantRequest()
Request and wait for a time
advance grant using
nextEventRequest.
RTI
Parallel federates
Entities interact with the RTI via a time manager entity
ENTITY
ENTITY
ENTITY
HLA_addEntitySimclock()
Indicates to the PARSEC
runtime that an entity
wishes to participate in the
GST computation.
Allocates data structures
for the calling entity.
HLA_provideEntitySimclock()
RTI
Provides a simulation time
value to the time manager.
Performs the GST
computation and asks for
the time advance request
from the RTI.
Overview of time management
Parallel federates
Federate 1
EOT 1
RTI
LBTSj = min(EOT i)
i=j
requestLBTS()
LP2
LP1
LBTS3
EOT 2
flushQueueRequest(EOT3)
provide
Federate 2
LP3
LP4
add
LP5
Federate 3
The wireless model example
• 1 sequential federate: a weather federate that
publishes a weather_condition attribute.
• 1 parallel
a wireless
Canfederate:
the parallel
federate
communication
thatfor
subscribes
provide network
speedup
the to
the weather_condition attribute.
entire federation execution?
• The transmission quality depends on the
weather_condition attribute.
Conclusions
© Copyright 2026 Paperzz