SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
an introduction to
Distem – http://distem.gforge.inria.fr/ 1 / 17
Imagine you want to build a race car
Distem – http://distem.gforge.inria.fr/ 2 / 17
But you want it to work well
on both dry tracks and wet tracks
Distem – http://distem.gforge.inria.fr/ 3 / 17
You could use a simulation :
model the car and the track
and compute how they would interact
Distem – http://distem.gforge.inria.fr/ 4 / 17
Or you could use a real world experiment :
build a car, and try it on a real circuit
Distem – http://distem.gforge.inria.fr/ 5 / 17
Or you could use a real world experiment :
build a car, and try it on a real circuit
But sometimes, rain is unlikely
Distem – http://distem.gforge.inria.fr/ 5 / 17
You could move to another race track . . .
But what if you could change the weather ?
Distem – http://distem.gforge.inria.fr/ 6 / 17
You could move to another race track . . .
But what if you could change the weather ?
That’s what Distem does :
Take a platform, and alter it to suit
your experimentation needs
Distem – http://distem.gforge.inria.fr/ 6 / 17
An emulator for distributed systems
Take your real application
Run it on a cluster
And use Distem to alter the platform
so it matches the experimental conditions you need
Heterogeneous nodes
Long distance networks
Faults, perf. variations
Grid, Cloud, P2P features
. . .
Distem – http://distem.gforge.inria.fr/ 7 / 17
Ideal complement to other tools
SimGrid
Toolkit for the simulation of
distributed applications in
heterogeneous environments
Grid’5000
Large-scale platform
for experiments on
distributed systems
1700 nodes, 7000 cores
Fully reconfigurable
Grid’5000
Distem – http://distem.gforge.inria.fr/ 8 / 17
Ideal complement to other tools
SimGrid
Toolkit for the simulation of
distributed applications in
heterogeneous environments
Grid’5000
Large-scale platform
for experiments on
distributed systems
1700 nodes, 7000 cores
Fully reconfigurable
Grid’5000
Distem can run on Grid’5000
Distem – http://distem.gforge.inria.fr/ 8 / 17
What can Distem do for you ?
Introduce heterogeneity in an homogeneous cluster
How does your app perform when some nodes are slower ?
Emulate complex network topologies
How does your app perform on a Grid ? on a slower network ?
Inject faults and performance variations during the experiment
How does your app behave when a node crashes ?
When the available CPU time decreases ?
When the available network bandwidth increases ?
Distem – http://distem.gforge.inria.fr/ 9 / 17
Introducing heterogeneity
Distem splits real nodes into several virtual nodes
with a different number of cores
with different CPU performance
Each virtual node can be used as a real Linux system
0 1 2 3 4 5 6 7
VN 1 VN 2 VN 3 Virtual node 4
CPU cores
CPUperformance
Distem – http://distem.gforge.inria.fr/ 10 / 17
Emulating network topologies
Emulate several local networks linked together
Control available bandwidth and latency on each interface
n3
n1
n2
←5 Mbps, 10ms
10 Mbps, 5ms→
if0
←
1 Mbps, 30ms
1 Mbps, 30ms→
if0
←
100 Mbps, 3ms
100 Mbps, 1ms→
if0
n4
n5
←4 Mbps, 12ms
6 Mbps, 16ms→
if1
←
10 Kbps, 200ms
20 Kbps, 100ms→
if0
←
200 Kbps, 30ms
512 Kbps, 40ms→
if0
Distem – http://distem.gforge.inria.fr/ 11 / 17
Distem internals
Distem uses modern Linux features
to steal resources from applications :
LXC, cgroups, cpufreq, iptables, traffic control
Node 1
Node 2
Node 3
Switch
Node 1
Node 2
Node 3
Switch
Distem – http://distem.gforge.inria.fr/ 12 / 17
User interfaces
Command-line interface – distem command
Easy to use
Harder to automate
No access to more advanced features
Ruby library
Easy to automate
Access to all features
/ Easy to use if you known Ruby
REST API
Can be used from any language
Requires REST knowledge
Distem – http://distem.gforge.inria.fr/ 13 / 17
Overview of a Distem instance
User’s machine
Uses the command line interface,
the Ruby client library
or a REST client
Pnode 2
distemd
Pnode 3
distemd
Coordinator
& Pnode 1
Starts and controls other Pnodes
Keeps the global state of the platform
Is the gateway to Pnodes and Vnodes
distemdREST
REST
Vnodes
Distem – http://distem.gforge.inria.fr/ 14 / 17
Example experiment : SCP vs Rsync
Transfer 50 files (total : 5 MB)
Available bandwidth : 10 Mbps
Varying network latency
0 20 40 60 80 100
0
10
20
Emulated latency (ms)
Transfertime(s)
SCP
Rsync
Distem – http://distem.gforge.inria.fr/ 15 / 17
Distem scales to thousands of virtual nodes
Executing a command with ClusterShell and TakTuk
0 10,000 20,000 30,000 40,000
0
200
400
600
Virtual nodes
Executiontime(s)
ClusterShell
TakTuk
Distem – http://distem.gforge.inria.fr/ 16 / 17
More information ?
http://distem.gforge.inria.fr/
Distem – http://distem.gforge.inria.fr/ 17 / 17

