INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.

Slides:



Advertisements
Similar presentations
Automotive Embedded System Development in AUTOSAR
Advertisements

© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
OSPF 1.
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Making the System Operational
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Universitá degli Studi di LAquila Mälardalens Högskola, Västerås 10th September 2009 Integrating Wireless Systems into Process Industry and Business Management.
Communicating over the Network
1 Computational Asset Description for Cyber Experiment Support using OWL Telcordia Contact: Marian Nodine Telcordia Technologies Applied Research
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Overview Environment for Internet database connectivity
Introduction Lesson 1 Microsoft Office 2010 and the Internet
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Configuration management
Software change management
1 Dr. Ashraf El-Farghly SECC. 2 Level 3 focus on the organization - Best practices are gathered across the organization. - Processes are tailored depending.
Information Systems Today: Managing in the Digital World
Active Harmonys Plug-in Interface A World of Possibilities Ray S. Chen Jeffrey K. Hollingsworth Paradyn/Dyninst Week 2013 April 30, 2013.
Chapter 1: Introduction to Scaling Networks
Networks: Introduction 1 CS4514 Computer Networks Term B06 Professor Bob Kinicki.
Campus02.at don't stop thinking about tomorrow DI Anton Scheibelmasser Setubal ICINCO /25 Device integration into automation systems with.
Interconnection Test Framework Josef Hammer jun. Marc Magrans de Abril · Christian Hartl · Thomas Themel · Franz Mittermayr 15 June 2011.
1 A Test Automation Tool For Java Applets Testing of Web Applications TATJA Program Demonstration Conclusions By Matthew Xuereb.
MARKETING INFORMATION AND RESEARCH
Describing Complex Products as Configurations using APL Arrays.
Trap Diagnostic Facility Todays Software Diagnostic Tool with innovative features for the z/OS software developer Arney Computer Systems.
Chapter 11: The X Window System Guide To UNIX Using Linux Third Edition.
25 July, 2014 Hailiang Mei, TU/e Computer Science, System Architecture and Networking 1 Hailiang Mei Remote Terminal Management.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
The world leader in serving science TQ ANALYST SOFTWARE Putting your applications on target.
COMP1214 Systems & Platforms: Operating Systems Concepts Dr. Yvonne Howard – Rikki Prince – 1.
1 NS-2 Tutorial COMP R2 University of Manitoba March 4, 2009.
Executional Architecture
Getting Familiar with Web Pages 1 2 The Internet Worldwide collection of interconnected computer networks that enables businesses, organizations, governments,
Μπ A Scalable & Transparent System for Simulating MPI Programs Kalyan S. Perumalla, Ph.D. Senior R&D Manager Oak Ridge National Laboratory Adjunct Professor.
Addition 1’s to 20.
25 seconds left…...
Copyright 2001 Advanced Strategies, Inc. 1 Data Bridging An Overview Prepared for DIGIT By Advanced Strategies, Inc.
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
1. 2 Easy-to-Use Administrator Features 3 Customisable Screen Cutoff Scores.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Registry system data exchange General design requirements Pre-sessional Consultations on Registries 19 October 2002 New Delhi, India UNFCCC secretariat.
Chapter 14 The User View of Operating Systems
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas (Computer Architecture, Communications and Systems Group)
Introduction 1.  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks.
Seminar On “ OMNET++ Network Simulator” Presented By: Saurav K Bengani Guided By: Guided By: Dr. Andrew yang Dr. Andrew yang.
WSN Simulation Template for OMNeT++
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Simulators for Sensor Networks
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
An Introduction to Software Architecture
Presented By: Darlene Banta
Presentation transcript:

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid

Contents The ARCOS Group. Expand motivation. Expand design. Expand evaluation. Conclusions. Ongoing Work. July University of Modena 2 The Expand Parallel File System José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid

University Carlos III of Madrid Founded in 1989 Three faculties: Faculty of Social Sciences and Law. Faculty of Humanities, Documentation and Communication. Higher Technical School. July University of Modena 3 The Expand Parallel File System José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid

The ARCOS Group The Computer Architecture, Communications and Systems Group is part of the Department of Computer Science. 20 full time members 9 PhDs (2 full professors + 4 associate professors + 3 visiting professors). 11 PhD students July University of Modena 4 The Expand Parallel File System José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid

