Simgrid Tutorial
Simgrid Tutorial
Martin Quinson (Nancy University, France) Arnaud Legrand (CNRS, Grenoble University, France) Henri Casanova (Hawaii University at Manoa, USA)
[email protected]
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (4/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches
Real-world experiments Simulation
Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (5/142)
Analytical or Experimental?
Analytical works?
Some purely mathematical models exist Allow better understanding of principles in spite of dubious applicability
impossibility theorems, parameter inuence, . . .
(6/142)
Simulation
Simulation solves these diculties No need to build a real system, nor the full-edged application Ability to conduct controlled and repeatable experiments (Almost) no limits to experimental scenarios Possible for anybody to reproduce results Simulation in a nutshell Predict aspects of the behavior of a system using an approximate model of it Model: Set of objects dened by a state Rules governing the state evolution Simulator: Program computing the evolution according to the rules Wanted features:
Accuracy: Correspondence between simulation and real-world Scalability: Actually usable by computers (fast enough) Tractability: Actually usable by human beings (simple enough to understand) Instanciability: Can actually describe real settings (no magical parameter) Relevance: Captures object of interest
(8/142)
Networking
A few established packet-level simulators: NS-2, DaSSF, OMNeT++, GTNetS Well-known datasets for network topologies Well-known generators of synthetic topologies SSF standard: http://www.ssfnet.org/ Possible to reproduce simulation results
Dynamicity
Quantitative: resource sharing availability variation Qualitative: resource come and go (churn)
Complexity
Hierarchical systems: grids of clusters of multi-processors being multi-cores Resource sharing: network contention, QoS, batches Multi-hop networks, non-negligible latencies Middleware overhead (or optimizations) Interference of computation and communication (and disk, memory, etc)
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (11/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems
Possible designs Experimentation platforms: Grid5000 and PlanetLab Emulators: ModelNet and MicroGrid Packet-level Simulators: ns-2, SSFNet and GTNetS Ad-hoc simulators: ChicagoSim, OptorSim, GridSim, . . . Peer to peer simulators SimGrid
Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: SimGrid for Research on Large-Scale DistributedConcurrent Sequential Processes Research Comparing Heuristics for Systems Experiments for Large-Scale Distributed Systems
(12/142)
Model objects:
Evaluated application: Do actions, stimulus to the platform Resources (network, CPU, disk): Constitute the platform, react to stimulus.
Application blocked until actions are done Resource can sometime do actions to represent external load
less abstract
CPU
Macroscopic: Flows of operations in the CPU pipelines Microscopic: Cycle-accurate simulation (ne-grain d.e. simulation) Emulation: Virtualization via another CPU / Virtual Machine
Applications
Macroscopic: Application = analytical ow Less macroscopic: Set of abstract tasks with resource needs and dependencies
Coarse-grain d.e. simulation Application specication or pseudo-code API
(15/142)
Direct execution no experimental bias (?) Experimental settings xed (between hardware upgrades), but not controllable Virtualization allows sandboxing, but no experimental settings control Emulation can have high overheads (but captures the overhead) Discrete event simulation is slow, but hopefully accurate To scale, you have to trade speed for accuracy
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (16/142)
Applications not modied, direct execution Environment controlled, experiments repeatable Relative scalability (only 1500-4000 nodes)
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (17/142)
PlanetLab (consortium)
Open platform for developping, deploying, and accessing planetary-scale services Planetary-scale 852 nodes, 434 sites, >20 countries
Distribution Virtualization each user can get a slice of the platform Unbundled Management local behavior dened per node; network-wide behavior: services multiple competing services in parallel (shared, unprivileged interfaces) As unstable as the real world Demonstrate the feasability of P2P applications or middlewares No reproducibility!
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (18/142)
ModelNet (UCSD/Duke)
Applications
Emulation and virtualization: Actual code executed on virtualized resources Key tradeo: scalability versus accuracy
MicroGrid (UCSD)
Applications
Application supported by emulation and virtualization Actual application code is executed on virtualized resources Accounts for CPU and network
Application
Virtual Resources
Packet-level simulators
ns-2: the most popular one
Several protocols (TCP, UDP, . . . ), several queuing models (DropTail, RED, . . . ) Several application models (HTTP, FTP), wired and wireless networks Written in C++, congured using TCL. Limitated scalability (< 1, 000)
Many simulators. Most are home-made, short-lived; Some are released ChicSim designed for the study of data replication (Data Grids), built on ParSec
Ranganathan, Foster, Decoupling Computation and Data Scheduling in Distributed Data-Intensive Applications, HPDC02.
(22/142)
PeerSim, P2PSim, . . .
Thee peer-to-peer community also has its own private collection of simulators: focused on P2P protocols main challenge = scale
P2PSim Multi-threaded discrete-event simulator. Constant communication time. Alpha release (april 2005)
http://pdos.csail.mit.edu/p2psim/
PlanetSim Multi-threaded discrete-event simulator. Constant communication time. Last release (2006)
http://planet.urv.es/trac/planetsim/wiki/PlanetSim
PeerSim Designed for epidemic protocols. processes = state machines. Two simulation modes: cycle-based (time is discrete) or event-based. Resources are not modeled. 1.0.3 release (december 2007)
http://peersim.sourceforge.net/
(23/142)
SimGrid
History
Created just like other home-made simulators (only a bit earlier ;) Original goal: scheduling research need for speed (parameter sweep) accuracy not negligible HPC community concerned by performance
SimGrid in a Nutshell
Simulation communicating processes performing computations Key feature: Blend of mathematical simulation and coarse-grain d. e. simulation Resources: Dened by a rate (MFlop/s or Mb/s) + latency
Also allows dynamic traces and failures
Direct execution no experimental bias (?) Experimental settings xed (between hardware upgrades), but not controllable Virtualization allows sandboxing, but no experimental settings control Emulation can have high overheads (but captures the overhead) Discrete event simulation is slow, but hopefully accurate To scale, you have to trade speed for accuracy
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (25/142)
Simulation Validation
Crux of simulation works
Validation is dicult Almost never done convincingly (not specic to CS: other science have same issue here)
Argue that trends are respected (absolute values may be o) it is useful to compare algorithms/designs Conduct extensive verication campaign against real-world settings
(27/142)
For FLASH, the simple simulator was all that was needed. . .
Gibson, Kunz, Ofelt, Heinrich, FLASH vs. (Simulated) FLASH: Closing the Simulation Loop, Architectural Support for Programming Languages and Operating Systems, 2000
SimGrid for Research on Large-Scale Distributed Systems Experiments for Large-Scale Distributed Systems Research (28/142)
Conclusion
Large-Scale Distributed System Research is Experimental
Analytical models are too limited Real-world experiments are hard & limited Most literature rely on simulation
(29/142)
Conclusion
Claim: SimGrid may prove helpful to your research
User-community much larger than contributors group Used in several communities (scheduling, GridRPC, HPC infrastructure, P2P) Model limits known thanks to validation studies Easy to use, extensible, fast to execute Around since almost 10 years
Main limitations
Model validity
Practical usage
How to use it for your research
(30/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (31/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid
Modeling a Single Resource Multi-hop Networks Resource Sharing
Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (32/142)
Simulation speed:
Users conduct large parameter-sweep experiments over alternatives
Resource work at given rate (B, in MFlop/s or Mb/s) Each use have a given latency (L, in s)
Application to networks
Turns out to be inaccurate for TCP B not constant, but depends on RTT, packet loss ratio, window size, etc. Several models were proposed in the literature
(34/142)
B = min
RTT: Round trip time b: #packages acknowledged per ACK T0 : TCP average retransmission timeout value
Model discussion
Captures TCP congestion control (fast retransmit and timeout mecanisms) Assumes steady-state (no slow-start) Accuracy shown to be good over a wide range of values p and b not known in general (model hard to instanciable)
(35/142)
l1
l2
l3
l1
l2
pi,j
l3
MTU
Notations
L: set of links Cl : capacity of link l (Cl > 0) nl : amount of ows using link l F: set of ows; f P(L) f : transfer rate of f
Feasibility constraint
Links deliver their capacity at most: l L,
f l
f Cl
(39/142)
Max-Min Fairness
Objective function: maximize min(f )
f F
Equilibrium reached if increasing any f decreases a f (with f > f ) Very reasonable goal: gives fair share to anyone Optionally, one can add prorities wi for each ow i maximizing min(wf f )
f F
Bottleneck links
For each ow f , one of the links is the limiting one l (with more on that link l, the ow f would get more overall) The objective function gives that l is saturated, and f gets the biggest share f F, l f ,
f l
f = Cl
and f = max{f , f
l}
L. Massouli and J. Roberts, Bandwidth sharing: objectives and algorithms, e IEEE/ACM Trans. Netw., vol. 10, no. 3, pp. 320-328, 2002.
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (40/142)
Bucket-lling algorithm
Set the bandwidth of all ows to 0 Increase the bandwidth of every ow by . And again, and again, and again. When one link is saturated, all ows using it are limited ( Loop until all ows have found a limiting link removed from set)
Ecient Algorithm
1. Search for the bottleneck link l so that: Cl = min nl Ck , kL nk
2. f l, f = Cll ; n Update all nl and Cl to remove these ows 3. Loop until all f are xed
(41/142)
flow 0
n1 = 2 n2 = 2
0 C /2 1 C /2 2 C /2
All links have the same capacity C Each of them is limiting. Lets choose link 1 0 = C /2 and 1 = C /2 Remove ows 0 and 1; Update links capacity Link 2 sets 1 = C /2 Were done computing the bandwidth allocated to each ow
(42/142)
Flow 1
link 3
link 4
1 999 2 1
1 1000 1000 1000 1000 1, 1 , 2 , 1 , 1
The limiting link is link 0 since The limiting link is link 2 This xes 1 = 999 Done. We know 1 and 2
1 1
= min
(43/142)
Flow 1
link 3
link 4
C0 C1 C2 C3 C4
Cl nl n1 n1 n2 n3 n4
=1 =1 =2 =1 =1
= = = = =
Proportional Fairness
Max-Min validity limits
MaxMin gives a fair share to everyone Reasonable, but TCP does not do so Congestion mecanism: Additive Increase, Muplicative Decrease (AIMD) Complicates modeling, as shown in literature
Proportional Fairness
MaxMin gives more to long ows (resource-eager), TCP known to do opposite Objective function: maximize
F
wf log(f )
(45/142)
f f 0 f
Compute the point {f } where the derivate is zero (convex optimization) Use Lagrange multipliers and steepest gradient descent
C 0 = n+1
and
l = 0, l =
C n n+1
Ie, for C=100Mb/s and n=3, 0 = 25Mb/s, 1 = 2 = 3 = 75Mb/s Closer to practitioner expectations
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (46/142)
same updates
arctan(f )
Low, S.H., A Duality Model of TCP and Queue Management Algorithms, IEEE/ACM Transactions on Networking, 2003.
Want more?
network model:gtnets use Georgia Tech Network Simulator for network Accuracy of a packet-level network simulator without changing your code (!) Plug your own model in SimGrid!!
(usable as scientic instrument in TCP modeling eld, too)
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (48/142)
111 000 111 000 111 1 000 0 1111 1 0000 0 1111 1 0000 0 11111 00000 11111 00000
11 00 11 00 11 00 11 00 11 00
111 000 1 0 11 00 111 000 1 0 11 00 111 000 111 000 1 0 11 00 111111 000000 1 0 11 00
11 00 1 0 11 00 1 0
Resource Models in SimGrid
Simulated time
(49/142)
111 000 111 000 111 1 000 0 1111 1 0000 0 1111 1 0000 0 11111 00000 11111 00000
SimGrid for Research on Large-Scale Distributed Systems
11 11111 00 00000 11 111 00 000 11111 00000 111111 11 000000 00 111 000 11 111 00 000 111111 000000 11 1111111 00 0000000 11 00 111 000
Resource Models in SimGrid
Simulated time
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models
Single link Dumbbell Random platforms Simulation speed
Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (51/142)
SimGrid Validation
Quantitative comparison of SimGrid with Packet-Level Simulators
NS2: The Network Simulator SSFnet: Scalable Simulation Framework 2.0 (Dartmouth) GTNetS: Georgia Tech Network Simulator
Methodological limits
Packet-level supposed accurate (comparison to real-world: future work) Max-Min only: other models were not part of SimGrid at that time
Challenges
Which topology? Which parameters consider? e.g. bandwidth, latency, size, all
How to estimate performance? e.g. throughput, communication time How to estimate simulation response time slowdown? P PerfPacketLevel How to compute error? e.g. PerfSimGrid
Velho, Legrand, Accuracy Study and Improvement of Network Simulation in the SimGrid Framework, to appear in Second International Conference on Simulation Tools and Techniques, SIMUTools09, Rome, Italy, March 2009.
SimGrid Validation
Experiments assumptions
Topology: Single Link; Dumbbell; Random topologies (several) Parameters: data size, #ows, #nodes, link bandwidth and latency Performance: communication time and bandwidth estimation
All TCP ows start at the same time All TCP ows are stopped when the rst ow completes Bandwidth estimation is done based on communication remaining.
Slowdown:
Notations
B, link nominal bandwidth ; L, link latency S, Amount of transmitted data Error: (TGTNetS , TSimGrid ) = log(TGTNetS ) log(TSimGrid )
Symmetrical for over and under estimations (thanks to logs) 1X Average error: || = |i | Max error: |max | = max(|i |) i n i Computing gain/loss in percentage: e || 1 or e |max | 1
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (53/142)
Flow throughput as function of L and B Fixed size (S=100MB) and window (W=20KB) Legend
Results
1000 Throughput (KB/s) 800 600 400 200 0 1000 500 Bandwidth (KB/s) 0 100 80 60 40 20 0
+L
+: SSFNet
with TCP FAST INTERVAL=0.01
Latency (ms)
Conclusion
SimGrid estimations close to packet-level simulators (when S=100MB)
When B < When B >
W 2L W 2L
Throughput (Kb/s)
700 600 500 400 300 200 100 0 0.001 0.01 0.1 1 10 NS2 SSFNet (0.2) SSFNet (0.01) GTNets SimGrid 100 1000
Packet-level tools dont completely agree SSFNet TCP FAST INTERVAL bad default GTNetS is equally distant from others
CM02 doesnt take slow start into account S S < 100KB S [100KB; 10MB] S > 10MB || 146% 17% 1% |max | 508% 80% 1%
1.5
||
0.5
0 0.001
0.01
0.1
10
100
1000
(55/142)
Throughput (KB/s)
700 600 500 400 300 200 100 0 0.001 0.01 0.1 1 10 NS2 SSFNet (0.2) SSFNet (0.01) GTNets SimGrid 100 1000
This dramatically improve validity range S S < 100KB S > 100KB || 12% 1% |max | 162% 6%
1.5
||
0.5
0 0.001
0.01
0.1
10
100
1000
(56/142)
10 10
0M B/ ms s
B MB/s
s B/ M 00 ms 1 10
Fl ow B
20 ms
10 0M
ms
B/
Comparison limited to the GTNetS packet-level simulator Bandwidth: linearly sampled with 16 points B [0.01, 1000] MB/s Latency: linearly sampled with 20 points L [0, 200] ms Size: S=100MB Compare instantaneous bandwidth share (SimGrid vs. GTNetS)
(57/142)
0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 Flow B Flow A
10 0M B/ 10 ms s
B MB/s
0M B/ s
20 ms
10 0M
10
ms 10
ow Fl B
ms
B/
0.1 1 8
0.1 1 8
50
100
200
10
50
100
150
10
GTNetS
Latency (ms)
SimGrid
L = 10 ms Flow A gets as much bandwidth as B L > 10 ms Flow A gets more bandwidth than B
Neglectable error
|max | 0.1%
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (58/142)
150
200
Flo
wA 10 B/s 0M s m 10
10 10
0M B/ ms s
B MB/s
s B/ 0M 10 0 ms 1
ow Fl B
20 ms
10 0M
ms
B/
Analysis
|| 15%; |max | 202% Model inaccurate or badly instantiated...
SimGrid
(59/142)
Ratio =
Ratio
6 5 4 3 2 1
Data tting = Lj +
5e+07 4e+07 3e+07 2e+07 1e+07 0.2 0 Bandwidth 0.1 0.12 0.14 Latency 0.16 0.18
LV08 improvements
Max-Min with priorities: wi =
link k is used by ow i
Lk +
8775 Bk
Improved results:
|| 4% ; |max | 44%
(60/142)
10 0M B/s 10 ms
B MB/s
s B/ 0M s m 10
ow Fl B
20 ms
10 0M
10
ms
B/s
Flow B
Old Improved
0.5
||
0 100 200 300 400 500 600 700 800 900 1000
||
0.5
0 Experiments
0 0 100 200 300 400 500 600 700 800 900 1000 Experiments
Conclusion
SimGrid uses an accurate yet fast sharing model Improved model is validated against GTNetS Accuracy has to be evaluated against more general topologies
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (61/142)
Victoriaville
Tremblay
Toronto
Ltd
Jean_Maurice Pointe_Claire Linda Saint_Amand Ginette Thibault Toulouse Jean_Paul George Maltais Fourier Wright Frank Wilfrid Mont_Tremblant Charron Ottawa Jupiter
Latency: L [0; 5] ms (euclidian distance) Flow size: S=10MB #ows: F=150; #nodes: N [50; 200] Four scenarios, ten dierent ow instantiations
Ronald
Foisy
Jean_Yves
Boily
Pedro Vehlo, Arnaud Legrand. Accuracy Study and Improvement of Network Simulation in the SimGrid Framework. Submitted to SimuTools09.
(62/142)
Old Improved
0.5
0.5
0 3 2 1 0 1 2 3
0 3 2 1 0 1 2 3
Ratio
10
20
30
40
50
60
Ratio
10
20
30
40
50
60
Interpretation
Clear improvements of new model || < 0.2 (i.e., 22%); |max | still challenging up to 461%
Resource Models in SimGrid (63/142)
Simulation speed
200-nodes/200-ows network sending 1MB each
# of ows 10 25 50 100 200 GTNetS Simulation time simulation simulated 0.661s 0.856 1.651s 1.712 3.697s 3.589 7.649s 7.468 15.705s 11.515 SimGrid Simulation time 0.002s 0.008s 0.028s 0.137s 0.536s
simulation simulated
simulation simulated
GTNetS execution time linear in both data size and #ows SimGrid only depends on #ows
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (64/142)
Conclusion
Models of Grid Simulators
Most are overly simplistic (wormhole: slow and inaccurate at best) Some are plainly wrong (OptorSim unfortunate sharing policy)
SimGrid speedup 103 , GTNetS slowdown up to 10 (ns-2, SSFNet even worse) SimGrid execution time depends only on #ows, not data size SimGrid can use GTNetS to perform network predictions (for paranoids)
SimGrid for Research on Large-Scale Distributed Systems Resource Models in SimGrid (65/142)
Future Work
Towards Real-World Experiments
Assess the several models implemented in SimGrid Assess Packet-Level simulators themselves Use even more realistic platforms: high contention scenarios Use more realistic applications: e.g. (NAS benchmark)
size
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (67/142)
Platform Instantiation
Platform Instanciation
(68/142)
Peak Performance
Bandwidth and Latencies Processing capacity
Background Conditions
Load Failures
Platform Instanciation
(69/142)
Declare routes from each host to each host (list of links) Arbitrary data can be attached to components using the <prop> tag
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (70/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (71/142)
Platform Catalog
Several Existing Platforms Modeled
Grid5000 9 sites, 25 clusters 1,528 hosts GridPP 18 clusters 7,948 hosts DAS 3 5 clusters 277 hosts LCG 113 clusters 44,184 hosts
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (73/142)
1. Node Placement
Uniform
Heavy Tailed
Platform Instanciation
(75/142)
0<
d: Euclidean distance between u and v ; L = c 2; c side of placement square Amount of edges increases with
0 < ,
if d < L r if d L r
Zegura, Calvert, Donahoo, A quantitative comparison of graph-based models for Internet topology, IEEE/ACM Transactions on Networking, 1997.
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (76/142)
Transit Domains
Multi-homed stub
Platform Instanciation
(77/142)
10
10
10
10
Nov 97
(R = 0, 81)
Apr 98
(R = 0, 82)
Dec 98
(R = 0, 74)
Routers 95
(R = 0, 48)
Bar`basi-Albert algorithm a
Incremental growth Anity connexion
Barabsi and Albert, Emergence of scaling in random networks, Science 1999, num 59, p509512. a
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (79/142)
10
100
10
10
100
10
100 rank
1000
Interdomain
11/97
1000
Barbasi Albert a
(BRITE)
Waxman
Transit-Stub
(GT-ITM)
GT-ITM
frequency
10
10
10
10
10
1 1 outdegree_freq 10
1 1 outdegree_freq 10
1 1 outdegree_freq 10
1 1 outdegree_freq 10
1 100 outdegree_freq
Interdomain
11/97
Barbasi Albert a
(BRITE)
Waxman
Transit-Stub
(GT-ITM)
GT-ITM
Laws respected by interdomain topology seemingly necessary condition Bar`basi-Albert performs the best (as expected) a GT-ITM performs the worst
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (80/142)
Methodological limits
Necessary condition = sucient condition Laws observed by Faloutsos brothers are correlated They could be irrelevant parameters
Baford, Bestavros, Byers, Crovella, On the Marginal Utility of Network Topology Measurements, 1st ACM SIGCOMM Workshop on Internet Measurement, 2001.
Conclusion
10,000 nodes platform: Degree-based generators perform better 100 nodes platform
Power-laws make no sense Structural generators seem more appropriate
Some models exist Lee, Stepanek, On future global grid communication performance, HCW
Platform Instanciation
(83/142)
Platform Instanciation
(84/142)
Synthetic Clusters
Clusters are classical resource
What is the typical distribution of clusters?
Validated model against a set of 191 clusters (10K+ procs) Models allow extrapolation for future congurations Models implemented in a resource generator
Kee, Casanova, Chien, Realistic Modeling and Synthesis of Resources for Computational Grids, Supercomputing 2004.
Platform Instanciation
(85/142)
Models by Feitelson et Al.: job inter-arrival times (Gamma), amount of work requested (Hyper-Gamma), number of processors requested: Compounded (2p , 1, ...)
Traces
The Grid Workloads Archive (http://gwa.ewi.tudelft.nl/pmwiki/) Resource Prediction System Toolkit (RPS) based traces (http://www.cs.
northwestern.edu/~pdinda/LoadTraces)
All-in-one tools
GridG
Lu and Dinda, GridG: Generating Realistic Computational Grids, Performance Evaluation Review, Vol. 30::4 2003.
Simulacrum tool
Quinson, Suter, A Platform Description Archive for Reproducible Simulation Experiments, Submitted to SimuTools09.
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (87/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (88/142)
Platform Instanciation
(89/142)
Pathchar
No network privilege required, but must be root on hosts not adapted to Grid settings
Platform Instanciation
(90/142)
S S S S S S
S DB S
Wrong topology
Wrong values
Architecture
Right platform
Lightweight distributed measurement infrastructure (collection of sensors) MySQL measurement database Topology builder, with several reconstruction algorithms
Eyraud-Dubois, Legrand, Quinson, Vivien, A First Step Towards Automatically Building Network Representations, EuroPar07.
Platform Instanciation
(92/142)
Reconstruction algorithms
Basic algorithms
Clique: Connect all pairs of nodes, label with measured values Maximum Bandwidth Spanning Tree and Minimum Latency Spanning Tree
Aggregation
Grow a set of connected nodes For each new one, connect it to already chosen ones to improve predictions
Platform Instanciation
(93/142)
Evaluation methodology
Goal: Quantify similarity between initial and reconstructed platforms Running in situ: beware of experimental bias!
Reconstructed platform doesnt exist in the real world cannot compare measurements on both platforms hard to assess quality of reconstruction algorithms on real platforms
# steps 1 1 1 procs
(94/142)
Evaluation methodology
Apply all evaluations on all reconstructions for several platforms
S S S S S S S DB S
1 thm ori Alg Algorithm 2 Al go rith m 3
Wrong topology
Wrong values
Right platform
Measurements
Bandwidth matrix Latency matrix
Algorithms
Clique BW/Lat Spanning Tree Improved BW/Lat Tree Aggregate
Evaluation criteria
End-to-end meas. Interference count Application-level
End to end
1.4
Interferences
2500
Application-level
Correct pred. False pos. False neg.
Accuracy
2
# occurences
Accuracy
BW Lat
1.2
# actual interf.
iq u ee e BW T Im ree pT La t r Im eeB pT W re A eL gg at re ga te
Clique:
Very good for end-to-end (of course) No contention captured missing interference
bad predictions
bad predictions
Improved Spanning Trees have good predictive power Aggregate accuracy discutable
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (96/142)
Cl iq Tr ue ee B T W Im ree pT La t r Im eeB pT W re A eL gg at re ga te
1.0
Tr
Cl
Application-level measurements
4
Accuracy
Accuracy
Bandwidth Latency
iq u ee e BW T Im ree pT La t r Im eeB pT W re A eL gg at re ga te
Interpretation
Naive algorithms lead to poor results Improved trees yield good reconstructions
ImpTreeBW error 3% for all2all (worst case)
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (97/142)
iq Tr ue ee B T W Im ree pT La t r Im eeB pT W re A eL gg at re ga te
Cl
Tr
Cl
Application-level measurements
BW Lat Accuracy
4
iq Tr ue ee B T W Im ree pT La t r Im eeB pT W re A eL gg at re ga te
Accuracy
Cl
Interpretation
None of the proposed heuristic is satisfactory Future work: improve this!
SimGrid for Research on Large-Scale Distributed Systems Platform Instanciation (98/142)
Cl iq Tr ue ee B T W Im ree pT La t r Im eeB pT W re A eL gg at re ga te
Future work
Other measurements from the sensors (new inputs to algorithms)
Interference (but very expensive to acquire); Packet gap and back-to-back packets
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (100/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (101/142)
MSG
Simple applicationlevel simulator
GRAS
AMOK
SMPI
Library to run MPI applications on top of a virtual environment
XBT: Grounding features (logging, etc.), usual data structures (lists, sets, etc.) and portability layer
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (104/142)
3
Time
6 End
Main functionalities
1. Create a DAG of tasks
Vertices: tasks (either communication or computation) Edges: precedence relation
Scheduling tasks
SD task schedule(task, workstation number, *workstation list, double *comp amount, double *comm amount, double rate)
Tasks are parallel by default; simply put workstation number to 1 if not Communications are regular tasks, comm amount is a matrix Both computation and communication in same task possible rate: To slow down non-CPU (resp. non-network) bound applications
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes
Motivations, Concepts and Example of Use Java bindings A Glance at SimGrid Internals Performance Results
sprintf(mailbox,"worker-%d",id); while(1) { errcode = MSG_task_receive(&task, mailbox); xbt_assert0(errcode == MSG_OK, "MSG_task_get failed"); if (!strcmp(MSG_task_get_name(task),"finalize")) { MSG_task_destroy(task); break; } INFO1("Processing %s", MSG_task_get_name(task)); MSG_task_execute(task); INFO1("%s done", MSG_task_get_name(task)); MSG_task_destroy(task); } INFO0("Im done. See you!"); return 0; }
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (109/142)
/* Dispatching (dumb round-robin algorithm) */ for (i = 0; i < number_of_tasks; i++) { sprintf(buff, "Task_%d", i); task = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL); sprintf(mailbox,"worker-%d",i % workers_count); INFO2("Sending %s to mailbox , task->name, mailbox); %s" MSG_task_send(task, mailbox); } /* Send finalization message to workers */ INFO0("All tasks dispatched. Lets stop workers"); for (i = 0; i < workers_count; i++) MSG_task_put(MSG_task_create("finalize", 0, 0, 0), workers[i], 12); INFO0("Goodbye now!"); return 0; }
(110/142)
</platform>
(111/142)
(112/142)
(113/142)
(114/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes
Motivations, Concepts and Example of Use Java bindings A Glance at SimGrid Internals Performance Results
import simgrid.msg.*; public class Master extends simgrid.msg.Process { public void main(String[ ] args) throws JniException, NativeException { int numberOfTasks = Integer.valueOf(args[0]).intValue(); double taskComputeSize = Double.valueOf(args[1]).doubleValue(); double taskCommunicateSize = Double.valueOf(args[2]).doubleValue(); int workerCount = Integer.valueOf(args[3]).intValue(); Msg.info("Got "+ workerCount + " workers and " + numberOfTasks + " tasks.");
for (int i = 0; i < numberOfTasks; i++) { BasicTask task = new BasicTask("Task_" + i ,taskComputeSize,taskCommunicateSize); task.send("worker-" + (i % workerCount)); Msg.info("Send completed for the task " + task.getName() + " on the mailbox worker-" + (i % workerCount) + ""); } Msg.info("Goodbye now!"); } }
(117/142)
What about performance XXX XXXworkers 100 500 XXX tasks X 1,000 native .16 .19 java .41 .59 10,000 native .48 .52 java 1.6 1.9 100,000 native 3.7 3.8 java 14. 13. 1,000,000 native 36. 37. java 121. 130.
loss?
1,000 .21 .94 .54 2.38 4.0 15. 38. 134. 5,000 .42 7.6 .83 13. 4.4 29. 41. 163. 10,000 0.74 27. 1.1 40. 4.5 77. 40. 200.
(118/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes
Motivations, Concepts and Example of Use Java bindings A Glance at SimGrid Internals Performance Results
Example
Thread A:
Send toto to B Receive something from B
Maestro
Simulation Kernel:
whos next?
Thread A
Thread B
Send "toto" to B
Thread B:
Receive something from A Send blah to A
Receive from B
Receive from A
(120/142)
GRAS
SimIX
POSIX-like API on a virtual platform
SURF
virtual platform simulator
XBT
(121/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes
Motivations, Concepts and Example of Use Java bindings A Glance at SimGrid Internals Performance Results
10,000
1.97
100,000
5.5
1,000,000
41.
: out of memory
Using SimGrid for Practical Grid Experiments (123/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications
Motivation and project goals Functionalities Experimental evaluation (performance and simplicity) Conclusion and Perspectives
Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (124/142)
Goals of the GRAS project (Grid Reality And Simulation) Ease development of large-scale distributed apps
Development of real distributed applications using a simulator
Research
Code
Development
rewrite
Code
GRAS
Simulation Application
1 0
Without GRAS
With GRAS
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications
Motivation and project goals Functionalities Experimental evaluation (performance and simplicity) Conclusion and Perspectives
Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (126/142)
Emulation issues
How to get the process sleeping? How to get the current time?
System calls are virtualized: gras os time; gras os sleep
(128/142)
Client code
int client(int argc,char *argv[ ]) { gras_socket_t peer=NULL, from ; int ping=1234, pong; gras_init(&argc, argv); gras_os_sleep(1); /* Wait for the server startup */ peer=gras_socket_client("127.0.0.1",4000); register_messages(); gras_msg_send(peer, "ping", &ping); INFO3("PING(%d) -> %s:%d",ping, gras_socket_peer_name(peer), gras_socket_peer_port(peer)); gras_msg_wait(6000,"pong",&from,&pong); gras_exit(); return 0; }
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (129/142)
GRAS_DEFINE_TYPE(s_vect, struct s_vect { gras_datadesc_type_t gras_datadesc_struct(name); int cnt; gras_datadesc_struct_append(struct type,name,field type); double*data GRAS_ANNOTE(size,cnt); gras datadesc struct close(struct type); } );
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications
Motivation and project goals Functionalities Experimental evaluation (performance and simplicity) Conclusion and Perspectives
Conclusion
SimGrid for Research on Large-Scale Distributed Systems Using SimGrid for Practical Grid Experiments (132/142)
Tested solutions
GRAS PBIO (uses NDR) OmniORB (classical CORBA solution) MPICH (classical MPI solution) XML (Expat parser + handcrafted communication)
(133/142)
Performance on a LAN
Sender: ppc
10
-2
22.7ms 10
-2
sparc
7.7ms 3.9ms 2.4ms 10-3
40.0ms
x86
10
-2
8.2ms 4.3ms
17.9ms
3.1ms 10-3
5.4ms
ppc
Receiver
10-3
0.8ms
10-4
10-4
10-4
n/a
10
-2
6.3ms 1.6ms
10
-2
4.8ms 2.5ms
7.7ms 7.0ms
10
-2
5.7ms
6.9ms
sparc
10-3
10-3
10-3
10-4
10-4
XML 34.3ms
10-4
18.0ms 10-2 3.4ms 5.2ms 10-2 2.9ms 10-3 5.4ms 5.6ms 10-2 2.3ms 10-3 3.8ms 2.2ms
12.8ms
x86
10-3
0.5ms
10-4
n/a
n/a XML
10-4
10-4
XML
MPICH twice as fast as GRAS, but cannot mix little- and big-endian Linux PBIO broken on PPC XML much slower (extra conversions + verbose wire encoding)
Results discussion
XML complexity may be artefact of Expat parser (but fastest) MPICH: manual marshaling/unmarshalling PBIO: automatic marshaling, but manual type description OmniORB: automatic marshaling, IDL as type description GRAS: automatic marshaling & type description (IDL is C)
GRAS
GRE: GRAS in situ
SimIX
POSIX-like API on a virtual platform
11111111 00000000 API 11111111 00000000 GRDK GRE 1111 0000 SimGrid 1111 0000
With GRAS
Code
SURF
virtual platform simulator
XBT
Ongoing applications
Comparison of P2P protocols (Pastry, Chord, etc) Use emulation mode to validate SimGrid models Network mapper (ALNeM): capture platform descriptions for simulator Large scale mutual exclusion service
Future applications
Platform monitoring tool (bandwidth and latency) Group communications & RPC; Application-level routing; etc.
(137/142)
Agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches Tools for Experimentations in Large-Scale Distributed Systems Resource Models in SimGrid Analytic Models Underlying SimGrid Experimental Validation of the Simulation Models Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes GRAS: Developing and Debugging Real Applications Conclusion
SimGrid for Research on Large-Scale Distributed Systems Conclusion (138/142)
GRAS
GRE: GRAS in situ
Extreme Scalability for P2P Model-checking of GRAS applications Emulation solution ` la MicroGrid a
SimIX
POSIX-like API on a virtual platform
SURF
virtual platform simulator
XBT
Large community
http://gforge.inria.fr/projects/simgrid/ 130 subscribers to the user mailling list (40 to -devel) 40 scientic publications using the tool for their experiments
15 co-signed by one of the core-team members 25 purely external
LGPL, 120,000 lines of code (half for examples and regression tests) Examples, documentation and tutorials on the web page
Detailed agenda
Experiments for Large-Scale Distributed Systems Research Methodological Issues Main Methodological Approaches
Real-world experiments Simulation
Platform Instanciation Platform Catalog Synthetic Topologies Topology Mapping Using SimGrid for Practical Grid Experiments Overview of the SimGrid Components SimDag: Comparing Scheduling Heuristics for DAGs MSG: Comparing Heuristics for Concurrent Sequential Processes
Motivations, Concepts and Example of Use Java bindings A Glance at SimGrid Internals Performance Results
Conclusion
SimGrid for Research on Large-Scale Distributed Systems Conclusion (142/142)