DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS...

57
1 DEVS Tutorial-- DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory School of Information Technology and Engineering University of Ottawa

Transcript of DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS...

Page 1: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

1

DEVS Tutorial--DEVS and Distributed DEVS

Ming Zhang, PhDParadise Research Laboratory

School of Information Technology and EngineeringUniversity of Ottawa

Page 2: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

2

Outline❚ How to Find DEVS Materials:❚ Google: ACIMS❚ DEVS Key Concepts❚ DEVS Tools and Distributed DEVS Tools:❚ DEVS/Grid, DEVS/P2P, DEVS/SOA...❚ DEVS/RMI—A Reconfigurable Distributed DEVS

Framework❚ Solving large-scale simulation models using

DEVS/RMI❚ DEVS in the near future

Page 3: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

3

What is and Why Use DEVS❚ DEVS—Discrete Event System Specification❚ Strictly Defined Modeling and Simulation Framework based

on DEVS Formalism.❚ Flexible Hierarchical Modeling and Simulation Structure.❚ Support Model Reuse by Model Repository.❚ Support both discrete event and continuous system

modelling and simulation.❚ Can be used for formalized design and system design

verification and validation.❚ Can be used for agent-based simulation.❚ And more...

Page 4: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

4

DEVS and Non-DEVS based Simulation

❚ DEVS is formalized.❚ DEVS is hierarchical.❚ Clearly separating modeling and simulation

framework.❚ Models' behavior and their inter-relation

are separated.

Page 5: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

5

Concept View of Entity Relationship[*]

Source System Simulator

Model

Experimental Frame

SimulationRelation

ModelingRelation

behavior database

Page 6: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

6

Separate Model and Simulator [*]

Simulator

Single processor

DistributedSimulator

Real-TimeSimulator

C++

NonDEVS

DEVS

Java

OtherRepresentation

DEVSSimulation

Protocol

The DEVS simulation protocol is the agreement between the DEVS modeler and the implemented simulator

Page 7: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

7

DEVS Formalism❚ DEVS stands for Discrete Event System

Specification.❚ DEVS Formalism is used to strictly define the

model component behaviour.❚ DEVS Formalism has many extensions to

satisfy the emerging requirements.

Page 8: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

8

Basic DEVS Formalism[*]

Page 9: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

9

Basic Concept in DEVS[*]

x0 x1X

S

Yy0

e

t0 t1 t2

Page 10: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

10

Internal Transition[*]

ss

Generate outputGenerate output

outputoutput

Make a transitions’

Make a transitions’s’

Time advanceTime advance using theinternaltransitionfunction

using theoutputfunction

Page 11: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

11

External Transition[*]

Time advance

inputinput

Make a transitionMake a transition

elapsedtime

using theexternaltransitionfunction

Page 12: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

12

Confluent Function[*]

Time advance

inputinput

Make a transitionMake a transition

elapsedtime

Generate outputGenerate output

outputoutput

using theconfluenttransitionfunction

Page 13: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

13

Basic DEVS Formalism Example[*]

60ft35 min

1 hr

40ft25 min

5 min5ft

Dive Plan

EmergencyPhone

Call Response

60ft35 min

1 hr

40ft25 min

5 min5ft

Dive Plan

EmergencyPhone

Call Response

Page 14: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

14

Hierarchical Model Construction[*]

Atomic

Atomic

Atomic: lowest level model, contains structural dynamics -- model level modularity

Atomic

Atomic

+ coupling

Atomic

A to m ic

A to m i c

Coupled: composed of one or more atomic and/or coupled models hierarchical

construction

SimpArc.efa

Page 15: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

15

DEVS Tools❚ ADEVS (by Dr. Nutaro, ORNL)❚ CD++ (by Dr. Wainer, Carleton Univ.)❚ Tools Developed at ACIMS, Univ. of Arizona: ❚ DEVSJAVA❚ DEVS/CORBA❚ DEVS/Grid❚ DEVS/P2P❚ DEVS/SOA❚ DEVS/HLA❚ DEVS/RMI

Page 16: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

16

DEVSJAVA❚ Java Implementation of DEVS❚ Support discrete and continuous system

modeling and simulation❚ Support As-Fast-As-Can, Real Time DEVS

simulation.❚ Support Distributed Simulation, but with