Research lines Data management on Grid environments. Parallel file systems. Optimization of irregular applications. OS for Wireless Sensor Networks. Real-time systems. July University of Modena 5 The Expand Parallel File System José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid

Contents 6 The ARCOS Group. OMNET++ features. Simulation model building. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

What is OMNET++? 7 A discrete event simulation environment. Mainly focused in communication networks. Runs on Linux and Windows. C++ based. Free for academic and non-profit use. GUI support. Supports parallel execution (MPI based). Several component add-on libraries available. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Available off-the-shelf models TCP/IP. IP. TPC. UDP PPP. … Network protocols Ethernet FDDI. Token Ring. Peer-to-peer. Sensor networks. 8 Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Important issues in a discrete event simulation environment 9 Pseudorandom generators. Flexibility. Programming model. Model management. Support for hierarchical models. Debugging and tracing. Documentation. Large scale simulation. Parallel simulation. Experiment specification. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Randomness 10 Several random number generators Including Mersenne-Twister. Easy to plug-in custom generators. Mechanism for generating most random variates. 14 continuous distributions. 6 discrete distributions. Very easy to define your own distributions. Capability to generate a distribution from a sample. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Flexibility 11 Core framework for discrete event simulation. Different add-on for specific purposes. Fully implemented in C++. Functionality added by deriving classes following specified rules. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Programming model 12 Key elements: Topology: Describes relationship among elements. Behavior: Describes how a node behaves. Topology Behavior NED Language Describes links among nodes. Describes composition model. May be text edited or GUI. Possibility to create topology at run-time. C++ Code automatically generated. Only methods describing behavior are needed to be redefined. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Model management 13 Clear separation among simulation kernel and developed models. Easiness of packaging developed modules for reuse. No need for patching the simulation kernel to install a model. Build models and combine like LEGO blocks Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Hierarchical modeling 14 Modules are self-contained and reusable. Compound models may be assembled from simpler modules without no coding effort. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Debugging and tracking 15 Simulations may be run in two modes: Command line: Minimum I/O, high performance. Interactive GUI: Tcl/Tk windowing, allows view whats happening and modify parameters at run-time. Additional support for tracing. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Documentation 16 Well structured documentation. Well written and complete users manual. 247 pages. Well documented (doxygen) API. Documentation system for models is doxygen based and connects very well model documentation and API documentation. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

The documentation is well organized, automatically generated from source code and easy to browse. Documentation 17 Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Large scale simulation 18 Only limiting known factor is available virtual memory. Very good use of memory. If you need more, go for parallel simulation. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Support for parallel simulation 19 Run one realization of a simulation experiment in a cluster. No code modification needed! Just modify configuration files. Communication is MPI based. Named pipes and shared files also available. Conservative approach to parallel simulation. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Experiment specification 20 Experiment structure is defined via a topology file. Experiment parameters are specified via configuration files. Integrated data collection support. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Contents 21 The ARCOS Group. OMNET++ features. Simulation model building. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Simulation Model building 22 for (int i=0;i<10;i++) { }... [General] network=test_disk [Parameters]... Model structure Add behavior Set up parameters Compile Run Analyze Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Build process 23 Network description nedtool compiler Generated C++ code Module behavior C++ code C++ compiler Simulation kernel libraries User interface libraries Linker Simulation program Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Contents 24 The ARCOS Group. OMNET++ features. Simulation model building. M/M/1 Example. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Example 25 To show capabilities of OMNET++ basic features. Evaluate M/M/1 Queue System. RequestGeneratorServer messages Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 1: Define the modules 26 Two simple modules RequestGenerator. Server. Parameters: Set up by an enclosing module or at run-time. interEventTime RequestGenerator Gate serviceTime Server outpoint inpoint Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 1: Compound module 27 interEventTimeserviceTime RequestGeneratorServer outpointinpoint Connection SingleServer Needs to be instantiated as a network Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 1: Topology definition 28 The whole topology definition is expressed in the specific purpose NED language. Only structural description. Very simple. GUI for NED editing (I prefer text editing). C++ code automatically generated from NED. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 2: Add Behavior 29 Each simple module needs a C++ class implementing its behavior. Follow users manual guidelines. Few methods needed. No C++ coding for compound modules. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 2: Writing the code 30 For each simple module Write a class derived from cSimpleModule. Special rules: Two stage creation: Constructor + initialize(). Two stage destruction: finish() + Destructor. Message handling: Synchronous (More memory consuming, easy to understand). Asynchronous (Event based, more efficient). Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Send messages. Wait interEventTime between two sending. Use a timer to schedule next sending. Each time a request arrives process or enqueue. Wait serviceTime for processing by using a timer. Record statistics of service time. RequestGeneratorServer July University of Modena 31 Step 2: Writing the code Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid

