SlideShare a Scribd company logo
1 of 19
an introduction to




Distem – http://distem.gforge.inria.fr/   1 / 16
Imagine you want to build a race car




         Distem – http://distem.gforge.inria.fr/   2 / 16
But you want it to work well
on both dry tracks and wet tracks




        Distem – http://distem.gforge.inria.fr/   3 / 16
You could use a simulation :
    model the car and the track
and compute how they would interact




         Distem – http://distem.gforge.inria.fr/   4 / 16
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 / 16
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 / 16
You could move to another race track . . .
But what if you could change the weather ?




             Distem – http://distem.gforge.inria.fr/   6 / 16
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 / 16
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
                                                       Grid, Cloud, P2P features
                                                                 ...
             Distem – http://distem.gforge.inria.fr/                          7 / 16
Ideal complement to other tools
            SimGrid               Grid’5000
 Toolkit for the simulation of                                                           Large-scale platform
  distributed applications in                                                             for experiments on
heterogeneous environments                                                               distributed systems
                                                                                        1700 nodes, 7000 cores
                                                                                          Fully reconfigurable

                                          SMPI               GRAS
   SimDag     MSG



                                                                                               Grid’5000
                                                                    GRE: GRAS in situ




                                                 SMURF
                                          SimIX network proxy

                                         SimIX
                    "POSIX−like" API on a virtual platform

                     SURF
            virtual platform simulator

                                XBT




                                                     Distem – http://distem.gforge.inria.fr/                     8 / 16
Ideal complement to other tools
            SimGrid               Grid’5000
 Toolkit for the simulation of                                                           Large-scale platform
  distributed applications in                                                             for experiments on
heterogeneous environments                                                               distributed systems
                                                                                        1700 nodes, 7000 cores
                                                                                          Fully reconfigurable

                                          SMPI               GRAS
   SimDag     MSG



                                                                                               Grid’5000
                                                                    GRE: GRAS in situ




                                                 SMURF
                                          SimIX network proxy

                                         SimIX
                    "POSIX−like" API on a virtual platform

                     SURF
            virtual platform simulator

                                XBT




                 Distem can run on Grid’5000
                                                     Distem – http://distem.gforge.inria.fr/                     8 / 16
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 ?




                Distem – http://distem.gforge.inria.fr/   9 / 16
Introducing heterogeneity
Distem splits real nodes into several virtual nodes
   with a different number of cores
   with different CPU performance
                                                  CPU cores
                            0    1        2        3    4            5    6       7
         CPU performance




                           VN 1 VN 2          VN 3               Virtual node 4



                                Distem – http://distem.gforge.inria.fr/               10 / 16
Emulating network topologies
Emulate several local networks linked together
Control available bandwidth and latency on each interface

  n1                                                                                                                  n4
       if0      ←                                                                                                 0
                  1                                                                                   ms if
              1 M Mb                                                                                00
                                                                                                 , 2 s→
                 bp     ps
                           ,3                                                                  ps
                    s,        0m                                                             Kb    00m
                       30
                          ms     s                                                        10    ,1
                             →                                                          ← bps
                                                                                            K
                                       ←5 Mbps, 10ms                    ←4 Mbps, 12ms    20
                                       10 Mbps, 5ms→
                                                       if0   n3   if1
                                                                        6 Mbps, 16ms→     ←
                             ms                                                              20
                          ,3                                                            51     0
                       ps     →                                                           2 K Kbp
                   0 Mb 1ms                                                                  bp       s,
                10     s,                                                                       s,       30
                                                                                                   40      ms
              ← Mbp                                                                                  ms
                  0                                                                                      →
        if0    10                                                                                               if0
  n2                                                                                                                  n5




                                     Distem – http://distem.gforge.inria.fr/                                               11 / 16
Distem internals

    Distem uses modern Linux features
   to steal resources from applications :