limited functionalities.❚ Support dynamic structure changes

through “variable structure”.

Page 17: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

17

Distributed DEVS--Why?❚ Reducing model execution time.❚ Overcoming limited memory for a single

machine to handle large models.❚ Obtaining scalable performance.❚ Handling geographically distributed users

and/or resources (e.g., databases, specialized equipment).

❚ Integrating simulations running on different platforms.

❚ Dealing with fault tolerance.

Page 18: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

18

DEVS/P2P[1]

❚ Use JXTA Pipe Interface as middleware to support distributed Execution of DEVS.

❚ Need additional layer for simulation time management.

❚ Prototype developed, not see application on complex and large-scale models.

Page 19: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

19

DEVS/P2P-architecture

activator

s1

s3

s4

s1

s2

s1

s2

activator

activator

Virtual Node_01

tA, message

C3.a1

C2.a1

Virtual Node_02

Virtual Node_n

a1 a2 C3.a1

c4

C3.a2 c5

deployer

C3.a1a1 a2 C3.a1

C2.a1 c4

C3.a2 c5

s2

a1a2

C3.a1

C3.a2

C3.a1

c4

C3.a2

c5

Page 20: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

20

DEVS/P2P-communication between simulators

DEVS

Output pipe Input pipe

Model Model

Output port Input port

DEVS msg

(JXTA Protocol)

(DEVS protocol)

DEVS/J XTA

J XTA

simulator simulator

Input pipe listenerJXTA msg

DEVS msg

P2P Simulator Proxy

(DEVS/P2P Protocol)

P2P Simulator Proxy

JXTA msg

Page 21: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

21

DEVS/Grid [2]

❚ Use Grid infrastructure to run DEVS in distributed fashion.

❚ Rely on existing Grid management framework, such as Globus.

❚ Not see application on solving real-world simulation models.

Page 22: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

22

DEVS/Grid [2]-architecture

Page 23: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

23

DEVS/SOA—recent advance [3]

❚ Use SOA as the basis architecture.❚ Use most current web service technology.❚ DEVS can be run on internet !❚ Performance is the big issue?

Page 24: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

24

DEVS/SOA-architecture

Page 25: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

25

DEVS/RMI--Motivation

❚ Portable distributed simulation framework❚ Support dynamic re-configuration of

simulation in a distributed environment❚ Eliminate the model code change when

mapping models to computing nodes❚ Flexible to implement partition algorithm

in a distributed environment❚ Toward very large-scale distributed

simulation.

Page 26: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

26

Java RMI(1)❚ Maintaining the original object architecture

built for a single processor, which is important for building large-scale scalable system.

❚ Task or computing workload distribution is at object level, which helps on solving load-balance, fault-tolerance problems in distributed computing in an easier way.

❚ Make the design of highly dynamic and reconfigurable distributed framework easier; Systems integration can be performed to a higher degree.

Page 27: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

27

Java RMI(2)

Page 28: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

28

DEVS/RMI Architecture

Page 29: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

29

DEVS/RMI-A Flexible Framework❚ Integrate Java RMI to existing DEVS/JAVA

objects framework.❚ Using both local and remote simulators.❚ No additional simulation time

management.❚ No model code change except adding a

new attribute for model code to assign model to computing node.

❚ Flexible and dynamic re-configurable.

Page 30: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

30

DEVS/RMI--Simulator Relations

Page 31: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

31

DEVS Model

Decomposing Model

Sub-Models (Atomic or Coupled)

RMICoordinator

Create and Assign Local S imulators

If sub_model.putwhere = “remote host”

Parsing as parameters

Load the model to “Remote Host”, create the simulators there, obtains the Remote References of the

Remote Simulators.

Dynamic Creation of Remote Simulators

Static Creation of Remote Simulators

Create Remote References of the

Remote Simulators using pre-defined RMI

URL.

Initialize RMICoordinator

Start Execution of Distributed Simulation

DEVS/RMI Simulation Controller

Page 32: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

32

DEVS/RMI-- RMI Overhead Test

Generator

Processor10

Processor11

Processor1n

………….

Machine 1 Machine 2

Page 33: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

33

DEVS/RMI--RMI OverheadSimulation Execution Time vs. No. of "Processors"

0

10

20