Step 2: Coding effort Ned files: 35 lines RequestGenerator.ned: 6 Server.ned: 6 SingleServer.ned: 23 C++ code: 152 RequestGenerator.h: 23 RequestGenerator.cc: 33 Server.h: 31 Server.cc: Coding 187 lines Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 3: Writing a configuration file 33 Most things can be set-up via an ini file Changing things without recompiling. Very simple syntax. Some things: Model to be run. Time limitation. Random number generator. Parameters. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 4: Build 34 Utilities for automatically generating makefiles from existing sources. You can build a command-line or a GUI-based binary. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Step 5: Running the simulation 35 Example 1: constantParams.ini Example 2: exponentialParams.ini Example 3: batchRuns.ini Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Contents 36 The ARCOS Group. OMNET++ features. Simulation model building. Adding channels and hierarchical modeling. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Channels 37 It is possible to define a channel and assign it to a link. Channel properties: Delay: Propagation delay in seconds. Error: Bit error rate. Datarate: Bandwidth used to calculating transmission time of a message. A length must be assigned to the channel. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Example: N Clients to M Servers 38 ClientPopulationServerCluster Channel RequestGenerator ClientSwitch RequestGenerator … ServerSwitch Server … Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Building the simulation 39 Step 1: Write the new ned files. Step 2: Write/modify code. Step 3: Write configuration file Set up number of clients and servers. Step 4: Build Step 5: Run A simulation with clients and 40 servers run on a laptop. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Contents 40 The ARCOS Group. OMNET++ features. Simulation model building. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Messages 41 Messages are sent among modules. Attributes: Name: String used in the GUI. Kind: Numeric value representing information type. Length: Number of bits used to compute transmission times. Sending and arrival times. Source and destination moduel and gate. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Message definition language 42 In many cases a message needs to carry additional information. The structure of the message may be defined in an msg file and then automatically generate C++. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Collecting data and statistics Several classes to collect data and compute statistics. Basic statistic estimation. Weigthed statistic. Histograms. Quantiles computation without storing data. Transient and accuracy detection at run-time. Recording scalars at the end of the simulation. Recording vector of data during the simulation. Simple view Scalars Plove 43 Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Debugging: Watches and snapshots 44 During run-time it is possible to watch values from C++ variables or structures (even modify). Easy to use Just a macro line. Snapshots allow dumping all the objects to a file for debugging the simulation. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Parallel and distributed simulation 45 Allows running a single realization of a simulation experiment on a set of machines. No programming needed. Just configuration. Conservative synchronization among computing nodes. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Parallel Configuration 46 All the configuration for parallel execution done in the ini file. Allocating modules Set in the ini file the partition-id property. General configuration: Activate the parallel execution. Select the communication class: MPI, files, named pipes Select the synchronization class: Null message protocol Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Contents 47 The ARCOS Group. OMNET++ features. Simulation model building. Additional features of the simulation kernel. INET Framework. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

INET Framework 48 A library of OMNET++ modules for building network simulations. Layers: Applications: Protocol specific applications (e.g. Telenet) Mobility: Motion patterns of mobile objects Nodes: Nodes in the network (e.g. Router, StandardHost) Transport: Transport protocols (e.g. TCP) Network: Network protocols (e.g. IPv4) NetworkInterfaces (e.g. Ethernet) Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Network interfaces 49 Ethernet PPP IEEE Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Network 50 Protocols ARP. ICMP (v4 & v6). IP (v4 & v6). LDP. MLPS. OSPF Routing. RSVP. Other functionality Automatic network configuration. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Transport 51 TCP UDP RTP Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Nodes 52 Contains nodes for different types of protocols. Mainly routers and hosts. IPv4. IPv6. MPLS. Wireless. Ad-hoc networks. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Applications 53 Generic applications for Ethernet TCP UDP Ping. Client and server applications. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

Examples 54 Example 1: Web server Define the network topology. Configure parameters. Run. Simple changes Number of clients. NAM tracing. Introduction to simulation with OMNET++ José Daniel García Sánchez – ARCOS Group – University Carlos III of Madrid July University of Modena

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid