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

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 SecurityBrent Salisbury
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkRiyaj Shamsudeen
 
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_SaturneRenuda SARL
 
GeoAdmin API & Open*, 2012
GeoAdmin API & Open*, 2012GeoAdmin API & Open*, 2012
GeoAdmin API & Open*, 2012Moullet
 
IPv6 and IP Multicast… better together?
IPv6 and IP Multicast… better together?IPv6 and IP Multicast… better together?
IPv6 and IP Multicast… better together?Steve Simlo
 
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 XAPmudnaes
 
Kubernetes OpenContrail Meetup
Kubernetes OpenContrail MeetupKubernetes OpenContrail Meetup
Kubernetes OpenContrail MeetupLachlan Evenson
 
Md4000 mesh suite-intro
Md4000 mesh suite-introMd4000 mesh suite-intro
Md4000 mesh suite-introMeshDynamics
 
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 RoutingOpen Networking Summits
 
Working Of Gridseeddata
Working Of GridseeddataWorking Of Gridseeddata
Working Of Gridseeddatazoomhash
 
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...Cisco Canada
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
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 FastMapR 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

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

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