30

40

50

60

0 200 400 600 800 1000 1200

Number of "Processors"

Sim

ulat

ion

Exec

utio

n Ti

me(

Seco

nds)

Single Machine3 Machines

Page 34: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

34

DEVS/RMI-Reconfigurable Framework(1)

❚ Supports run-time model migration across machines.

❚ Model states are kept persistent.❚ Model structure can evolve during a

distributed simulation execution.❚ High-level support of run-time model re-

partition.

Page 35: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

35

DEVS/RMI-Reconfigurable Framework(3)

Generator

Processor10

Processor11

Processor1n

Processor2

………….

Machine 1 Machine 2

Generator

Processor10

Processor11

Processor1n

Processor2

………….

Machine 1 Machine 2

Page 36: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

36

DEVS/RMI-Reconfigurable Framework(4)

Overhead vs. No. of Migrated Models

0

1

2

3

4

5

6

0 20 40 60 80 100 120 140 160 180

Number of Migrated Models

Ove

rhea

d(se

cond

s)

Overhead vs. No. of Migrated Models

Page 37: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

37

Model Partition in DEVS/RMI(1)

ViewableAtomic A1 = new generator("A1","node2");add(A1);ViewableAtomic A11 = new generator("A11","node3");add(A11);

A

A1 A2

A11 A21 A22A12

Page 38: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

38

Model Partition in DEVS/RMI(2)

Cell 11

Cell 12

Cell 13

Cell 14

Cell 21

Cell 22

Cell 23

Cell 24

Cell 31

Cell 32

Cell 33

Cell 34

Cell 41

Cell 42

Cell 43

Cell 44

Page 39: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

39

Model Partition in DEVS/RMI(3) --Dynamic model repartition

Cell 11 Cell 12 Cell 13 Cell 14

Cell 21 Cell 22 Cell 23 Cell 24

Sub-Domain 1 Sub-Domain 2

Coupling

Cell 11 Cell 12 Cell 13 Cell 14

Cell 21 Cell 22 Cell 23 Cell 24

Sub-Domain 1 Sub-Domain 2

Coupling

These arrow lines represent the coupling that will be removed.

Migration

Migration

Page 40: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

40

Model Partition in DEVS/RMI(4)

❚ Increase locality whenever possible using model domain decomposition.

❚ Overhead incurred by dynamic repartition should be carefully evaluated.

❚ Load balance technique needs to be applied whenever necessary.

Page 41: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

41

DEVS/RMI on large-scale model

Hilly Terrain Model❚ Measure the shortest travel time for a

traveller in a 2D space with hills.❚ The “direction” of traveller is determined

by the gradient of hill at certain point.❚ Increasing the resolution results in using

larger cell space.

Page 42: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

42

Why use DEVS/RMI❚ Express the continuous spatial model

using DEVS Quantization Technique.❚ 2D DEVS Cellular Space is used.❚ Problems:

❙ cell space should be large enough to get necessary resolution, which results in “out of memory” in a single machine.

❙ Simulation execution time increases significantly when cell space increases.

❚ Solution: Distributed Simulation using DEVS/RMI.

Page 43: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

43

Hilly Terrain Model in DEVS

Page 44: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

44

Computation Domain Decompose for Hilly Terrain Model

Page 45: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

45

Measure the Travel TimeTravel Time vs. No. of Cells

0

100

200

300

400

500

600

700

800

900

1000

0 10000 20000 30000 40000 50000

Number of Cells

Trav

el T

Ime

one hillfour hills

Travel Time vs. No. of Hills

0

2000

4000

6000

8000

10000

12000

14000

0 5 10 15 20 25

Number of Hills

Trav

el T

ime

100 by 100 cell space

Page 46: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

46

Speedup of Distributed Simulation

Speedup of Simulation

0

0.5

1

1.5

2

2.5

3

3.5

4

0 2500 5000 7500 10000

12500

15000

17500

20000

22500

25000

No. of Cells

Sp

eed

up

(sin

gle

/mu

lti-

no

des

)

3 nodes one hill6 nodes one hill11 nodes one hill3 nodes 100 hills6 nodes 100 hills11 nodes 100 hills

Page 47: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

47

Studying Valley Fever Model❚ Distributed simulation of Valley fever

