Next: 6.5.2 Example
Up: 6.5 Distributed Simulation
Previous: 6.5 Distributed Simulation
Contents
Index
Figure 6.5:
Multiple layers for distributed simulation in SVM
|
SVMDNS (SVM Dynamic Naming Service) is another daemon built on top of
the PVM library. It provides a higher level of interface to SVM
processes. For example, in Figure 6.5 there are 4
SVM processes, each of which has a DCharts component running on it.
Those DCharts components communicate with each other via ports. The
SVM processes register themselves to a single SVMDNS daemon. The
SVMDNS daemon invokes functions in the PVM library to create 4 PVM
processes. Each of them corresponds to an SVM process. The location of
those PVM processes depends on the configuration of the PVM daemon.
In this case, PVM processes 1, 2 and 3 are located on machine 1, while
PVM process 4 is located on machine 2. The PVM library hides details
of this configuration, but provides a uniform API to SVMDNS.
SVMDNS provides the following functionality to each SVM process:
- Registration. Each SVM process that interacts with remote
components must register itself to SVMDNS. By default, the SVM
simulator attempts to register itself to SVMDNS if and only if a
model with at least one port is running in it.
- Life-time. Each SVM process registered to SVMDNS must
periodically sends a keep-alive message to the SVM daemon. If the
daemon does not receive such a message from an SVM process within
a certain period of time (known as life-time), information
about the SVM process is removed from SVMDNS' registry. The
life-time can be customized in PVMUtil.py. By default it is
30 seconds. Each SVM simulator, after it registers itself, sends
the keep-alive message to the SVMDNS every half life-time period.
- Component lookup. SVM processes send the name patterns or
types of required components to the SVMDNS. SVMDNS then locates
the registered components with those name patterns and types. It
establishes the connections between components.
- SVMDNS also maintains the connections between components. SVM
processes are ignorant of this information. They simply use ports
to identify groups of connected components in SVMDNS. SVMDNS acts
as a router in this inter-component communication.
Detailed information about the setup of the SVM daemon and the PVM
daemon can be found in [39].
Next: 6.5.2 Example
Up: 6.5 Distributed Simulation
Previous: 6.5 Distributed Simulation
Contents
Index
Thomas Huining Feng
2004-04-28