EGEE-III INFSO-RI Enabling Grids for E-sciencE Enabling OMNET++ Simulations on the Grid Gergely Sipos*, Miklós Kozlovszky*, Ákos Balaskó*, András Varga** *MTA SZTAKI, **OMNEST Inc.
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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.
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNET++ simulation domains Modules may represent:Messages / events may represent: hardware systems sensor, controller, disk, interface card, CPU, memory signals, commands, disk head movement, interrupts,… server farm application server, web server, daemon process (service), thread, database, database query process HTTP request, remote method invocation, SQL query,… business processes department, organizational unit, filing cabinet, database, employee, customer,… file or job, /phone communication, deadline,… communication networks host, router, comm. media, protocol layer, application, simulated user, app. session protocol header, packet, beginning/end of frame transmission, collision, timer expiry, session start/end,… call centers call center, clerk, customerstart/end phone calls, end of customer’s patience (balking),… queuing systems queue, switch,…job, beginning/end of processing
Enabling Grids for E-sciencE EGEE-III-INFSO-RI Defining the Topology (.ned file) Modules are written in C language NED (Network Description Language) defines topology: how modules are assembled to form larger modules and whole models // // 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; } The graphical editor operates directly on NED files
Enabling Grids for E-sciencE EGEE-III-INFSO-RI Defining simulation parameters (omnet.ini file) [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… Named configurations (by default, config name serves as experiment name) Parameter variations Repeat count
Enabling Grids for E-sciencE EGEE-III-INFSO-RI Inifiles and Experiments Default organization of experiments: Config entryDefault value experiment-label“${configname}” measurement-label“${iterationvars}” replication-label“#${repetition}, seed-set${runnumber} Note: by overriding the defaults, many variations are possible. For example: –By specifying an explicit experiment-label, one can group many configurations into one experiment – seed-set can be set to ${repetition} as well
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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 – / 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:
Enabling Grids for E-sciencE EGEE-III-INFSO-RI Support cycle and services Interviews Personalized training Porting specifications Problem analysis Writing publications and case studies Prototyping grid applications Fine tuning applications on production grids Apply online at
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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: Supported grid middleware services: ServiceEGEE grid (gLite middleware)Globus grids Job execution Computing ElementGRAM File storage Storage Element, File catalogGridFTP server Certificate management MyProxy server, VOMS Information system BDIIMDS-2, MDS-4 Brokering Workload Management System Application monitoring & visualization PROVE Possibility to hide P-GRADE Portal grid applications behind custom GUIs Chosen porting tool: P-GRADE Portal
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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 results OR Provide custom modules, NED files and INI files, execute simulation, download results Benefit from better performance Don’t & can’t see the grid
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNET++ Workflow File to specify which “OMNET runs” to execute on the grid Generator: Separates OMNET parameter scans into independent grid jobs.
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNET++ Workflow Additional libraries : libstdc++.so.6.0.3, libxml2.so Output file: Scalar results of simulation Executable: Wrapper script to initialize Simplified OMNET framework Custom NED file Custom INI file Omnet framework (tar.gz) ~10 MByte, Pulled from SE Custom OMNET modules – only in developer portal
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Account request
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Account request
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal “Account created”
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Personal settings
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Input definition window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Simulation execution window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Simulation execution window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Simulation execution window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ user portal Result download window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI Available OMNeT modules in user portal INET Framework –TCP/IP based wired and wireless networks: TCP, UDP, IP, IPv6, IEEE , Ethernet, MPLS, … –several contributors Queuing Framework
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ developer portal Certificate management
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ developer portal Simulation manager window
Enabling Grids for E-sciencE EGEE-III-INFSO-RI OMNeT++ developer portal Input definition
Enabling Grids for E-sciencE EGEE-III-INFSO-RI 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 –P-GRADE Grid Portal
EGEE-III INFSO-RI Enabling Grids for E-sciencE Thank you Questions? Gergely Sipos