model, a highly dynamic 2D cell space, using DEVS/RMI

❚ Static model partition and “activity” based dynamic repartition are used

❚ Simulation execution performance is measured in terms of different computing workload

❚ Effects of “activity” based repartition is studied.

Page 48: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

48

Valley Fever Java Model in DEVS

Valley fever model in Simview

Page 49: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

49

Original model distributed simulation performance

0

100

200

300

400

500

1 2 5 10

ExecutionTime(S)

Original model simulation execution performance in DEVS/RMI

Page 50: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

50

Injecting workload

0

200

400

600

800

1000

1 5

workload1

010002000300040005000600070008000

1 5

workload2

Injecting workload to partitioned cells (a sum of 1 to 100)

Injecting workload to partitioned cells (a sum of 1 to 150)

Page 51: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

51

Dynamic repartition using “activity”

❚ “activity” metric is measured by counting the internal transitions of each individual cell.

❚ “activity” metric is used to repartition the model dynamically to achieve better load balance.

❚ High “activity” cells are assigned more computing power.

Page 52: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

52

Valley Fever Model-using activity

Using 5 computing nodes including 1 head node.

Static Blind Partition not considering model activities

Dynamic reconfiguration using “activity”

Performance increase by percentage

4 by 4 cells with 400 simulation steps

28.124s 27.566s 1.98%

4 by 4 cells with 2000 simulation steps

113.977s 114.968s -0.87%

8 by 8 cells with 400 simulation steps

256.49s 248.644s 3.06%

8 by 8 cells with 2000 simulation steps

1238.479s 1216.97s 1.73%

Using 9 computing nodes including 1 head node.

Static Blind Partition not considering model activities

Dynamic reconfiguration using “activity”

Performance increase by percentage

4 by 4 cells with 2000 simulation steps

134.74s 110.49s 18%

8 by 8 cells with 2000 simulation steps

1348.17s 1199.87s 11%

Page 53: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

53

Performance Issues

❚ Distributed Simulation performance of DEVS/RMI closely relates to the computation and RMI communication workload partitions.

❚ Load balance is a key factor.❚ Locality should be increased whenever

possible.

Page 54: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

54

Advantages of DEVS/RMI❚ DEVS/RMI provides an flexible and easy-

to-use reconfigurable distributed simulation framework.

❚ Refactoring a distributed simulation becomes easier.

❚ Support run-time model structure evolution in a distributed environment.

❚ Achieves significant speedup when dealing with large-scale model.

Page 55: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

55

DEVS in the near future

❚ SOA based architecture.❚ Running on P2P network ❚ Towards to distributed execution.❚ Towards running on grid.❚ Keep its role as a formalized modeling

framework.

Page 56: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

56

References:❚ 1.Saehoon Cheon, Chungman Seo, Sunwoo Park, Bernard P. Zeigler,

“Design and Implementation of Distributed DEVS Simulation in a Peer to Peer Network System”, 2004 Military, Government, and Aerospace Simulation.

❚ 2. Chungman Seo, Sunwoo Park, Byounguk Kim, Saehoon Cheon, Bernard P. Zeigler, “Implementation of Distributed High-performance DEVS Simulation Framework in the Grid Computing Environment”, 2004 High Peformance Computing Symposium.

❚ 3. Mittal, S., Risco-Martin, J.L., Zeigler, B.P., "DEVS-Based Simulation Web Services for Net-centric T&E", Summer Computer Simulation Conference SCSC'07, July, 2007.

❚ 4. Ming Zhang, B.P. Zeigler, P. Hammonds, "DEVS/RMI-An Auto-Adaptive and Reconfigurable Distributed Simulation Environment for Engineering Studies", International Test & Evaluation Association (ITEA) Journal of Test and Evaluation, March/April 2006, Volume 27, Number 1, Page 49-60.

* http://www.acims.arizona.edu/EDUCATION/ECE575Fall03/Note/❚

Page 57: DEVS Tutorial-- DEVS and Distributed DEVShosting.cs.vt.edu/hpcs2008/DEVSTutorial.pdf · DEVS Tutorial--DEVS and Distributed DEVS Ming Zhang, PhD Paradise Research Laboratory ... 1.Saehoon

57

Thank You!

Questions?Email: [email protected]

Google: ACIMS