Contenu connexe

Similaire à an introduction to Distem

Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveMirantis
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedKeisuke Takahashi
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Codemotion
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDocker, Inc.
 
From data centers to fog computing: the evaporating cloud
From data centers to fog computing: the evaporating cloudFrom data centers to fog computing: the evaporating cloud
From data centers to fog computing: the evaporating cloudFogGuru MSCA Project
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleChanaka Lasantha
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application sizeKeval Patel
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Keisuke Takahashi
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...Yandex
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsToradex
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewMarco Amado
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceIntel® Software
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Bo-Yi Wu
 

Similaire à an introduction to Distem (20)

Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
 
How to Use OpenMP on Native Activity
How to Use OpenMP on Native ActivityHow to Use OpenMP on Native Activity
How to Use OpenMP on Native Activity
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
 
From data centers to fog computing: the evaporating cloud
From data centers to fog computing: the evaporating cloudFrom data centers to fog computing: the evaporating cloud
From data centers to fog computing: the evaporating cloud
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmaple
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application size
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
Ltsp talk
Ltsp talkLtsp talk
Ltsp talk
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
 
Backtrack Manual Part4
Backtrack Manual Part4Backtrack Manual Part4
Backtrack Manual Part4
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux Systems
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
 
Touch your NetBSD
Touch your NetBSDTouch your NetBSD
Touch your NetBSD
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript Performance
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 

