a powerful tool chain for setup distributed processing
play

A Powerful Tool-Chain for Setup, Distributed Processing, Analysis - PowerPoint PPT Presentation

University of Duisburg-Essen, Institute for Experimental Mathematics A Powerful Tool-Chain for Setup, Distributed Processing, Analysis and Debugging of OMNeT++ Simulations Thomas Dreibholz Institute for Experimental Mathematics University of


  1. University of Duisburg-Essen, Institute for Experimental Mathematics A Powerful Tool-Chain for Setup, Distributed Processing, Analysis and Debugging of OMNeT++ Simulations Thomas Dreibholz Institute for Experimental Mathematics University of Duisburg-Essen, Germany dreibh@iem.uni-due.de

  2. Table of Contents  What is Reliable Server Pooling? – Motivation – Terminology and Protocols – Our Simulation Model RSPSIM  Our Simulation Tool-Chain – Run Parametrization – Run Processing and Distribution – Post-Processing and Plotting – Future Work  Conclusion and Outlook Thomas Dreibholz's Reliable Server Pooling Page http://tdrwww.iem.uni-due.de/dreibholz/rserpool/ A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 2

  3. Motivation  Motivation of RSerPool: Unified, application-independent solution for service availability – Not available before => Foundation of the IETF RSerPool Working Group –  Application Scenarios for RSerPool: Main motivation: Telephone Signalling (SS7) over IP – Under discussion by the IETF: – ● Load Balancing ● Voice over IP (VoIP) with SIP ● IP Flow Information Export (IPFIX) ... and many more! –  Requirements for RSerPool: “Lightweight” (low resource requirements, e.g. embedded devices!) – Real-Time (quick failover) – Scalability (e.g. to large (corporate) networks) – Extensibility (e.g. by new server selection rules) – Simple (automatic configuration: “just turn on, and it works!”) – A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 3

  4. Reliable Server Pooling (RSerPool)  Terminology: – Pool Element (PE) : Server – Pool: Set of PEs – PE ID: ID of a PE in a pool – Pool Handle: Unique pool ID – Handlespace: Set of pools – Pool Registrar (PR) – Pool User (PU) : Client Support for Existing Applications – ● Proxy Pool User (PPU) ● Proxy Pool Element (PPE)  Protocols: – ASAP (Aggregate Server Access Protocol) – ENRP (Endpoint Handlespace Redundancy Protocol) A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 4

  5. Our Simulation Model RSPSIM  Quite straight-forward approach using OMNeT++:  Modules for Registrar, Pool Element, Pool User – Exchangeable Transport Layer (currently: switching; future: SCTP/IP stack) –  About 120 parameters  How to perform efficient parametrization?  Development of our Open Source Tool-Chain A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 5

  6. Tool-Chain Overview  Our Open Source (GPLv3) Tool-Chain: Download: http://www.iem.uni-due.de/~dreibh/omnetpp/ A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 6

  7. Run Parametrization  Definitions Simulation S: set of input parameters to create runs for – Run s ∈ S: parameter settings for a run -> .ini file to be written –  Example simulation configuration (using GNU R): simulationConfiguration <- list ( list (“parameter1”, 1.0, 2.0, 3.0), ... list (“parameter N ”, “alpha”, “beta”, “gamma”))  Parametrization script: Creates .ini file for each run (i.e. each parameter combination) – Creates Makefile containing each run: – ● Calls simulation binary -> scalar file, vector file, log file ● BZip2-compression of results (can save a lot of space!) ● Finally, collect scalar results and write a data table for each scalar A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 7

  8. Run Processing  Processing the simulation Running make – make -j <# of procs.> to utilize multiple CPUs/cores –  Distribution Akaroa? – RSerPool! – ● Light-weight framework for pool and session management ... ● ... including load distribution and balancing ● We had already developed the RSPLIB prototype implementation  Useful features of RSerPool: Resource efficient – Easy to setup – Support for dynamic pools – ● add processing nodes ● remove processing nodes RSPLIB provides an example application we can utilize for the OMNeT++ – simulation processing task: the Scripting Service A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 8

  9. The RSPLIB Scripting Service: Using RSerPool in Shell Scripts  Scripting Service Scripting Pool Element : – ● Gets Tar/GZip file from pool user ● Archive is extracted, a contained script ( ssrun ) is executed ● Results will be Tar/GZip-archived and sent back to pool user Scripting Pool User : – ● Get (from user) a Tar/GZip archive with script (and input files) ● Distributes archive to scripting pool element in pool ● Eventually receives back the results  ssrun script for handling OMNeT++ simulations Runs simulation binary – Input Tar/GZip archive contains: – ● ssrun script and simulation binary, ● .ini file for the run, ● if necessary: additional data (.ned files, shared libraries, etc.) Only about 50 lines of shell code necessary – A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 9

  10. Our Lab Setup  Using plain rsplib-2.4.0 implementation (just unpack, configure , make )  PR setup: ./registrar  PE setup: ./server -scripting -ssmaxthreads=2 (for dual-core)  Fully automatic configuration! A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 10

  11. Post-Processing of Results  Results data:  Example results file one .sca file for each .ini file –  createsummary Scalar : Speed – Parameters : – Reads all .sca files – ● Size For each scalar: – ● Interval ● combine : ● ID – scalar value and ● System – corresponding input parameter settings to data file for GNU R Size Interval ID System Speed ● Write data file for each scalar 0001 1 100 Test Alpha 39.21 0002 20 150 Test Beta 48.20 ● BZip2-compression of files 0003 20 152 Test Beta 96.03 0004 20 155 Test Beta 12.62 Optimization: – 0005 50 140 Test Alpha 139.23 ● Skip parameter row when 0006 75 180 Test Beta 45.34 0007 80 120 Test Alpha 73.28 value is always the same 0008 90 145 Test Alpha 59.29 (example: ID == Test) ... ... ... ... ... ... ● Exceptions possible (values required for post-processing) A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 11

  12. Plotting of Results  Plots: Take data table as multi- – dimensional input Plotting templates – Mapping of data rows to axes – ● X/Y - obvious ● Z - curves (colour) ● V/W - Z-axis split ( li ne st y le) Example – ● X -> PU:PE ratio ● Y -> System Utilization ● Z -> Pool policy ● V -> Request Size ratio  Points: Average value over all y values for – given (x,z,v,w) setting Example plot taken from [LCN2005] 95% confidence intervals – A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 12

  13. Future Work  Security Currently: no security – (No problem for lab scenario, all users have “sudo” permission anyway) Idea: GnuPG signature for input packages – Virtualization (e.g. Xen) –  Checkpointing Run suspension and resumption (for time-consuming simulation runs) – Idea is not new ... – ● ... but most checkpointing library projects are ceased ● No implementation running “out of the box” on a recent system Other approach: virtualization (e.g. Xen) –  Performance and handling improvements Cache for binaries and shared libraries – A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 13

  14. Thank You for Your Attention! Any Questions? To be continued ... Visit Our Project Homepage: http://tdrwww.iem.uni-due.de/dreibholz/rserpool/ Thomas Dreibholz, dreibh@iem.uni-due.de A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 14

  15. The RSerPool Protocol Stack ASAP is IETF's first Session Layer standard!  Aggregate Server Access Protocol (ASAP) PR  PE: Registration, Deregistration and Monitoring by Home-PR (PR-H) – PR  PU: Server Selection, Failure Reports –  Endpoint Handlespace Redundancy Protocol (ENRP) PR  PR: Handlespace Synchronisation – A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 15

  16. What is „Reliable Server Pooling“? Prototype Demonstration A Powerful Tool-Chain for OMNeT++ Simulations Thomas Dreibholz P. 16

Recommend


More recommend