LXC, cgroups, cpufreq, iptables, traffic control



 Node 3                                                  Node 3


          Switch                                                  Switch

 Node 2                                                  Node 2




 Node 1                                                  Node 1


               Distem – http://distem.gforge.inria.fr/                     12 / 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 / 16
Overview of a Distem instance
                                                                                   Pnode 2

                                                                                   distemd

                                             Coordinator




                                                                          ST
                                                                         RE
                                              & Pnode 1
                                      REST
    User’s machine                               distemd
Uses the command line interface,
     the Ruby client library
                                                                                   Pnode 3
        or a REST client

                                                                                   distemd
                                     Starts and controls other Pnodes
                                   Keeps the global state of the platform
                                   Is the gateway to Pnodes and Vnodes


                                                                          Vnodes
                               Distem – http://distem.gforge.inria.fr/                       14 / 16
Example experiment : SCP vs Rsync
                         Transfer 50 files (total : 5 MB)
                         Available bandwidth : 10 Mbps
                         Varying network latency
                                SCP
                                Rsync
Transfer time (s)




                    20


                    10


                    0
                            0           20            40            60      80   100
                                                Emulated latency (ms)

                                  Distem – http://distem.gforge.inria.fr/              15 / 16
More information ?

http://distem.gforge.inria.fr/




        Distem – http://distem.gforge.inria.fr/   16 / 16

More Related Content

Similar to Distem

Fra enkel J2SE til Grid computing med GigaSpaces XAP
Fra enkel J2SE til Grid computing med GigaSpaces XAPFra enkel J2SE til Grid computing med GigaSpaces XAP
Fra enkel J2SE til Grid computing med GigaSpaces XAP
mudnaes
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and Fast
MapR Technologies
 

Similar to Distem (20)

The Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityThe Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on Security
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
 
#Make01
#Make01#Make01
#Make01
 
Presentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_SaturnePresentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_Saturne
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
GeoAdmin API & Open*, 2012
GeoAdmin API & Open*, 2012GeoAdmin API & Open*, 2012
GeoAdmin API & Open*, 2012
 
IPv6 and IP Multicast… better together?
IPv6 and IP Multicast… better together?IPv6 and IP Multicast… better together?
IPv6 and IP Multicast… better together?
 
Fra enkel J2SE til Grid computing med GigaSpaces XAP
Fra enkel J2SE til Grid computing med GigaSpaces XAPFra enkel J2SE til Grid computing med GigaSpaces XAP
Fra enkel J2SE til Grid computing med GigaSpaces XAP
 
Introduction to GPUs in HPC
Introduction to GPUs in HPCIntroduction to GPUs in HPC
Introduction to GPUs in HPC
 
I pv4 multicast
I pv4 multicastI pv4 multicast
I pv4 multicast
 
I pv4 multicast
I pv4 multicastI pv4 multicast
I pv4 multicast
 
Kubernetes OpenContrail Meetup
Kubernetes OpenContrail MeetupKubernetes OpenContrail Meetup
Kubernetes OpenContrail Meetup
 
Md4000 mesh suite-intro
Md4000 mesh suite-introMd4000 mesh suite-intro
Md4000 mesh suite-intro
 
ISBI MPI Tutorial
ISBI MPI TutorialISBI MPI Tutorial
ISBI MPI Tutorial
 
Try Before you Buy: SDN Emulation with (Real) Interdomain Routing
Try Before you Buy: SDN Emulation with (Real) Interdomain RoutingTry Before you Buy: SDN Emulation with (Real) Interdomain Routing
Try Before you Buy: SDN Emulation with (Real) Interdomain Routing
 
