pascal felber raluca halalai lorenzo leonini etienne rivi
play

!"#$% Pascal Felber, Raluca Halalai, Lorenzo Leonini, Etienne - PowerPoint PPT Presentation

On The Integration Of !"#$% Pascal Felber, Raluca Halalai, Lorenzo Leonini, Etienne Rivire, Valerio Schiavoni, Jos Valerio Universit de Neuchtel, Switzerland SimGrid User Days 2012 - Ecully, France !"#$% 2 About Me


  1. On The Integration Of !"#$% Pascal Felber, Raluca Halalai, Lorenzo Leonini, Etienne Rivière, Valerio Schiavoni, José Valerio Université de Neuchâtel, Switzerland SimGrid User Days 2012 - Ecully, France !"#$%

  2. 2 About Me • 2010-now : PhD student at the University of Neuchâtel, Switzerland. • Dependable and Distributed Computing Group. • Topic: large-scale distributed systems, cloud computing. • 2007-2009: Research Engineer at INRIA Grenoble, SARDES team. !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  3. 3 Outline • SPLAY overview • Integrating SPLAY and SimGrid • Based on rough ideas • Suggestions are welcome, collaborations even more! !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  4. 4 Motivations • Developing, testing and tuning distributed applications is hard • In Computer Science research, fixing the gap of simplicity between pseudocode description and implementation is hard • Using worldwide testbeds is hard !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  5. 5 What is !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  6. 5 What is !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  7. 5 What is !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  8. 5 What is • Machines contributed by universities, companies,etc. • ~1000 nodes at 531 sites (May 2012) • Shared resources, no privileged access • University-quality Internet links • High resource contention • Faults, churn, packet-loss is the norm • Challenging conditions !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  9. 6 • A testbed is a set of machines for testing your distributed applications/ protocols • Several different testbeds! your local networks of idle our new cluster@UniNE machine workstations !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  10. 7 Daily Job With Distributed Systems !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  11. 7 Daily Job With Distributed Systems 1 code 1 • Write (testbed specific) code • Local tests, in-house cluster, PlanetLab... !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  12. 7 Daily Job With Distributed Systems 2 1 code debug 2 • Debug (in this context, a nightmare) !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  13. 7 Daily Job With Distributed Systems 2 1 code debug 2 • Debug (in this context, a nightmare) !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  14. 7 Daily Job With Distributed Systems 3 1 2 code debug deploy 3 • Deploy, with testbed specific scripts !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  15. 7 Daily Job With Distributed Systems 3 1 2 code debug deploy 3 • Deploy, with testbed specific scripts !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  16. 7 Daily Job With Distributed Systems 4 1 2 3 code debug deploy get logs 4 • Get logs, with testbed specific scripts !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  17. 7 Daily Job With Distributed Systems 4 1 2 3 code debug deploy get logs 4 • Get logs, with testbed specific scripts !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  18. 7 Daily Job With Distributed Systems 5 1 2 3 4 code debug deploy get logs plots 5 • Produce plots, hopefully !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  19. 7 Daily Job With Distributed Systems 1 2 3 4 5 code debug deploy get logs plots 5 • Produce plots, hopefully !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  20. 8 !"#$% at a Glance code debug deploy get logs plots • Supports the development, evaluation, testing, and tuning of distributed applications on any testbed: • In-house cluster, shared testbeds, emulated environments • Provides an easy-to-use pseudocode-like language based on Lua • Write Once, Deploy&Run Everywhere • Open-source: http://www.splay-project.org !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  21. 8 !"#$% at a Glance code debug deploy get logs plots • Supports the development, evaluation, testing, and tuning of distributed applications on any testbed: • In-house cluster, shared testbeds, emulated environments • Provides an easy-to-use pseudocode-like language based on Lua • Write Once, Deploy&Run Everywhere • Open-source: http://www.splay-project.org !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  22. 8 !"#$% at a Glance code debug deploy get logs plots s i t o l p u n d g n e i r f r u o • Supports the development, evaluation, testing, and y tuning of distributed applications on any testbed: • In-house cluster, shared testbeds, emulated environments • Provides an easy-to-use pseudocode-like language based on Lua • Write Once, Deploy&Run Everywhere • Open-source: http://www.splay-project.org !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  23. 9 !"#$% Language • Based on Lua • High-level scripting language • Made for interaction with C • Bytecode-based, garbage collection • Must be close to pseudo code (focus on the algorithm) • & favor “natural ways” of expressing algorithms (e.g. RPCs) • S PLAY applications can be run locally without the deployment infrastructure (for debugging & testing) • Comprehensive set of event-based model (discussed below). events/threads libraries (can be luasocket* io (fs)* stdlib* sb_socket socketevents sb_fs sb_stdlib extended) crypto* llenc json* misc log rpc splay::app * : third ! party and lua libraries : main dependencies Figure 6: http://www.splay-project.org

  24. 10 Why ? • Light & Fast • (Very) Close to equivalent code in C • Concise • Allow developers to focus on ideas more than implementation details • Key for researchers and students • Sandbox thanks to the possibility of easily redefine (even built-in) functions !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  25. 11 Concise !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  26. 11 Concise Pseudo code as published on original paper Executable code using SPLAY libraries !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  27. 12 !"#$% Network Emulation • Similar in the spirit to existing network emulators (ModelNet, Emulab) • Novel features: 1 3 • multi-user 10 Mbps 10ms • multi-topology 2 4 Stream from 1 to 3 Stream from 2 to 4 10 • user-space upload rate (Mbps) 5 3.3 1 0 10 20 30 40 50 60 data transfer time !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  28. 13 !"#$% Network Emulation • XML/TCS formats to define topologies • Support for delay, lossy channels • User-land bandwidth shaping • Emulation of congestion at inner nodes in a completely decentralized fashion • Dynamic adjustments of token-bucket bandwidth shapers !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  29. 14 !"#$% • Integrating the two systems to get the best of both world • Two options: 1. Use Splay apps within SimGrid 2. Use SimGrid apps within Splay !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  30. 15 Splay within SimGrid • Evaluate Splay applications with SimGrid • Different execution models, network emulation • Splay adapter for SimGrid Lua Bindings • Customized sandbox • Customized Splay RPC libraries !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  31. 16 SimGrid within Splay • Evaluate SimGrid applications within Splay testbed • Easier if applications are written in Lua • Alternatively, exploit Splay binary shipping • On-the-fly per-job relaxation of Splay sandbox to allow binary code • What about sandboxing C applications? !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

  32. 17 y a w a - e k a e T d i l S • Distributed systems raise a number of issues for their evaluation • Their implementation, debug, deployment and tuning is hard • leverages Lua and centralized !"#$% controller to produce an easy to use yet powerful working environment !"#$% On The Integration of Splay & SimGrid - Valerio Schiavoni - University of Neuchâtel

Recommend


More recommend