simulation of next generation systems - irisa€¦ · i a model for vm lifecycle management...

28
Simulation Of Next Generation Systems SONGS (11 INFR 13) Mid-term Project Evaluation Bordeaux (Cepage): L. Eyraud , O. Beaumont, N. Bonichon, F. Mathieu, (Runtime): D. Barthou, B. Goglin, A. Guermouche Grenoble (Mescal): A. Legrand , D. Kondo, J.-F. M´ ehaut, J.-M. Vincent Nancy (Algorille): M. Quinson , L. Nussbaum Nantes (Ascola): A. L` ebre Nice (Mascotte): O. Dalle, H. Renard Villeurbanne (CCIN2P3): F. Suter , P.-E. Brinette, F. Desprez Strasbourg (ICPS): S. Genaud , J. Gossa ANR November 5, 2013. Paris.

Upload: others

Post on 16-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Simulation Of Next Generation SystemsSONGS (11 INFR 13)

Mid-term Project Evaluation

Bordeaux (Cepage): L. Eyraud, O. Beaumont, N. Bonichon, F. Mathieu,(Runtime): D. Barthou, B. Goglin, A. Guermouche

Grenoble (Mescal): A. Legrand, D. Kondo, J.-F. Mehaut, J.-M. Vincent

Nancy (Algorille): M. Quinson, L. Nussbaum

Nantes (Ascola): A. Lebre

Nice (Mascotte): O. Dalle, H. Renard

Villeurbanne (CCIN2P3): F. Suter, P.-E. Brinette, F. Desprez

Strasbourg (ICPS): S. Genaud, J. Gossa

ANRNovember 5, 2013. Paris.

Page 2: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Scientific ContextModern Computer Systems

I Grids, P2P, Clouds, HPC, . . .

I Hierarchical, complex and heterogeneous

I Very large and dynamic systems

Challenge: (correctness and) performance of these systems

I Reductionism is not satisfactory; experiences are mandatory

I We thus need Scientific Instruments, just as in physics or other

Idea: Computational Science of Computer Systems

I Computational Science use computers as scientific instruments

I It builds models to understand and conducts simulations to predict

I Can we reuse this approach to understand modern computer systems?2/19

Page 3: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

SimGrid and the ANR SONGS project

SimGrid: Simulator of distributed applications

I Infancy (1999): Factorizing the code of some students

I Now: Versatile, extensible, verified predictive power, free and open

I Impact (2008-2012): ≈60 publications, ≈100 authors, 3 PhD

SONGS: Simulation Of Next Generation Systems ANR 11 INFR 13

I Platform project (1.8Me, 400 PM founded)

I 7 academic partners, 20+ researchers (420 PM)

I Modeling large-scale computer systems (+= 2 domains)I Task 1: [Data]GridI Task 2: Peer-to-Peer and Volunteer ComputingI Task 3: IaaS CloudsI Task 4: High Performance Computing

I Simulation methodology (more of our expertise)

I Task 5: Simulation KernelI Task 7: Analysis and Visualization

I Task 6: Concepts and ModelsI Task 8: Experimental Methodology

3/19

Page 4: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Use-Case Driven ResearchI Science pulled by users’ needs, not pushed by abilitiesI Scratch your own itches (more motivating, and leads to better results)I Longer term goal: Foster the emergence of a vivid research community

Work plan in each domainI Tx.1: Add models needed by the planned studies

I Grids: Storage modelingI P2P/VC: Scalable network modeling and ChurnI IaaS Clouds: VMs, hypervisorsI HPC: HPC networks, memory transfers

I Tx.2: Extend APIs to ease the planned studiesI Grids: High Performance Storage System APII P2P/VC: Higher level API such as catalog handlingI IaaS Clouds: Provider side, and client sideI HPC: MPI, OpenMP, Plasma & Magma

I Tx.3: Do planned studiesI Grids: Distributed Data mgmt for LHC; Hierarchical Storage SystemI P2P/VC: Replica Placement in VOD; Affinities in VCI IaaS Clouds: Study from client or provider POV; other metrics (energy)I HPC: Exascale; memory & energy models

4/19

Page 5: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 1: [Data]Grids

Initial GoalsI SimGrid was intended to study Grid Scheduling, but without Storage

I Model: storage; APIs: Integrated Storage Servers

I Study: Data mgmt for LHC, Hierarchical Storage Dimensionning (CC-IN2P3)

Achievements during the first half

I An API capturing all relevant concepts is integrated (publication under review)

I Preliminary models proposed (by an associated PhD student at CERN)

Roadmap for the second half

I Validation and improvement of the storage models

I Conduct the planned studies

I Further push the collaboration with the CERN users

5/19

Page 6: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 2: Peer-to-Peer/Volunteer Computing

Initial GoalsI Ultra-Scalable Simulation: (achieved) goal of USS-SimGrid ANR project

I Model: Scalable Network Modeling; Churn. APIs: High-level (DHT or similar)

I Study P2P: Replica Placement in VOD; VC: CPU/Network Affinities

Achievements during the first half

I Theoretical study of data broadcast in NATed environments

I Shown the usefulness of dynamic scheduling according to affinities

I Random platform generation; Ability to specify random churn

I Framework to evaluate network tomography algorithms in practice (PlanetLab)

T1(i, j ) T2(i)

T3(j ) T4

j

i

i

j

Roadmap for the second half

I New scheduling strategies in BOINC (with U. Berkeley)

I Splay interface on top of SimGrid (with U. Neuchatel)

I Propose & run a large-scale network tomography

6/19

Page 7: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 3: IaaS Clouds

Initial GoalsI Virtualization: Adapted framework for provider- and/or client- side studies

I Model: Tasks over VMs, cloud dynamics; APIs: VMs mgmt, AWS (EC2, S3)

I Provider-side Study: VM orchestration and migration in private clouds

I Client-side Study: Decision helper (the best performance at the best price)

Achievements during the first half

I A model for VM lifecycle management including live migration with precopy

I Provider: VM mgmt optim; Client: strategies optimizing cost/makespan

I All-in-one initial modeling of the AWS infrastructure from the client POV

Physical Machine(CapacityC)

First solve

Then solve

VM(X1)

Task(X1,1)

Task(X1,2)

VM(X2)

Task(X2,1)

Task(X3)

VirtualM

achineLayer

PhysicalMachine

Layer

Eq2: X 2,1 < X2

Eq1:X1+X2+X3 < C

Eq2: X1,1 + X1,2 < X1

Roadmap for the second half

I Merge back all efforts into the released SimGrid

I (in)validated models for VM interactions/migrations

I Keep up with EC2 billing modeling (self-invalidating)

I Complete client- and provider-sides studies7/19

Page 8: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 4: High Performance Computing

Initial GoalsI Challenging domain: high expectations on prediction accuracy, very large scale

I Model: HPC networks, Memory; APIs: MPI, OpenMP, Plasma & Magma

I Study: BigDFT, SPECFEM, MUMPS; Exascale ARM platform

Achievements during the first half

I More MPI coverage (OMPI&MPICH collectives); Online and Offline; Testing

I Hybrid model (fluid+LogOP): Good BigDFT speedup predictions on tibidabo

I Memory modeling is even more challenging than expected ; slowing OpenMP

I Preliminary modeling of StarPU runtime (in collaboration with tool’s authors)

Roadmap for the second half

I Mixed online/offline for rapid testing of algorithms

I (in)Validation of StarPU models, more MPI apps

I Dimensionning tibidabo++ platform before building

I New models: IB networks, Memory, GPU, Xeon Phi

8/19

Page 9: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 5: Simulation Kernel

Initial GoalsI Efficient simulation: Big enough, Fast enough (going distributed and parallel)

I Standard simulation: Plug SimGrid with other simulation tools with DEVS

Achievements during the first half

I Exploratory work on distributed simulation, but gross performance loss

I Parallel simulation now works, but disappointing performance

I Kernel fully rewritten in C++ to ease the inclusion of users’ models

I Robust and Mature Framework, ready to use

0

10000

20000

30000

40000

0 500000 1e+06 1.5e+06 2e+06

Runnin

g t

ime in s

eco

nds

Number of nodes

PeerSimOverSimSimGrid

SimGrid (parallel) Roadmap for the second half

I Better Parallel and Distributed simulation

I Further ease the users’ models inclusion

I Eased interactions with NS3 and others

9/19

Page 10: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 6: Concepts and Models

Initial Goals Grids P2P Clouds HPCPower Consumption • • •Storage Elements • • •

CPU and Memory •High Performance Networks • •Volatility & Dynamicity • • •

Achievements during the first half

I Expertise hub for all modeling work and (in)validation studies

I Energy API and models (in collaboration with A.-C. Orgerie)

I Various models proposed; Network model thoroughly (in)validated

HypothesisHypothesisHypothesis

Experiments Campaign

H1' H2 Hn'

Analysis

Observations

Neglected observation

Sampled

Roadmap for the second half

I (in)validation of energy models, and othersThis is a never-ending, resource-hungry task

I Very large-scale wide-area network tomography?

10/19

Page 11: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 7: Analysis and Visualization

Initial GoalsI Scalable visualization: fast enough, tractable, and without artifacts

I Trace comparison: to better understand how/why a given alternative is better

Achievements during the first half

I Spatial and temporal aggregation to control artifacts (zooming effects)

I Entropy-based aggregation evaluation, helps selecting best aggregation

I Trace comparison used in (in)validations, but still very naive unfortunately

Clusters

Sites

Hosts

Grid

Roadmap for the second half

I Many new ideas on data aggregations to play with

I Trace comparison is slowly maturating

I Our main contributor got a permanent position; temporary slowdown, but new collaboration

11/19

Page 12: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

P2PGrids

CloudsHPC

Ana

lysi

s

Models

Open

Science

CoreTask 8: Experimental Methodology

Initial GoalsI Design Of Experiments (DoE): choosing the right experiments to run

I Campaign Management: adapted batch schedulers for 106 jobs, DoE-aware

I Open Science: reproducible results, laying a basis for further works

Achievements during the first half

I DoE: Increased proficiency in statistical tools (R, ggplot, org-mode)Factorial experience design and ANOVA used in several publications

I Campaign Mgmt: more oriented toward Grid’5000, not yet running simulations

I Open Science: our publications are (more) reproducible

Roadmap for the second half

I Package simulation experiments for reproducibilityConvenient runner as an incentive to the users

I Tool convergence with emulators and real platforms

I Foster a community on Open Science in our domainStill long way to go toward Reproducible Experiments

12/19

Page 13: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Work DistributionPartner WP1 WP2 WP3 WP4 WP5 WP6 WP7 WP8

Bordeaux • • •• • • •• ••Grenoble • •• • • •• •• •• •• ••

Nancy • • • • • • • • •• • • • • • •Nantes •• • •

Nice • • • • • • ••Strasbourg •• • • • • • •

Villeurbanne •• •• • • • • •

Planned Work Distribution Actual Investment at T24small • ; • large small • ; • large

I WP1: DQ2 team (CERN) on modeling of data storage serversI WP2: BOINC authors (U. Berkeley), Splay authors (U. Neuchatel)I WP3: AIST Japan on VM migrations over WAN; UCMadrid on multi-cloudsI WP4: StarPU authors (Inria Bordeaux), BigDFT authors (CEA INAC)I WP5: A. Giersch (U. Franche-Comte) on efficient simulationI WP6: A.-C. Orgerie (CNRS Rennes) on energy modelingI WP7: L. Schnorr (UFRGS, Brasil) on visualizationI WP8: M. Stillwell (U. Cranfield), S. Hunold (U. Vienna) on Open Science

13/19

Page 14: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Work DistributionPartner WP1 WP2 WP3 WP4 WP5 WP6 WP7 WP8

Bordeaux • • •• • • •• ••Grenoble • •• • • •• •• •• •• ••

Nancy • • • • • • • • •• • • • • • •Nantes •• • •

Nice • • • • • • ••Strasbourg •• • • • • • •

Villeurbanne •• •• • • • • •

Planned Work Distribution Actual Investment at T24small • ; • large small • ; • large

I WP1: DQ2 team (CERN) on modeling of data storage serversI WP2: BOINC authors (U. Berkeley), Splay authors (U. Neuchatel)I WP3: AIST Japan on VM migrations over WAN; UCMadrid on multi-cloudsI WP4: StarPU authors (Inria Bordeaux), BigDFT authors (CEA INAC)I WP5: A. Giersch (U. Franche-Comte) on efficient simulationI WP6: A.-C. Orgerie (CNRS Rennes) on energy modelingI WP7: L. Schnorr (UFRGS, Brasil) on visualizationI WP8: M. Stillwell (U. Cranfield), S. Hunold (U. Vienna) on Open Science

13/19

Page 15: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Scientific Outcomes and Dissemination

OutcomesI 20 mono-site publications + 4 multi-site publications (many more under review)

I 10 invited talk and keynotes

I 3 major releases of SimGrid (150+ commits/month, 6+ contributors each month)

Dissemination: SimGrid Users’ Days

I 3 days conference gathering (potential) users to exchange news and feedback

I Takes place in remote location where there is nothing else to do

I 2010 and 2012 editions were rather classical (presentations)

I 2013 “working workshop”: hack your own SimGrid project, under our guidance

Efficient Networking

I We are at SuperComputing every year (on Inria booth); COMPAS in France

I Joint lab with Urbana Champain on HPC; Barcelona Supercomputer Center

I Connections to IETF toward an Informal RFC on P2P simulation

I Ongoing discussions for several European projects, Inria IPL, etc.

I Even recent interactions with science philosophers from Finland!14/19

Page 16: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Scientific Zoom: How do we model things?

“Original” epistemological stance

I Things are so complex that reductionism does not work anymore

Computer Systems ≈ Natural SystemsI Empirical measurements, hypothesis, modeling, (in)validation (ad eternam)

HypothesisHypothesisHypothesis

Experiments Campaign

H1' H2 Hn'

Analysis

Observations

Neglected observation

Sampled

Wanted ModelsI Explanatory and interpretable models: We model mainly to understand

I Quantitative: Computation or communication time

I Qualitative: Interactions between streams or between processes (or both)

I Semantic: Search for synchronization bugs15/19

Page 17: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

What do we find when doing so?

Such models are possibleMeasurements MPI Send / MPI Recv

Small

Medium1Medium2

Detached

Small

Medium1Medium2

Detached

MPI_Send MPI_Recv

1e−04

1e−02

1e+01 1e+03 1e+05 1e+01 1e+03 1e+05Message size (bytes)

Dur

atio

n (s

econ

ds) group

Small

Medium1

Medium2

Detached

Large

SMPI Model

Asynchronous mode(k ≤ Sa)

T3

Pr

Ps

T1

T2

Detached mode(Sa < k ≤ Sd)

Ps

Pr

T2T4

T1

Synchronous mode(k > Sd)

Ps

Pr

T4 T2

(The SimGrid default model captures these effects, and much more)16/19

Page 18: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

And this just works!

I Sweep3D: Simple (but not trivial) application predicted in all detailsI Graphene (16 procs), OpenMPI, TCP, Gigabit Ethernet without overfitting FX :)

17/19

Page 19: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Reality is sometimes . . . surprising

Hardware sucks

I BigDFT on Graphene

I Harware Bug (?)

I Packet drops;Timeouts

TCP sucks

LU

32

p(u

p:r

eal;

dow

nsi

m)

Congestion ; slows downSpeed = 0 ; timeout, and reset

LU

12

8p

We can incorporate these effects in our models (and others)

I But don’t you want to fix reality?

I We were modeling to understand, that’s a huge victory!

18/19

Page 20: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Conclusions on the SONGS project

I Goal: Computational Science of Computer SystemsI Systems are too large, dynamic and complex for a reductionist approachI We need models to understand, and simulations to predict

I Realistic models of Modern Systems (DataGrids, P2P, Clouds & HPC)I Efficient Methodology: Planning, Simulation and Analysis (with Open Science)

The project is Fully on Track

I Work factorization is really effective (; productivity gain)

I Many, many results. In all 8 WP.

I WP4: Sufficient models to predict MPI applicationsI Many dark areas remain, but this is unprecededI Non-trivial but correct predictions; Reality sometimes worse than Simulation :)

I WP8: Open Science opens a brave new world

There is much more to discover during the second half

I If things remain the same, all fixed goals should be reached

I The project is attracting many external contributors

I Are we experiencing the emergence of the vivid research community we need?19/19

Page 21: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Take Away Messages

SimGrid will prove helpful to your research

I Versatile: Used in several communities (scheduling, GridRPC, HPC, P2P, Clouds)

I Accurate: Model limits known thanks to validation studies

I Sound: Easy to use, extensible, fast to execute, scalable to death, well tested

I Open: User-community much larger than contributors group/ GPL120 publications (110 distinct authors, 5 continents), 4 PhD/25+commiters,5+ unaffiliated

I Around since over 10 years, and ready for at least 10 more years

Welcome to the Age of (Sound) Computational Science

I Discover: http://simgrid.gforge.inria.fr/

I Learn: 101 tutorials, user manuals and examples

I Join: user mailing list, #simgrid on irc.debian.org

We even have some open positions ;)

20/19

Page 22: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Other finding of the project: Open Science

The Devil is in the Details vs. Reproducibility Graal

I Experiment description (environment / protocol) not trivial(deluge de donnees)

I Very sensible experiments: impact macro of micro errors

I Statistical post-processing more and more advanced

But that works, too!I Grid’5000 is very precious: hardware, but also know-how

I Our tools (YMMV): git + org-mode + R

I Computational scientists already use them, btw

We just need to convince our community ;)

I I found the results section of this paper to be pretty weak.

I If less accurate models drive the user to the same conclusions(as Fig. 8 indicates), why we need more complex models?

21/19

Page 23: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Invalidating Simulators from the LitteratureNaive flow models documented as wrong

Setting Expected Output OutputB = 100 B = 100

B = 20

B = 100 B = 100

B = 20

B = 100 B = 100

B = 20

Known issue in Narses (2002), OptorSim (2003), GroudSim (2011).

Validation by general agreement“Since SimJava and GridSim have been extensively utilized in conductingcutting edge research in Grid resource management by severalresearchers, bugs that may compromise the validity of the simulationhave been already detected and fixed.” CloudSim, ICPP’09

Setting Expected Output OutputB B B

Buggy flow model (GridSim 5.2, Nov. 25, 2010). Similar issues with naivepacket-level models.

22/19

Page 24: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

MapReduce on Grid’5000

I Huge CPU slowdown

I Due to the IDE disksDoes not happen in SATA

Can be modeled, but you have to know

23/19

Page 25: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

SimGrid is an Operating Simulator

OS-like internal design, isolating user processes with simcalls

Functional ViewProcess Process Process

SimCall Interface

MaestroSimulation Modelske

rnel

Temporal View

M

U2U1

U3

Implementation

T1tn

T2

tn+1M

Efficient [parallel] simulation

0

10000

20000

30000

40000

0 500000 1e+06 1.5e+06 2e+06

Run

ning

tim

e in

sec

onds

Number of nodes

OverSim (OMNeT++)PeerSim

OverSim (simple underlay)SimGrid (sequential)SimGrid (4 threads)

dPeerSim: 2LP ; 4h / 16LP ; 1h

(but only 47s in sequential PeerSim, and 5s with SimGrid :)

Model-Checking (Safety & Liveness)1

2

iSend

3

iRecv

4

Wait

5

iRecv

1 5 3

Test TRUE

6

Test TRUE

7

iSend

8

Wait

9

iRecv

1 0

Test FALSE

1 1

MC_RANDOM (0)

1 1 5

MC_RANDOM (1)

1 2 2

iRecv

1 2

MC_RANDOM (0)

1 0 5

MC_RANDOM (1) 1 1 2

iRecv

1 3

MC_RANDOM (0)MC_RANDOM (1)

1 0 7

iRecv

MC_RANDOM (0)

1 5

MC_RANDOM (1)

2 4

iRecv

1 6

iSend

1 7

iRecv

1 8

Wait

1 9

Test TRUE

2 0

iSend

2 1

Wait

2 2

iRecv

Test FALSE

2 5

MC_RANDOM (0)

1 0 3

MC_RANDOM (1)

2 6

Test FALSE

2 7

MC_RANDOM (0)

6 6

MC_RANDOM (1)

2 8

MC_RANDOM (0)

6 2

MC_RANDOM (1)

2 9

MC_RANDOM (0)MC_RANDOM (1)

MC_RANDOM (0)

3 1

MC_RANDOM (1)

3 2

iSend

3 5

Test FALSE

3 3

Wait

Test TRUE

3 6

iSend

5 8

MC_RANDOM (0)

6 0

MC_RANDOM (1)

3 7

Wait

5 4

MC_RANDOM (0)

5 6

MC_RANDOM (1)

3 8

MC_RANDOM (0)

5 2

MC_RANDOM (1)

3 9

MC_RANDOM (0)

4 4

MC_RANDOM (1)

4 0

MC_RANDOM (0)

MC_RANDOM (1)

4 1

MC_RANDOM (0) MC_RANDOM (1)

4 2

Test TRUE

iSend

4 5

Test TRUE

4 6

iSend

4 7

Wait

4 8

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

6 3

Test FALSE

Test FALSE

6 7

iSend

7 5

Test FALSE

6 8

Wait

6 9

Test TRUE

7 0

iSend

7 1

Wait

7 2

iSend

7 3

iRecv

Test FALSE

7 6

iSend

9 9

MC_RANDOM (0)

1 0 1

MC_RANDOM (1)

7 7

Wait

9 5

MC_RANDOM (0)

9 7

MC_RANDOM (1)

7 8

MC_RANDOM (0)

9 3

MC_RANDOM (1)

7 9

MC_RANDOM (0)

8 4

MC_RANDOM (1)

8 0

MC_RANDOM (0)

MC_RANDOM (1)

8 1

MC_RANDOM (0) MC_RANDOM (1)

8 2

Test TRUE

iSend

8 5

Test TRUE

8 6

iSend

8 7

Wait

8 8

iSend

8 9

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

iSend

Test FALSE

MC_RANDOM (0)

1 0 9

MC_RANDOM (1)

Test FALSE

MC_RANDOM (0)

MC_RANDOM (1)

1 1 6

iSend

1 1 7

iRecv

1 1 8

Wait

1 1 9

Test TRUE

1 2 0

iSend

Wait

MC_RANDOM (0)

1 2 4

MC_RANDOM (1)

1 2 5

iSend

1 2 8

Test FALSE

1 2 6

Wait

Test TRUE

1 2 9

iSend

1 4 9

MC_RANDOM (0)

1 5 1

MC_RANDOM (1)

1 3 0

Wait

1 4 5

MC_RANDOM (0)

1 4 7

MC_RANDOM (1)

1 3 1

MC_RANDOM (0)

1 4 3

MC_RANDOM (1)

1 3 2

MC_RANDOM (0)

1 3 7

MC_RANDOM (1)

1 3 3

MC_RANDOM (0)

MC_RANDOM (1)

1 3 4

MC_RANDOM (0) MC_RANDOM (1)

1 3 5

Test TRUE

iSend

1 3 8

Test TRUE

1 3 9

iSend

Wait

Test TRUE

Wait Wait

iSend iSend

iRecv

Exhaustive Chord(2 processes)

I Aims at bug finding,not assessment

I System State Equality

I + DPOR Reduction

I Soon more parallelism

I Soon statistical MC

24/19

Page 26: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

SimGrid is an Operating Simulator

OS-like internal design, isolating user processes with simcalls

Functional ViewProcess Process Process

SimCall Interface

MaestroSimulation Modelske

rnel

Temporal View

M

U2U1

U3

Implementation

T1tn

T2

tn+1M

Efficient [parallel] simulation

0

10000

20000

30000

40000

0 500000 1e+06 1.5e+06 2e+06

Run

ning

tim

e in

sec

onds

Number of nodes

OverSim (OMNeT++)PeerSim

OverSim (simple underlay)SimGrid (sequential)SimGrid (4 threads)

dPeerSim: 2LP ; 4h / 16LP ; 1h

(but only 47s in sequential PeerSim, and 5s with SimGrid :)

Model-Checking (Safety & Liveness)1

2

iSend

3

iRecv

4

Wait

5

iRecv

1 5 3

Test TRUE

6

Test TRUE

7

iSend

8

Wait

9

iRecv

1 0

Test FALSE

1 1

MC_RANDOM (0)

1 1 5

MC_RANDOM (1)

1 2 2

iRecv

1 2

MC_RANDOM (0)

1 0 5

MC_RANDOM (1) 1 1 2

iRecv

1 3

MC_RANDOM (0)MC_RANDOM (1)

1 0 7

iRecv

MC_RANDOM (0)

1 5

MC_RANDOM (1)

2 4

iRecv

1 6

iSend

1 7

iRecv

1 8

Wait

1 9

Test TRUE

2 0

iSend

2 1

Wait

2 2

iRecv

Test FALSE

2 5

MC_RANDOM (0)

1 0 3

MC_RANDOM (1)

2 6

Test FALSE

2 7

MC_RANDOM (0)

6 6

MC_RANDOM (1)

2 8

MC_RANDOM (0)

6 2

MC_RANDOM (1)

2 9

MC_RANDOM (0)MC_RANDOM (1)

MC_RANDOM (0)

3 1

MC_RANDOM (1)

3 2

iSend

3 5

Test FALSE

3 3

Wait

Test TRUE

3 6

iSend

5 8

MC_RANDOM (0)

6 0

MC_RANDOM (1)

3 7

Wait

5 4

MC_RANDOM (0)

5 6

MC_RANDOM (1)

3 8

MC_RANDOM (0)

5 2

MC_RANDOM (1)

3 9

MC_RANDOM (0)

4 4

MC_RANDOM (1)

4 0

MC_RANDOM (0)

MC_RANDOM (1)

4 1

MC_RANDOM (0) MC_RANDOM (1)

4 2

Test TRUE

iSend

4 5

Test TRUE

4 6

iSend

4 7

Wait

4 8

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

6 3

Test FALSE

Test FALSE

6 7

iSend

7 5

Test FALSE

6 8

Wait

6 9

Test TRUE

7 0

iSend

7 1

Wait

7 2

iSend

7 3

iRecv

Test FALSE

7 6

iSend

9 9

MC_RANDOM (0)

1 0 1

MC_RANDOM (1)

7 7

Wait

9 5

MC_RANDOM (0)

9 7

MC_RANDOM (1)

7 8

MC_RANDOM (0)

9 3

MC_RANDOM (1)

7 9

MC_RANDOM (0)

8 4

MC_RANDOM (1)

8 0

MC_RANDOM (0)

MC_RANDOM (1)

8 1

MC_RANDOM (0) MC_RANDOM (1)

8 2

Test TRUE

iSend

8 5

Test TRUE

8 6

iSend

8 7

Wait

8 8

iSend

8 9

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

iSend

Test FALSE

MC_RANDOM (0)

1 0 9

MC_RANDOM (1)

Test FALSE

MC_RANDOM (0)

MC_RANDOM (1)

1 1 6

iSend

1 1 7

iRecv

1 1 8

Wait

1 1 9

Test TRUE

1 2 0

iSend

Wait

MC_RANDOM (0)

1 2 4

MC_RANDOM (1)

1 2 5

iSend

1 2 8

Test FALSE

1 2 6

Wait

Test TRUE

1 2 9

iSend

1 4 9

MC_RANDOM (0)

1 5 1

MC_RANDOM (1)

1 3 0

Wait

1 4 5

MC_RANDOM (0)

1 4 7

MC_RANDOM (1)

1 3 1

MC_RANDOM (0)

1 4 3

MC_RANDOM (1)

1 3 2

MC_RANDOM (0)

1 3 7

MC_RANDOM (1)

1 3 3

MC_RANDOM (0)

MC_RANDOM (1)

1 3 4

MC_RANDOM (0) MC_RANDOM (1)

1 3 5

Test TRUE

iSend

1 3 8

Test TRUE

1 3 9

iSend

Wait

Test TRUE

Wait Wait

iSend iSend

iRecv

Exhaustive Chord(2 processes)

I Aims at bug finding,not assessment

I System State Equality

I + DPOR Reduction

I Soon more parallelism

I Soon statistical MC

24/19

Page 27: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

SimGrid is an Operating Simulator

OS-like internal design, isolating user processes with simcalls

Functional ViewProcess Process Process

SimCall Interface

MaestroSimulation Modelske

rnel

Temporal View

M

U2U1

U3

Implementation

T1tn

T2

tn+1M

Efficient [parallel] simulation

0

10000

20000

30000

40000

0 500000 1e+06 1.5e+06 2e+06

Run

ning

tim

e in

sec

onds

Number of nodes

OverSim (OMNeT++)PeerSim

OverSim (simple underlay)SimGrid (sequential)SimGrid (4 threads)

dPeerSim: 2LP ; 4h / 16LP ; 1h

(but only 47s in sequential PeerSim, and 5s with SimGrid :)

Model-Checking (Safety & Liveness)1

2

iSend

3

iRecv

4

Wait

5

iRecv

1 5 3

Test TRUE

6

Test TRUE

7

iSend

8

Wait

9

iRecv

1 0

Test FALSE

1 1

MC_RANDOM (0)

1 1 5

MC_RANDOM (1)

1 2 2

iRecv

1 2

MC_RANDOM (0)

1 0 5

MC_RANDOM (1) 1 1 2

iRecv

1 3

MC_RANDOM (0)MC_RANDOM (1)

1 0 7

iRecv

MC_RANDOM (0)

1 5

MC_RANDOM (1)

2 4

iRecv

1 6

iSend

1 7

iRecv

1 8

Wait

1 9

Test TRUE

2 0

iSend

2 1

Wait

2 2

iRecv

Test FALSE

2 5

MC_RANDOM (0)

1 0 3

MC_RANDOM (1)

2 6

Test FALSE

2 7

MC_RANDOM (0)

6 6

MC_RANDOM (1)

2 8

MC_RANDOM (0)

6 2

MC_RANDOM (1)

2 9

MC_RANDOM (0)MC_RANDOM (1)

MC_RANDOM (0)

3 1

MC_RANDOM (1)

3 2

iSend

3 5

Test FALSE

3 3

Wait

Test TRUE

3 6

iSend

5 8

MC_RANDOM (0)

6 0

MC_RANDOM (1)

3 7

Wait

5 4

MC_RANDOM (0)

5 6

MC_RANDOM (1)

3 8

MC_RANDOM (0)

5 2

MC_RANDOM (1)

3 9

MC_RANDOM (0)

4 4

MC_RANDOM (1)

4 0

MC_RANDOM (0)

MC_RANDOM (1)

4 1

MC_RANDOM (0) MC_RANDOM (1)

4 2

Test TRUE

iSend

4 5

Test TRUE

4 6

iSend

4 7

Wait

4 8

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

6 3

Test FALSE

Test FALSE

6 7

iSend

7 5

Test FALSE

6 8

Wait

6 9

Test TRUE

7 0

iSend

7 1

Wait

7 2

iSend

7 3

iRecv

Test FALSE

7 6

iSend

9 9

MC_RANDOM (0)

1 0 1

MC_RANDOM (1)

7 7

Wait

9 5

MC_RANDOM (0)

9 7

MC_RANDOM (1)

7 8

MC_RANDOM (0)

9 3

MC_RANDOM (1)

7 9

MC_RANDOM (0)

8 4

MC_RANDOM (1)

8 0

MC_RANDOM (0)

MC_RANDOM (1)

8 1

MC_RANDOM (0) MC_RANDOM (1)

8 2

Test TRUE

iSend

8 5

Test TRUE

8 6

iSend

8 7

Wait

8 8

iSend

8 9

iRecv

Test FALSE

Test TRUE

Wait Wait

iSend iSend

iSend

Test FALSE

MC_RANDOM (0)

1 0 9

MC_RANDOM (1)

Test FALSE

MC_RANDOM (0)

MC_RANDOM (1)

1 1 6

iSend

1 1 7

iRecv

1 1 8

Wait

1 1 9

Test TRUE

1 2 0

iSend

Wait

MC_RANDOM (0)

1 2 4

MC_RANDOM (1)

1 2 5

iSend

1 2 8

Test FALSE

1 2 6

Wait

Test TRUE

1 2 9

iSend

1 4 9

MC_RANDOM (0)

1 5 1

MC_RANDOM (1)

1 3 0

Wait

1 4 5

MC_RANDOM (0)

1 4 7

MC_RANDOM (1)

1 3 1

MC_RANDOM (0)

1 4 3

MC_RANDOM (1)

1 3 2

MC_RANDOM (0)

1 3 7

MC_RANDOM (1)

1 3 3

MC_RANDOM (0)

MC_RANDOM (1)

1 3 4

MC_RANDOM (0) MC_RANDOM (1)

1 3 5

Test TRUE

iSend

1 3 8

Test TRUE

1 3 9

iSend

Wait

Test TRUE

Wait Wait

iSend iSend

iRecv

Exhaustive Chord(2 processes)

I Aims at bug finding,not assessment

I System State Equality

I + DPOR Reduction

I Soon more parallelism

I Soon statistical MC

24/19

Page 28: Simulation Of Next Generation Systems - IRISA€¦ · I A model for VM lifecycle management including live migration with precopy I Provider:VM mgmt optim;Client:strategies optimizing

Toward an Integrated Scientific Workflow1. Prepare the experimental scenarios

2. Launch thousands of simulations

3. Post-processing and result analysisVisualization

Statistics

Textual logsApplicationUser

ParametersInput

SettingsExperimental

SimulatorScenario Outputs

SimulationKernel

Post-processing through Vizualization

time slice

time slice time slicetime slice

1st Space Aggregation 2nd Space AggregationGroupA

GroupB

Platform and Workload GenerationTopology

ModelTopological

Graph

Generation Promotion

Real WorldPlatform

PlatformBlank

Selection

Export

Graph

OtherOutputs

Setting

XML

Initial

PlatformSynthetic Experimental

OR

Description

Labelling

Extraction

Description

Cluster

Simulated

Execution

Time

Traces

Indepentdent

Replay

Inst

rum

enta

tio

n

Site 1 Site2 pro

cess

0.t

race

Execution

Traces

pro

cess

1.t

race

Instrumented

VersionApplication

SG_process0.trace

SG_process1.trace

SG_processN.trace

pro

cess

N.t

race

Execution

25/19