Working Of Gridseeddata
Working Of GridseeddataWorking Of Gridseeddata
Working Of Gridseeddata
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
Introduction to Network Performance Measurement with Cisco IOS IP Service Lev...
Introduction to Network Performance Measurement with Cisco IOS IP Service Lev...Introduction to Network Performance Measurement with Cisco IOS IP Service Lev...
Introduction to Network Performance Measurement with Cisco IOS IP Service Lev...
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and Fast
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Distem

  • 1. an introduction to Distem – http://distem.gforge.inria.fr/ 1 / 16
  • 2. Imagine you want to build a race car Distem – http://distem.gforge.inria.fr/ 2 / 16
  • 3. But you want it to work well on both dry tracks and wet tracks Distem – http://distem.gforge.inria.fr/ 3 / 16
  • 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 / 16
  • 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 / 16
  • 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 / 16
  • 7. You could move to another race track . . . But what if you could change the weather ? Distem – http://distem.gforge.inria.fr/ 6 / 16
  • 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 / 16
  • 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 Grid, Cloud, P2P features ... Distem – http://distem.gforge.inria.fr/ 7 / 16
  • 10. Ideal complement to other tools SimGrid Grid’5000 Toolkit for the simulation of Large-scale platform distributed applications in for experiments on heterogeneous environments distributed systems 1700 nodes, 7000 cores Fully reconfigurable SMPI GRAS SimDag MSG Grid’5000 GRE: GRAS in situ SMURF SimIX network proxy SimIX "POSIX−like" API on a virtual platform SURF virtual platform simulator XBT Distem – http://distem.gforge.inria.fr/ 8 / 16
  • 11. Ideal complement to other tools SimGrid Grid’5000 Toolkit for the simulation of Large-scale platform distributed applications in for experiments on heterogeneous environments distributed systems 1700 nodes, 7000 cores Fully reconfigurable SMPI GRAS SimDag MSG Grid’5000 GRE: GRAS in situ SMURF SimIX network proxy SimIX "POSIX−like" API on a virtual platform SURF virtual platform simulator XBT Distem can run on Grid’5000 Distem – http://distem.gforge.inria.fr/ 8 / 16
  • 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 ? Distem – http://distem.gforge.inria.fr/ 9 / 16
  • 13. Introducing heterogeneity Distem splits real nodes into several virtual nodes with a different number of cores with different CPU performance CPU cores 0 1 2 3 4 5 6 7 CPU performance VN 1 VN 2 VN 3 Virtual node 4 Distem – http://distem.gforge.inria.fr/ 10 / 16
  • 14. Emulating network topologies Emulate several local networks linked together Control available bandwidth and latency on each interface n1 n4 if0 ← 0 1 ms if 1 M Mb 00 , 2 s→ bp ps ,3 ps s, 0m Kb 00m 30 ms s 10 ,1 → ← bps K ←5 Mbps, 10ms ←4 Mbps, 12ms 20 10 Mbps, 5ms→ if0 n3 if1 6 Mbps, 16ms→ ← ms 20 ,3 51 0 ps → 2 K Kbp 0 Mb 1ms bp s, 10 s, s, 30 40 ms ← Mbp ms 0 → if0 10 if0 n2 n5 Distem – http://distem.gforge.inria.fr/ 11 / 16
  • 15. Distem internals Distem uses modern Linux features to steal resources from applications : LXC, cgroups, cpufreq, iptables, traffic control Node 3 Node 3 Switch Switch Node 2 Node 2 Node 1 Node 1 Distem – http://distem.gforge.inria.fr/ 12 / 16
  • 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 / 16
  • 17. Overview of a Distem instance Pnode 2 distemd Coordinator ST RE & Pnode 1 REST User’s machine distemd Uses the command line interface, the Ruby client library Pnode 3 or a REST client distemd Starts and controls other Pnodes Keeps the global state of the platform Is the gateway to Pnodes and Vnodes Vnodes Distem – http://distem.gforge.inria.fr/ 14 / 16
  • 18. Example experiment : SCP vs Rsync Transfer 50 files (total : 5 MB) Available bandwidth : 10 Mbps Varying network latency SCP Rsync Transfer time (s) 20 10 0 0 20 40 60 80 100 Emulated latency (ms) Distem – http://distem.gforge.inria.fr/ 15 / 16
  • 19. More information ? http://distem.gforge.inria.fr/ Distem – http://distem.gforge.inria.fr/ 16 / 16