Dernier

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Dernier (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

an introduction to Distem

  • 1. an introduction to Distem – http://distem.gforge.inria.fr/ 1 / 17
  • 2. Imagine you want to build a race car Distem – http://distem.gforge.inria.fr/ 2 / 17
  • 3. But you want it to work well on both dry tracks and wet tracks Distem – http://distem.gforge.inria.fr/ 3 / 17
  • 4. You could use a simulation : model the car and the track and compute how they would interact Distem – http://distem.gforge.inria.fr/ 4 / 17
  • 5. Or you could use a real world experiment : build a car, and try it on a real circuit Distem – http://distem.gforge.inria.fr/ 5 / 17
  • 6. Or you could use a real world experiment : build a car, and try it on a real circuit But sometimes, rain is unlikely Distem – http://distem.gforge.inria.fr/ 5 / 17
  • 7. You could move to another race track . . . But what if you could change the weather ? Distem – http://distem.gforge.inria.fr/ 6 / 17
  • 8. You could move to another race track . . . But what if you could change the weather ? That’s what Distem does : Take a platform, and alter it to suit your experimentation needs Distem – http://distem.gforge.inria.fr/ 6 / 17
  • 9. An emulator for distributed systems Take your real application Run it on a cluster And use Distem to alter the platform so it matches the experimental conditions you need Heterogeneous nodes Long distance networks Faults, perf. variations Grid, Cloud, P2P features . . . Distem – http://distem.gforge.inria.fr/ 7 / 17
  • 10. Ideal complement to other tools SimGrid Toolkit for the simulation of distributed applications in heterogeneous environments Grid’5000 Large-scale platform for experiments on distributed systems 1700 nodes, 7000 cores Fully reconfigurable Grid’5000 Distem – http://distem.gforge.inria.fr/ 8 / 17
  • 11. Ideal complement to other tools SimGrid Toolkit for the simulation of distributed applications in heterogeneous environments Grid’5000 Large-scale platform for experiments on distributed systems 1700 nodes, 7000 cores Fully reconfigurable Grid’5000 Distem can run on Grid’5000 Distem – http://distem.gforge.inria.fr/ 8 / 17
  • 12. What can Distem do for you ? Introduce heterogeneity in an homogeneous cluster How does your app perform when some nodes are slower ? Emulate complex network topologies How does your app perform on a Grid ? on a slower network ? Inject faults and performance variations during the experiment How does your app behave when a node crashes ? When the available CPU time decreases ? When the available network bandwidth increases ? Distem – http://distem.gforge.inria.fr/ 9 / 17
  • 13. Introducing heterogeneity Distem splits real nodes into several virtual nodes with a different number of cores with different CPU performance Each virtual node can be used as a real Linux system 0 1 2 3 4 5 6 7 VN 1 VN 2 VN 3 Virtual node 4 CPU cores CPUperformance Distem – http://distem.gforge.inria.fr/ 10 / 17
  • 14. Emulating network topologies Emulate several local networks linked together Control available bandwidth and latency on each interface n3 n1 n2 ←5 Mbps, 10ms 10 Mbps, 5ms→ if0 ← 1 Mbps, 30ms 1 Mbps, 30ms→ if0 ← 100 Mbps, 3ms 100 Mbps, 1ms→ if0 n4 n5 ←4 Mbps, 12ms 6 Mbps, 16ms→ if1 ← 10 Kbps, 200ms 20 Kbps, 100ms→ if0 ← 200 Kbps, 30ms 512 Kbps, 40ms→ if0 Distem – http://distem.gforge.inria.fr/ 11 / 17
  • 15. Distem internals Distem uses modern Linux features to steal resources from applications : LXC, cgroups, cpufreq, iptables, traffic control Node 1 Node 2 Node 3 Switch Node 1 Node 2 Node 3 Switch Distem – http://distem.gforge.inria.fr/ 12 / 17
  • 16. User interfaces Command-line interface – distem command Easy to use Harder to automate No access to more advanced features Ruby library Easy to automate Access to all features / Easy to use if you known Ruby REST API Can be used from any language Requires REST knowledge Distem – http://distem.gforge.inria.fr/ 13 / 17
  • 17. Overview of a Distem instance User’s machine Uses the command line interface, the Ruby client library or a REST client Pnode 2 distemd Pnode 3 distemd Coordinator & Pnode 1 Starts and controls other Pnodes Keeps the global state of the platform Is the gateway to Pnodes and Vnodes distemdREST REST Vnodes Distem – http://distem.gforge.inria.fr/ 14 / 17
  • 18. Example experiment : SCP vs Rsync Transfer 50 files (total : 5 MB) Available bandwidth : 10 Mbps Varying network latency 0 20 40 60 80 100 0 10 20 Emulated latency (ms) Transfertime(s) SCP Rsync Distem – http://distem.gforge.inria.fr/ 15 / 17
  • 19. Distem scales to thousands of virtual nodes Executing a command with ClusterShell and TakTuk 0 10,000 20,000 30,000 40,000 0 200 400 600 Virtual nodes Executiontime(s) ClusterShell TakTuk Distem – http://distem.gforge.inria.fr/ 16 / 17
  • 20. More information ? http://distem.gforge.inria.fr/ Distem – http://distem.gforge.inria.fr/ 17 / 17