260 likes | 286 Views
Enabling OMNET++ Simulations on the Grid Gergely Sipos* , Miklós Kozlovszky*, Ákos Balaskó*, András Varga** * MTA SZTAKI , **OMNEST Inc. sipos@sztaki.hu www.lpds.sztaki.hu/gasuc. What is OMNeT++?. A generic simulation framework:
E N D
Enabling OMNET++ Simulationson the GridGergely Sipos*, Miklós Kozlovszky*, Ákos Balaskó*, András Varga** *MTA SZTAKI, **OMNEST Inc.sipos@sztaki.huwww.lpds.sztaki.hu/gasuc
What is OMNeT++? A generic simulation framework: • For the simulation of complex distributed systems: distributed hardware and software architectures, communication networks, queuing networks,… • An open environment: in terms of source code, embedding, extensibility, integration, modularity • Dual licensing: • Academic Public License • Commercial License • Vivid and growing academic community • Strong commercial references Component-oriented approach:- The basic building block is a module. - Simple modules can be grouped to form compound modules.- Modules are connected with each other.
Modules are written in C language NED(Network Description Language) defines topology: how modules are assembled to form larger modules and whole models Defining the Topology(.ned file) The graphical editor operates directly on NED files // // Host with an Ethernet interface // module EthernetHost { parameters: ... gates: ... submodules: app: EtherTrafficGen; llc: EtherLLC; mac: EtherMAC; connections: app.out --> llc.hl_in; app.in <-- llc.hl_out; llc.ll_in <-- mac.hl_out; llc.ll_out --> mac.hl_in; mac.ll_in <-- in; mac.ll_out --> out; }
Defining simulation parameters (omnet.ini file) Named configurations (by default, config name serves as experiment name) [General] cmdenv-express-mode = true [Config Ring] description = "a server ring" network = RingQueue **.source.numJobs = ${numJobs=5,10,20} **.source.numJobs = 25 **.serviceTime = exponential(${serviceTimeMean=0.5s,1s,2s}) **.apply-default = true constraint = $numJobs!=20 || $serviceTimeMean<1s repeat = 3 Further runs… Parameter variations Repeat count
Advanced simulation event visualization and result analysis • Simulations write result files: • vector results: a sequence of (time, value) pairs recorded during simulation • example: queue lengths during simulation; end-to-end delays of arrived packets • typical visualization: line chart • scalar results: values of variables, typically recorded at the end of simulation • example: total number of packets dropped; average throughput • typical visualization: bar chart, x-y plot (scatter plot) • File format: line-oriented text file • you can use OMNeT++'s tools to process and visualize them • or you can use 3rd party tools (R, Matlab, Excel, etc) or write your own ones for specialized computations
EGEE Application Porting Group • Porting legacy applications to EGEE • Some code that already runs on a single machine, cluster or another grid • Not development from scratch • Includes • Consultancy • F2F meetings • Customized training • Technology support • Email / telephone help desk • Working together • Generic service for any user / community • Independent from application domain, Virtual Organization, project • Porting centers in Europe • MTA SZTAKI, Budapest, Hungary • INFN Catania (Italy) • CSIC Santander (Spain) • UCM Madrid (Spain) • WMIN London (UK) • More information, stories and how to apply: http://www.lpds.sztaki.hu/gasuc
Chosen porting tool: P-GRADE Portalwww.portal.p-grade.hu • General purpose grid application developer and user environment • Since 2003, Latest version: 2.7. • To port parameter studies, workflows and workflow based parameter studies to EGEE and Globus grids • Open source community coordinated by MTA SZTAKI: http://sourceforge.net/projects/pgportal/ • Supported grid middleware services: Possibility to hide P-GRADE Portal grid applications behind custom GUIs
Grid application development vs.Grid application usage • EGEE Porting Team with OMNeT++ developer community • Ported OMNET framework to gLite with P-GRADE Portal: • Workflow based parameter study • Created custom web interface to access grid-enabled OMNET++ framework • OMNeT++users • Provide custom NED files and INI files, execute simulation, download resultsOR • Provide custom modules, NED files and INI files, execute simulation, download results • Benefitfrom better performance • Don’t & can’t see the grid
OMNET++ Workflow File to specify which “OMNET runs” to execute on the grid Generator:Separates OMNET parameter scans into independent grid jobs.
OMNET++ Workflow Output file:Scalar results of simulation Custom NED file Custom INI file Custom OMNET modules– only in developer portal Executable:Wrapper script to initialize Simplified OMNET framework Omnet framework (tar.gz) ~10 MByte, Pulled from SE Additional libraries : libstdc++.so.6.0.3, libxml2.so.2.6.16
Two types of OMNET portals OMNET user portal • User accounts exist for 1 week • Can handle NED files that use INET and Queuing module sets from OMNET • No binary come from end user • Portal does grid operations with one fixed certificate OMNET developer portal • Permanent user accounts • Can handle custom OMNET modules and NED files that handle such modules • Binaries come from end users • Users are authenticated based on their personal certificates
Status of services • OMNET “demo” and advance portal services are currently in final testing phase • Portal services will be available in a few weeks • Currently 1 CE and 1 SE supports the service • Direct feedback from OMNET users • “Enabling OMNET++ Simulations on the Grid” – talk and paper at Annal forum of OMNET Users • More information at • EGEE Application Porting Group • http://www.lpds.sztaki.hu/gasuc • P-GRADE Grid Portal • http://www.portal.p-grade.hu
Thank you Questions? Gergely Sipos sipos@sztaki.hu www.lpds.sztaki.hu/gasuc www.portal.p-grade.hu