Presentazione di PowerPoint by xumiaomaio

VIEWS: 37 PAGES: 117

									                                                    Openairinterface Emulation
                                                    Platform and Methodology

                                                              Navid.nikaein@eurecom.fr

               This work is licensed under a CC attribution
                                                                                  GNU GPL License
               Share-Alike 3.0 Unported license.

Attribution: You must attribute this work to the author(s).
Commercial: You may use this work for commercial purposes.
Derivative Works: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same,
similar or a compatible license.
Agenda

 Introduction
 OAI Emulation methodology
    Experiment design
    Architectural design
    Hardware platforms
 Additional tools
 OAI Emulation process and usage
 Case study
    MESH: CHORIST, and HNPS
    LTE: LOLA, CONECT
 OAI Web tools and development area
 Reference

                                       2
Introduction

 Next generation wireless systems are becoming
  complex
    Evolving cellular network (LTE/LTE-A)
    multihop networks (WMN/WSN/VANET/DTN)
 Need a reliable performance evaluation
   Analytical approach is difficult
    Stochastic factors from channel/mobility/traffic

 Experimental approach
    Simulation
    Emulation
    Real testbeds
                                            3
A brief Comparison

 Simulation
    No interaction with the external entities (closed environment)
    Part or all of the elements of a network/system is modeled or abstracted

 Emulation
    Bring the external elements with their I/O streams (open environment)
    Decision on which element is real or modeled depends on the use case
     and purpose of the experiments
    At least one thing is modeled

 Real testbed
    All the elements are real
    Part of the testbed maybe controlled

                                                    4
 A brief Comparison




Experiment   Scenario   Abstraction /   Reproducibility   Scalability /    Limitation   Net Traffic &
              Setup      Modeling                            Costs                       Mobility

                                                                                        Abstracted/
Analytical     +++            -              +++              +++            CPU/
                                                                                         Modeled

Simulation     ++            +               +++              ++          Abstraction    Modeled

                                                                                         Modeled
Emulation       +            ++               ++              ++          CPU/Cost
                                                                                          / Real
   Real
                -           NA                 -                -            Cost           Real
 Testbed




                                                                    5
Purpose of an Experimentation




 Examine properties of an existing, planned and/or
  non-ideal network
    Validation and integration
    Performance evaluation (app,proto, alg, technique)
    System testing and optimization




                                           6
A BRIEF STATE OF THE ART


                      7
Classification of Validation Platforms

       Scalability             Reproducibility               Applicability

                                                                Real Testbed

                                                             • PlanetLab/OneLab
                                                 Emulation   • NITOS
                                          • NS3              • GnuRadio
                         Simulation                          • WARP
                                          • NistNEt
                                          • CORE             • ORBIT
      Analytical     • Sinalgo
                                          • USPR2            • Sundance, BEE2,
                     • NetSim                                  WiTestLab
 • UML               • GloMoSim/Qualnet   • WARP
                                                             • USPR2
 • FreeMat           • NS-3               • CMU-DSR
                                                             • OAI
 • IDL               • Opnet              • ORBIT
 • Matlab            • Omnet++            • OAI
 • SciLab
 • Octave



     Abstraction Level                                       Realism Level

                                                        8
NS3
Discrete Event Network Simulator (c++)




                                    9
NS3 : Emulation




                  10
OMNET++
Discrete Event Network Simulator




                              11
ORBIT: Real Testbed
   Each ORBIT node is a micro-computer with Linux Operation system
      two-dimensional grid of 400 802.11 radio nodes interconnecting with user-specific topology
   Nodes are connected like a grid with wired or wireless communication links
      Lib mac allows extraction of PHY measurement including RSSI, Txrate from the driver)




                                                                     12
ORBIT: Experiment Support Architecture




                              13
OAI NETWORK EMULATION
METHODOLOGY

                  14
OAI Emulation platform

 An open source HW/SW platform for innovations in
  emerging air interface technologies as well as wireless
  networking
    Complete system including layer 1/2/3 platform interconnected to
     Linux IP protocol stack in a controlled laboratory environment


 emu.openairinterrface.org
 www.openairinterface.org
 twiki.eurecom.fr
 forums.eurecom.fr/openairinterface
           This work is licensed under a CC attribution
           Share-Alike 3.0 Unported license.              GNU GPL License


                                                          15
OAI Emulation Methodology

 Specify experiment and architectural design with the
  following properties
    Reproducibility
       repeat the experiment in the controlled environment
    Scalability
       run medium-to-large scale networking experimentations
    Applicability
       represent a set of realistic scenarios and use-cases

        Scalability           Reproducibility                  Applicability

         Simulation      Soft Realtime     Hard Realtime        Real Testbed
                          Emulation         Emulation

    Abstraction Level                                           Realism Level


                                                     17
Key Features

 Real time distributed validation environment with a real
  setting with/without RF equipments

 Real protocol stack implementation

 End-to-end IPv4/IPv6 packet transition with QoS support

 Repeat the experiment and compare the results in fair and
  realistic conditions

 Emulate a medium-to-large scale networks on one or more
  machines

                                        18
Building Blocks
                                                      L3 Protocols
 Linux IP network interface                          OAI Network Interface
                                                          L2 Protocols
                                                        PHY Procedures
 Real L1/L2/L3 protocol stack (not modeled)            PHY Abstraction
                                                       Emulation Medium

 PHY Abstraction
    Modem, physical channels, along with propagation
 Emu transport mechanism (or combination)
    Direct memory transfer for realtime behavior with virtualized
     protocol stack
    Ethernet (ip multicast) not realtime
      ECOS and RTNET support realtime Ethernet

 A set of tools

                                              19
OAI Emulation Workflow

 Web Interface          UE 2
                                              CONNECTED

                           eNB 0
                                              ATTACHED

                                              SYNCHED


                                              NOT SYNCHED

                        UE 0
                                      UE 1




                                   Results




                          DB
   Emulation Platform



                                         20
Use Cases

 Protocol implementation validation
    Enables developers of L2/L3 and applications to test their
     implementation in a real-time setting without the need for RF
     equipment
    Repeatable and scalable real-time experiments (hundreds of nodes)
 System performance evaluation
    For L2/L3 protocol and application assessment
    Use of accurate and fast PHY abstraction models
 Possibility of using / combining
    Real channel measurement traces as simulation stimulus (input
     from EMOS)
    Real live network with RF equipment interconnected with the
     emulation platform

                                              21
EXPERIMENT DESIGN


                    22
Experiment Design
 Allow reproducibility of the experiment
 Concept of sequential experiment workflow
    the output of each step will be the input of the next

 OAI defines five consecutive steps, and each step is
  splited into several sub-steps
    Scenario descriptor
    Configuration
    Execution
    Monitoring
    Analysis

                                             23
Experiment Design




                    24
Basic Scenario Descriptor
build the layout of an experiment


Environment / System            Network Topology
                                 Area
 Pathloss model                 Nodes descriptors
                                     ENB/CH vs. UE/MR
 Channel Model
                                     Distribution
    SCM (3GPP 36.384)                    Static, RWP, RWalk, grid
                                     Average distance
 Antenna description
                                 Mobility model
 System bandwidth                   Static, RWP, Rwalk, Grid
                                     Moving dynamics
 System frequency                        Speed, pause time, journey
                                           time


                                            25
Basic Scenario Descriptor
build the layout of an experiment



Traffic                         Emu I/O Params
                                 Emu time
 Type
    VoIP, M2M, Gaming           Log level
                                     Per component
 Packet size and Inter-
                                 Packet trace at L2
  arrival time                       Wireshark Interface
      Constant
                                 Performance metrics/layer
      Uniform
                                     one-way delay, throughput,
      Exponential                    loss rate,
      Poisson
                                 Seed
      ON-OFF                        Random, user-specific

                                           26
  Configuration
  define a sequence of component s’ initialization
Scenario Descriptor

    Env/sys
                                                      L3 Protocols
      Net
                      XML Gen           Config Gen   OAI Network Interface   RB Conf. Gen.
        App                                              L2 Protocols
            Emu I/O                      Log Gen       PHY Procedures        Traffic Gen
                                                       PHY Abstraction       Mobility Gen
                                        Pkt Tracer    Emulation Medium



  XML Gen
        scenario is translated / defined in “xml” format
  Config Gen (OCG)
        Process xml file
        Compute config parameters
        Initialize and configure operation of all components
  Example: when to generate traffic? Which mobility model?
                                                            27
Execution
synchronize nodes and run the experiment

 Mode
  1. Debug Mode
      Access stratum user space + no IP driver an
  2. Soft Realtime mode
      Access stratum user space + Driver in Kernel
  3. Hard Realtime Mode
        Access stratum RTAI kernel + Driver in kernel
  4. Realtime RF Mode
      Hard Realtime Mode + HW + Attenuator


 Type
  1. One instance / machine
      IP multicast through Ethernet
  2. Several instances / one machine (Virtualization)
      Shared memory

                                                     28
Monitoring
watch the experiment in real time


 Passive monitoring
    Execution and performance logs

 Active monitoring (packet tracer/sniffer)
    Check and control performance metrics and protocol
     signaling during the experiment
    Online and offline capabilities
    Command line interface

 Label and archive raw data



                                         29
Analysis
process raw data and produce statistics




 Raw data processing
    Correlating and examining user plane traffics
    Filtering and extracting protocol signaling

 Results Generation and archiving
    Key performance indicators (KPI)
    Statistics
    Design and implementation validation



                                            30
ARCHITECTURAL DESIGN


                   31
Architectural Design

 Scalability of the experiment
    Protocol vitalization and parallelism
    Optimized emulated data transport
    Offloading capabilities depending on Hardware

 Applicability of the experiment
    Real protocol stack (not modeled) interconnected with Linux
     TCP/IP network stack
    Hard realtime and soft realtime operations (RTAI)
    Attach real applications (emulate the remaining traffic)
    Feed real channel traces
    Interconnection with a live network
                                           32
 Building Blocks


                                                             External        External
                                                            Application     Traffic Gen

                                XML format

Scenario    Scenario                                      L3 Protocols
           Descriptor   Dispatcher                        OAI Network Interface   RB Conf. Gen.
                                             Config Gen
Results                                                       L2 Protocols         Traffic Gen
            Console     Result Gen            Log Gen       PHY Procedures
                                                            PHY Abstraction       Mobility Gen
                                             Pkt Tracer    Emulation Medium



                                                  OAISIM - OAIEMU


                                                            33
Virtualization of Protocol Stack

 Share the host kernel between
  different emulated nodes /
                                          Physical Machine
  instance
                                                  Application
 Parallelism : logical and useful
                                                         Host OS
    Logical: Each Node on separate
     thread                                                  …
    Useful: Dynamic allocation of PHY            Emulation Medium
     abstraction and channel modelling             Shared Kernel
     on multiple thread                       (Host+ virtual instances)

                                                    Hardware
 Other parallelism
    Compilation directives
                                         34
Emulated Medium

 Emulated data are exchanged through two techniques
   Shared memory
   IP multicast over Ethernet (or any other medium)
     Physical Machine 0         Inst0        …   Physical Machine K            Inst0



      Channel realization                         Channel realization
       Shared memory                               Shared memory


          Inst1    Inst 2   …     Inst K                  Inst1   Inst 2   …     Inst K




                                           IP Multicast

                                                                     35
Emulated Medium : IP Multicast Case

 Requires barrier synchronization (rdv point) to achieve
  frame synchronization among multiple instances /
  machines
    Proceed per subframe, where the next subframe cannot start
     until all nodes complete the previous subframe
    Coordinated by the primary master (typically the first
     machine in the emulation)

 Limitation:
    Dynamic join/leave of a physical machine in the multicast
     group at anytime is not supported

                                             36
                   10.0.3.3.                     10.0.2.2

Emulation Medium               Multicast Group
                                                      10.0.1.2
                                 224.0.0.161
                                 224.0.0.162
                                 224.0.0.163
                                                      10.0.1.1
                                 224.0.0.164




                                     Primary Master
                                     Secondary Master




                      37
PHY Abstraction

 Prediction model for modem performance (BLER) based on
  current channel state (per subcarrier SINR)
    Modem performnce: modulation and coding

 Enables fast simulation of PHY layer performance for
  system level simulation
   Inject simulated error patterns for each transport
     channel block traversing the MAC/PHY interface
 PHY Abstraction is done at the receiver
    Wideband SINR are computed on every subframe
      Network topology
      Pre-defined propagation model

                                           38
PHY Abstraction: 2 Modes
                                                           L3 Protocols
                                                           OAI Network Interface

                  Channel Model
                                                               L2 Protocols
                                                             PHY Procedures


                                  Path Loss
                                                                                 Uncoded msg

                                                              PHY Abstraction
                                                           F(SNR, MCS)=P(BLER)

                                                                                               Same IF
                                                           L3 Protocols
Mobility Gen   Channel Descriptor              Channel OAI Network Interface
                                              Realization:    L2 Protocols
                                               ENB2UE       PHY Procedures    Uncoded msg
   EMOS          Channel Trace
                                               UE2ENB      Coding     Decodin
                                                                               g
                                                             Mod.         Demod.
                                                                    PHY            Signal
                                                                                               Same IF as
                                                                Convolution                     with RF




                                                                          39
L2 Protocol Stack

      Radio Resource Control                           Packet Data Convergence Layer

  • System Information                                • Header (De)Compression (ROHC)
  • RRC Connection management                         • Ciphering/Deciphering, Integrity
  • Resource Configuration                            • Data Transfer Procedures, Re-
  • QoS                                                 establishment Procedure
  • Measurements reporting                            • In-sequence delivery
  • Mobility management
                                                              Radio Link Control

                                                      • Segmentation and reassembly


                                Control Plane




                                                                                           User Plane
                                                      • Reliable data transfer
                                                      • In sequence delivery


                                                           Medium Access Control

                                                      • Random Access
                                                      • HARQ
                                                      • Scheduling
                                                      • DL/UL SCH Data Transmission
                                                      • MUX/DEMUX, DRX

                                                PHY


                                                                     40
L2 Protocol Stack

            Control Plane                                      Data Plane

                            PDCP                             PDCP
                            Config.
   Radio Resource                              Transparent    Unacknowledged Acknowledged
      Control                                  Mode           Radio Bearers  Radio Bearers
                            RLC
       (RRC)                Config.
                                            RLC-TM      RLC-UM         RLC-AM
                            Signalling
  MAC                       Radio Bearers                                       Logical
  Config.                   (BCCH, CCCH)                                        Channels



       SI/RA/MP                                  MAC Scheduling Unit
      Procedures                                  (ULSCH/DLSCH)


                                 PHY Procedures

                                                               41
L2 Protocol Stack

   RRC                                              NAS
      System Information broadcast                    Middleware for interfacing IPv4/IPv6-
      RRC connection establishment                     based mechanisms for signalling and user
      signalling data transfer                         traffic with 3GPP-specific mechanisms for
      connection reconfiguration (addition and         the access network
       removal of radio bearers, connection
       release)                                      PDCP
      measurement collection and reporting at         IP-interconnection facilities with the RLC
       UE and eNB                                    MAC eNB
   RLC - TM                                               RRC interface for SI and CCCH
                                                           Basic Schedulers
   RLC- UM                                                DCI generation
      Segmentation, concatenation, and                    HARQ Support
       reassembly
                                                           RA procedures and RNTI management
   RLC- AM                                                RLC interface (AM, UM)
      Segmentation, concatenation, and
       reassembly                                    MAC UE
      Padding                                         PDU and header formats
      Data transfer to the user                       RLC interface (AM,UM)
      Error control and correction                    RRC interface for SI and CCCH



                                                                 42
OAI Network Interface

Netlink socket for soft real time       RTFIFO for Hard realtime mode
mode: user spaceKernel Space           using RTAI : kernel spcae




                                                                        Kernel
                                                  IP
                      Non-Access Stratum Driver
 NAS Control Plane                           IP Packet Classification

                                                                        RTAI/
                              L2 Protocols
                                                                        USER
                            PHY Procedures

                                                   43
L3 Protocol Stack
                      Control Plane                               Data Plane


Topology & Connectivity Management                         MIP

 Local Routing                         Routing /Multicasting

                                         Forwarding
                                                                         User
                                                                        Kernel
                                                      IP

 Radio Resource Management            Non-Access Stratum Driver

                                                                        RTAI/
                         L2 Protocols
                                                                        USER

                        PHY Procedures

                                                 44
  E2E Validation
          Real Application




                            Emulated or True Core Network

                                         Real Application                                                Real Application


Physical Machine 0               Inst0                         … Physical Machine k              Inst0
                                 OAI Network Interface                                            OAI Network Interface
                                     L2 Protocols                                                     L2 Protocols
                                   PHY Procedures                                                   PHY Procedures
Channel realization                                                  Channel realization
                                   PHY Abstraction                                                  PHY Abstraction
 Shared memory                    Emulation Medium                    Shared memory                Emulation Medium



    Inst1                    …     Inst K                                Inst1                  … Inst K
     Traffic/Mobility Gen          Traffic/Mobility Gen                  Traffic/Mobility Gen      Traffic/Mobility Gen
        L2 Protocols                  L2 Protocols                          L2 Protocols              L2 Protocols
      PHY Procedures                PHY Procedures                        PHY Procedures            PHY Procedures
      PHY Abstraction               PHY Abstraction                       PHY Abstraction           PHY Abstraction
     Emulation Medium              Emulation Medium                      Emulation Medium          Emulation Medium



                                                          IP Multicast

                                                                                     45
E2E Validation: Use case
Wide Area Network Emulator WANEM
 Delay emulation tool allowing applications to experience
  wide area network delays, bandwidth and error ratios
    http://wanem.sourceforge.net/

           UE 2



   eNB 0




   UE 0           UE 1
           UE 2



   eNB 0




   UE 0           UE 1

                                          46
Hard Real Time Operation

 Designed to emulate the wireless
  behavior in a real network
    With real app and proto

 Respects L2 frame timing strictly
    sync wrt sample stream

 L1/L2 protocols run using the
  real-time kernel
    RT Threads under RTAI

 L3 networking makes use of
  Linux networking stack

                                      47
Soft Real Time Operation

 Designed to enable realistic large
  scale emulation inside one or series
  of machine(s)
    Performance evaluation
    Debugging protocol stack

 Calibrated to respect L2 frame
  timing on average
    10us scheduling accuracy

 MAC/PHY is a regular Linux process
    With multi-threading

 L3 networking makes use of Linux
  networking stack

                                         48
                                                                                                                            RRC


                                                                      mac_rrc_lite_data_ind
                                                    initiate_ra                               mac_rrc_lite_data_req
         generate_pss_emul
                                                  terminate_ra    RA
                                                      fill_rar    Proc
                                                                                                                      rrc_data_ind
                                                                                                                                       rrc_rlc_data_req


                                                                                                                      rrc_data_conf




         lte_sync_time_emul                         cancel_ra
                                                                                                                                                          rrc_rlc_config_req
                                                                                                                                                                               eNB/CH Interface




                                                           mac_rlc_status_ind

     lte_measurements_emul                                   mac_rlc_data_req

                                                             mac_rlc_data_ind
                                                                                                                        TM




        generate_pbch_emul
                                                                                                                        UM




       generate_phich_emul




49
                                                                   Procedures




                                       PHY Proc
                                                                  Measurement
                                                                                                                                      RLC
                                                                                                                        AM
                                                                                                                                                                                PDCP




                             ulsch_dlsch_eNB_scheduler
         Abstraction



                                              get_DCI_sdu
       dlsch_encoding_emul
                                                                                                                      pdcp_config_req
                                           get_dlsch_sdu                                                              pdcp_config_req
                       rx_ulsch_emul
                                                                    Scheduling




                                                       rx_sdu                                                              pdcp_data_ind
                                                                  ULSCH/DLSCH




       ulsch_decoding_emul                                                                                                pdcp_data_req
                                                                                                                               RRC


                                                                         mac_rrc_lite_data_ind
                                                                                                 mac_rrc_lite_data_req
       generate_prach_emul

          generate_srs_emul                        ue_decode_SI
                                                                     RA

                                                          fill_rar
                                                                     Proc
                                                                                                                                                                                  UE/MR Interface

                                                                                                                         rrc_data_ind
                                                                                                                                          rrc_rlc_data_req


                                                                                                                         rrc_data_conf




                                                  ue_process_rar
                                                                                                                                                             rrc_rlc_config_req




         lte_sync_time_emul
                                                    ue_get_rach
                                                              mac_rlc_status_ind

 lte_ue_measurements_emul                                      mac_rlc_data_req
                                                                                                                           TM




                                                               mac_rlc_data_ind

                       rx_pbch_emul    ue_out_of_synch_ind
                                        phy_synch_success
                                                                                                                           UM




                       rx_phich_emul




50
         Abstraction
                                                                      Procedures
                                                                     Measurement




dci_decoding_procedures_top_emul
                                                                                                                                         RLC
                                                                                                                           AM
                                                                                                                                                                                        PDCP




                                       Phy Proc




                                                    ue_send_sdu
       ulsch_encoding_emul

                                                                                                                         pdcp_config_req
       dlsch_decoidng_emul                                                                                               pdcp_config_req
                                                     ue_get_sdu
                                                                       Scheduling




                                                                                                                              pdcp_data_ind
                                                                     ULSCH/DLSCH




                                                                                                                             pdcp_data_req
HARDWARE PLATFORMS


                 51
 Hardware Emulation Platforms

   Scalability vs. Cost
       Processing Capability
       Network Link Speed
       RAM Latency




Standard PC   Workstation PC    Cluster   ARM modules   GPU Workstation

                                                  52
Possible Hardware Platform                                           L2
                                                                          IPv6, NAS Driver


                                                                      L2
                                                                       L2
                                                                       L1/L2

                                                                                        RTAI
            IPv6                                                       RF Emulation
                                                                  Measurements, PHY Error




                         Machine 1     Machine 3                Machine n-1
                                                        …
                         Application Data
VLAN EXP




             Machine 0
              Frontend   Machine 2     Machine 4        …       Machine n




                                     Transport Emulated Data

           IPv4                       Gigabit Ethernet Switch

                                                   53
Software/Hardware Co-Design
CPU mono-thread vs. CPU multi-thread




                         Bottleneck




                                      54
Software/Hardware Co-Design
GPU threading

 GDR5 time faster than DDR3        GPU

 PCI express speed = QPI
  Channel speed
    Arch dependent




                               55
ADDITIONAL TOOLS


                   56
OCG: Openair Config Generator




                                57
OPT: Openair Packet Tracer




                             58
OLG: Openair LOG Generator




                             59
OTG: Openair Traffic Generator




                                 60
OMG: Openair Mobility Generator




                             61
OMG: Openair Mobility Generator




                             62
OMG Roadmap
 Embedded Approach
    Both worlds integrated in a single product                         OpenAir Emu contains basic
    Advantage                                                          random models
         Native and fast interaction, including feedback               (RWP, RWALK,GRID)
    Disadvantage
         Complex extension / cannot get the best of both worlds

 Isolated Approach:
    One simulator providing traces for the other
    Advantage:                                                     OpenAir Emu loads trace files
         Separate development                                      provided by SUMO
    Disadvantage
         No feedback
         Access delay

 Federated Approach
    Both worlds interact through sockets API and are synchronized by an interface
    Advantage:
         Independent development/ can use different simulators     OpenAir Emu connects to
    Disadvantage:                                                  SUMO via sockets
         Synchronization and data management


                                                                   63
OAI EMULATION PROCESS AND
USAGE

                   64
Current System Configuration for EMULATION

 Soft Realtime EMULATION (USER-SPACE LINUX )
    UBUNTU 9.04
    GCC 4.3.3
    KERNEL 2.6.29.4 / GENERIC UBUNTU KERNEL (2.6.28-generic)
       IPv6 features enabled (OPTIONAL. Only if IPv6 is required)


 Hard Realtime EMULATION (KERNEL-SPACE + RTAI)
    UBUNTU 9.04
    GCC 4.3.3
    KERNEL 2.6.29.4
       VANILLA KERNEL (from www.kernel.org)
       Patched with OpenAirInterface Driver
       Patched with RTAI 3.8
    Twiki: HOW-TO create the 2.6.29.4 OpenAirInterface kernel on a
     Ubuntu 9.04

                                                           65
Upcoming System Configuration

 For both hard and soft realtime mode
    UBUNTU 9.04  UBUNTU 10.04 LTS version (3 years support)
    GCC 4.3.3  GCC 4.4.3
    KERNEL 2.6.29.4  2.6.32.2
       VANILLA KERNEL (from www.kernel.org)
       Patched with OpenAirInterface Driver (ONLY if using IPv6)
       Patched with RTAI 3.8
       Patched with BIGPHYSAREA (ONLY for RADIO)
 Hardware requirements
    Gigabit Ethernet Switch
    For a Small scale emulation = Normal laptop (Core 2 duo CPU)
        e.g : DELL PRECISION M2300, Core 2 duo 2.2Ghz, 2GB of RAM
    For a large scale emulation = Cluster machine (Quad-core CPU)
        e.g : DELL POWEREDGE 1950, QuadCore 2.2Ghz, 8GB of RAM

                                                       66
OAISIM Emulation Process
 Step 1: Generate/edit an xml configuration file
 Step 2: OAISIM initiates
    All MAC/PHY structure
    Log generation per sub-layer
    Config generation for automatic detection/parsing of the XML
     configuration file
    Packet tracer for monitoring usre-plane and data-plane singling
    Mobility generation for different node mobility pattern
    Channel Modeling to calculate the propagation and fading
    Traffic generator for user plane
 Step 3: OAISIM runs the emulation
    PHY procedures, layer 2 protocols, traffic generator, and packet tracer
    PHY abstraction, channel modeling, and mobility generator
    Emulation medium
 Step 4: OAISIM outputs to Result Generation & Display.
                                                    67
Usage
 Command line using options
 Command line using xml scenario descriptor with OCG
 Web interface using html scenario descriptor with OCG
     localhost/OpenAirEmu
 EURECOM Portal
     emu.openairinterface.org




                                                  68
Makefile
 Open the Makfile in openair4G/targets/SIMU/USER/
 Support for -mmmx -msse -msse2 -m32 -msse4
 Compilation Options:
      RRC_CELLULAR
      NAS_NETLINK
      ADDCONF
      DEBUG_PHY
      Under linux, xml libs are also includes
 Make (openair4G/targets/SIMU/USER and make clean; make all
  NAS_NETLINK=1)
      all, oaisim
      nasmesh1, nasmesh2, install_nasmesh
      clean, cleanl1, cleanl2
      printvars
 Documentation:
    openair1 Ready, openair2/3 coming soon
    Run doxygen in OPENAIRX_DIR/DOCS/DOXYGEN

                                                 69
Lab Session: Experiment 1

 How to use the platform and what are the main
  components
 Follow the control plan signaling
    RRC connection management
    Data radio bearer configuration
    IP interface setup

 Send IP packets and follow the user plane traffic
    Protocol instance and IP address
    Wireshark

 Simple ways to process the output of the simulator
                                        70
Compiling and Testing

   Read the target/README.txt for installation procedure
      libblas; libblas-dev,libxml2,libxml2-dev, asn1c
      Export the env. variables
   Start from targets/SIMU/USER
        env , check the env variables
        Make clean
        Make all NAS_NETLINK=1
        On Linux, OCG is active by default
        Binary file for the user space “oaisim”
   Compile and install the oai network device
      rmmod nasmesh
      make nasmesh1 for emulation on 1 PC
      lsmod | grep nasmesh
   To see that the module is identified by LINUX
        dmesg
        ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
        Ifconfig oai0
        ping 10.0.1.1 (ctrl C to stop ping)



                                                                      71
Command line
 Usage (./oaisim -h):
     oaisim -h -a -F -C tdd_config -R N_RB_DL -e –x transmission_mod e -m target_dl_mcs -
      r(ate_adaptation) -n n_frames -s snr_dB -k ricean_factor –t max_delay -f forgetting factor -z
      cooperation_flag -u nb_local_ue -U omg_model_ue -b nb_local_enb -B omg_model_enb -M
      ethernet_flag –p nb_master -g multicast_group -l log_level -c ocg_enable –E seed

 Options                                                 -a: abstraction flag, defaulted 0
        -F: enable FDD mode, defaulted 0                 -n: set the number of frames, unlimited
        -C: TDD configuration, defaulted 3               -u: number of local UE/MR, defaulted 1
        -R: set number of RB DL, defaulted to 25         -U: mobility model of UE/MR, defaulted 0
        -e : activate extended prefix, defaulted 0       -b: number of local eNB/CH, defaulted 1
        -s : set a fixed SNR in dB, defaulted 30         -B: mobility model of eNB/CH, defaulted 0
        -k: ricean factor, defaulted to 1x10-13          -M: activate the distributed emulation
        -t: delay spread, defaulted to .8                -p: set the number of physical machines
        -f: forgetting factor, defaulted .999            -g : set the multicast group id
        -x: set the transmission mode, defaulted 2       -l: set the global log level, defaulted trace
        -z: cooperation flag, defaulted 0                -c: activate the OCG, defaulted 0
        -o :path loss model, defaulted 0                 -E : seed for random number, defaulted 0

                                                                  72
Control Plane Signalling
   With the PHY abstraction : ./oaisim –a –n 10 > log.txt
   Open log.txt (gedit log.txt)                                         1enb, 1UE
   NOT_SYNCHED                                                          20KM2 area
        eNB generates MIB, SIB 1/2/3                 UE 2
   RRC_PRE_SYNC                                                                      CONNECTED
        UE Decodes MIB, SIB1/2/3
   Attached                                                                          ATTACHED
        Random access preamble                   eNB 0
                                                                                      SYNCHED
        Random access response (RAR)
   RRC Connection Setup
                                                                                      NOT SYNCHED
        RRCConnectionRequest (UE)
        RRCConnectionSetup (eNB)
        RRCConnectionSetupComplete (UE)       UE 0          UE 1
   Accept Connections (NAS)
        Bring up interface (oai0)
        Establish Data Radio Bearer (dmesg)



                                                                    73
Data Plane Signaling
 Check specific logs
    ./oaisim -a –n 20 | grep XXX > log_XXX.txt (replace XXX by RRC)
       where XXX is RRC, MAC, RLC, PDCP, NAS, UE, eNB
       NAS for DRB setup
       RLC for segmentation and reassembly
    ./oaisim –a | grep PDCP
    ping 10.0.1.2
    ping 10.0.2.1
    Wireshark
 Run with more than one UE and check logs and config
    ./oaisim –a –u5 | grep PDCP
    ping 10.0.1.6, ping 10.0.1.5, ping 10.0.1.4, ping 10.0.1.3, ping
     10.0.1.2
    ping 10.0.6.1, ping 10.0.5.1, ping 10.0.4.1, ping 10.0.3.1, ping
     10.0.2.1

                                                  74
Examples

 TARGETS/SIMU/EXAMPLES/VIRT_EMUL_1eNB
   Several instance within the same physical machine with IP
    connectivity
   Compile with NAS_NETLINK=1
   Insmod nasmesh.ko
   route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
   ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast
    10.0.1.255
   ifconfig oai1 10.0.2.2 netmask 255.255.255.0 broadcast
    10.0.2.255
   rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 3
   rb_tool -a -c0 -i1 -z0 -s 10.0.2.2 -t 10.0.2.1 -r 3

                                          75
LAB Session: Experiment 2

 In directory openair4G/targets/SIMU/USER
 Activate the PHY layer and adjust the SNR
    run ./oaisim –s 0 -n 20 >log_phy.txt
    run ./oaisim –s 20 -n 20 >log_phy.txt
 Check the control plane and data plane signaling as before
 Open two new shells
    go to openair4G/targets/SIMU/USER
    In a separate shell run: ./watch_enb & ./watch_ue
    ./oaisim –s 8 | grep PDCP
 Check the logs
 Modify SNR to 8, 20
 Increase number of UEs
 What do you observe when complete PHY layer is used?

                                                     76
Lab session : Experiment 3

 Fine tune scenario with command line and OCG
 Open the file
    targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml
 Usage :
    ./oaisim –c 2 –n20 | grep OMG
      Change the “number of nodes”, “area” and “mobility model” in
       target/SIMU/EXAMPLES/OSD/WEBXML /template_2.xml
            • Mobility model: fixed, random_waypoint, random_walk
            • Alternatively, -U and –B options
      Add a new template template_k.xml k in
       target/SIMU/EXAMPLES/OSD/WEBXML and run ./oaisim –c k, , where k =
       1,2,3,4,…, n
    ./oaisim –c template_3.xml
      give the template manually with the following format: xxx_n.xml

                                                       77
XML Scenario Descriptor (template_1.xml)
  <OAI_EMULATION>
     <TOPOLOGY_CONFIG>
         <MOBILITY>
            <UE_MOBILITY>
                <UE_INITIAL_DISTRIBUTION>random</UE_INITIAL_DISTRIBUTION>
                <RANDOM_UE_DISTRIBUTION>
             <NUMBER_OF_NODES>2</NUMBER_OF_NODES>
                </RANDOM_UE_DISTRIBUTION>
                <UE_MOBILITY_TYPE>fixed</UE_MOBILITY_TYPE>
            </UE_MOBILITY>
            <eNB_MOBILITY>
                <eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
                <RANDOM_eNB_DISTRIBUTION>
                     <NUMBER_OF_CELLS>1</NUMBER_OF_CELLS>
                </RANDOM_eNB_DISTRIBUTION>
                <eNB_MOBILITY_TYPE>fixed</eNB_MOBILITY_TYPE>
            </eNB_MOBILITY>
         </MOBILITY>
     </TOPOLOGY_CONFIG>
     <EMULATION_CONFIG>
         <EMULATION_TIME>40</EMULATION_TIME>
     </EMULATION_CONFIG>
  </OAI_EMULATION>

                                                         78
LAB Session: Experiment 4

 Distributed Emulation
    2 physical machines
    1 instance per machine
 In directory openair4G/targets/SIMU/USER
    rmmod nasmesh
    make nasmesh2 for distributed emulation
    Machine 1: eNB
      ./oaisim –u0 –M0 –p2 | grep PDCP
      Ping 10.0.1.2
    Machine 2: UE
      ./oaisim –b0 –M1 –p2 | grep PDCP
      ping 10.0.1.1

 Check the user-plane and data-plane signaling as before
                                               79
Web Interface
 Open a browser and type
     http://Localhost/OpenAirEmu
 Require XAMPP (http://www.apachefriends.org/)
 Add OpenAirEmu web interface to htdocs
 Configure OpenAirEmu.conf
    <?
    $OPENAIR_HOME = ""; // set the absolute Path

    // DO NOT CHANGE THESE VARIABLES
    $OPENAIR1_DIR = "$OPENAIR_HOME/openair1";
    $OPENAIR2_DIR = "$OPENAIR_HOME/openair2";
    $OPENAIR3_DIR = "$OPENAIR_HOME/openair3";
    $OPENAIR_TARGETS = "$OPENAIR_HOME/targets";
    $WEBXML_PATH = "$OPENAIR_TARGETS/SIMU/EXAMPLES/OSD/WEBXML";
    $RESULTS_PATH = "$OPENAIR_TARGETS/SIMU/EXAMPLES/OSD/RESULTS";
    ?>
 Currently does not support distributed emulation

                                                     80
IP Addressing of Virtualized Instances

 When transmitting data among the
  virtualized protocol instances, the
                                               Physical Machine
  third and fourth byte of IPv4
  address represents who is the               10.0.1.1 10.0.2.2
  source and destination
    Ping 10.0.1.2 = 10.0.1.110.0.2.2                            Host OS
 Oai network device at the receiver                                …
  side changes the address so that                       Phy Abstraction
  the local IP stack accepts the                        Emulation Medium
  packet                                                Shared Kernel
    make the third byte of both the source        (Host+ virtual instances)

     and destination equal to the fourth of               Hardware
     the destination
    10.0.2.1  10.0.2.2

                                              81
OAI Network Device




                     82
Output

 Execution Log files per component
   Currently only not all the components support different log
    level

 Packet trace for MAC
 Monitor/profile the execution
   gprof




                                           83
CASE STUDY


             84
Usage of OAI Experimental Platform



 Platforms are designed to offer open access pooled
  resources
 Usage:
    Carry out research and development projects sometimes up
     to the industrialization phase
    tests, and develop prototypes and/or pre-production series.
     They can even serve as usage labs.



                                           85
OAI Network Topologies
  Cellular Topology       Mesh Topology




                         86
Rapidly Deployable Networks




 A field trial (underground and medium-range outdoor) was
  carried out
    near Barcelona (Spain) in February 2009
    near Paris (France) in November 2010
 Goals:
    Validation and Integration of rapidly-deployable mesh technologies
     into multi-standard systems for rapidly deployable networks
      PHY/MAC (rapidly-deployable WiMAX/LTE-like radio access) – 1.9 GHz, 5
       MHz channelization TDD, 2x2 MIMO-OFDMA, 23dBm
      L3 (routing protocols + QoS management)
      Public-safety applications (video sensing, group comms)

                                                  87
     CHORIST Trials
     (Barcelona Feb 2009)

    Single Cluster Deployment
                                              Cluster
Cluster                                                 Router 1
                                              Head                                              Router 2
Head

                                Router 1
                  630 meters
230 meters




  Router 2




    Dual Cluster Deployment

                                                                              Cluster
             Cluster                                               Router 3
                                           Router 1                           Head 2 Router 2
             Head 1




                                                                   88
CHORIST Trials in Detail




                           89
HNPS Trial


                                                              WAN
                                                                                     Fixed
   IAN            Wireless   Ethernet   Deploy-   Ethernet    SatCom     Internet     High
                   Mesh                  able
                                                              (NoSaCo)               Speed
                  Network               WiMAX
                                                                                    Network


Wi-Fi   Gateway


                                                               UMTS
                                                                 &
                                                                LTE



                                                         90
The Implemented Network

   Voice Service
    TETRAPOL

                                                                    Crisis Centre
                                 WAN
                                                                    Redundancy
Mobile Command                Satellite Link
                                                                   (Luxembourg)
     Centre
 (Black Logan)
                      IAN
                     WiMAX/                    TETRA Network
                      WMN
Mobile Unit 1
                                                          Crisis Centre
(Yellow Clio)
                                                    (Alcatel / Lucent - Paris)


Mobile Unit 2      Crisis Centre
 (simulated          (HITEC -
   vehicle)        Luxembourg)


                                               91
 HNPS Scenario: Terrorist Attack in a Building




                                    Storage area




                                   Video Analytics 2




                               WMN

  MU 2    MU 1


Video Analytics 1
          TETR                                         Hostages
          APOL
                    Headquarters


                                                                  92
Network Used in the HNPS Scenario

Fixed Radio Networks                                               Fast Deployable Networks
   TETRAPOL
                                                                    WiMAX
          National PMR for public security – exterior
                                                                       Wide band network limited to the
   TETRA
                                                                        ’intervention site
          Private PMR, for private security - exterior

   WiFi                                                            Wireless Meshed Network (WMN)
          Exterior et interior – with localisation service
                                                                       Deployed in areas where other
   WiMAX                                                               networks unavailable e.g. basements
          Wide band 4G radio network private                           – connected to the WAN via WiMAX
   UMTS
          Wide band 3G radio network public – Access granted to
                                                                    Wireless Sensor Network (WSN)
           public security agents                                      Deployed on demand to connect
   SatCom                                                              sensors – may use the WMN or
          Long distance connection with backhaul                       WiMAX


                                                                              93
OAI WEB TOOLS &
DEVELOPMENT AREA

                   94
Collaborative Web Tools

 SVN Repositories containing
      OPENAIR1 : base band processing, channel sounder,
      OPENAIR2 : medium access control, L2 protocol stack
      OPENAIR3 : wireless networking
      TARGETS : simulation, emulation, real experiments
 TWIKI
    Quick access by partners to our development via a collaborative HOW-TO
 phpBB Forum
    external support services
 Bugzilla
    Internal / external bug reporting
 BSCW
    Internal/ external CMS for document sharing
 Soon
    Sourceforge distribution of stable code

                                                      95
Collaborative Web Tools

 Revision Control System  SVN and WEBSVN
    Repository: https://svn.eurecom.fr/openairsvn/openair4G/trunk/
    Web interface: https://svn.eurecom.fr/openairwebsvn/
    Snapshot: http://svn.eurecom.fr/openairinterface/

 Documentation  Doxygen, Graphviz, Readme/howto
    OPENAIRX_DIR/DOCS/TEMPLATES

 CMS                 https://bscw.eurecom.fr
 Wiki                https://twiki.eurecom.fr
 Forum http://forums.eurecom.fr/openairinterface
 Bug reporting       http://bugzilla.eurecom.fr
                                            96
Development Area




                   97
OAI Users and Projects
 Several labs have acquired OAI equipment
    Thales Communications (Paris)
    Alcatel-Lucent (Paris)
    Technical University of Berlin (2 labs)
    Bilkent University
    Aalborg University
    University of Nice Sophia-Antipolis
    EPFL
    CNES (French Space Agency)
 Several labs contribute to SW development through
  collaborative projects
 Related FP7 projects:
    SENDORA,WHERE,NEWCOM++, LOLA, CONECT, SAMURAI, SACRA,
     MEDIEVAL

                                               98
Development Methodology


 Versioning and release
   trunk : target new release
     Require dev and bug fix
   tagging : stable / specific release
     no dev just bug fix
   branches: new features
     merging to trunk when validated
   Status can be seen on
    http://svn.eurecom.fr/openairwebsvn



                                          99
Important Points

 Document your code using doxygen and Readme
    Only .h files
    Add .h files to Doxyfile in DOCS/
    Check the generated html
 svn update : get the latest version
 make check and run examples: validate your modification
    With/without abstraction flag and IP interface+traffic
 svn status (-qu): to check your modifications
 svn add : add new files if any
 svn diff file_name , svn diff –r HEAD file_name
 svn ci files –m “add your comment”
    commit ONLY the source files and not the generated files

                                                    100
REFERENCES
OTHER SLIDES

               101
References
 freemat.sourceforge.net/
 www.mathworks.fr/
 www.gnu.org/software/octave/
 www.scilab.org/
 tetcos.com/software.html
 pcl.cs.ucla.edu/projects/glomosim/
 www.nsnam.org
 www.opnet.com
 www.omnetpp.org
 http://nitlab.inf.uth.gr/NITlab/
 www.openairinterface.org


                                       102
Contacts Information

 URL:
    www.openairinterface.org


 Partnership and collaboration :
    openair_admin@eurecom.fr


 Technical Support:
    openair_tech@eurecom.fr



                                    103
Realtime Distrubuted Emulation with RTNET




                              104
LAB SESSION
TC

              105
Network Clustering




                     106
Clustering

 Resources are limited in ad hoc networks
    Battery, bandwidth, computation, storage
 A cluster structure is essential for protocol scalability and for
  performance guarantee
 Classify OR Aggregate nodes OR partitioning network into a set
  of (K) groups/zone according to
      Mobility model / traffic pattern
      Proximity / Neighborhood / Geometry
      Interests / Community
      Resources / Services / Role / Capabilities
 Under a cluster structure, a node obtains a role:
    Clusterhead: CH, Relay Node: RN, Mobile Router: MR, Isolated Node: IN
 Highly related to topology control and power control

                                                    107
ClusterHead Election
 Leader election problem
 To be elected some criteria must be satisfied and agreed
  on by the nodes
    dynamically elected CH
    Pre-assigned CH prior to the deployment (Default CH)
 Relevant Criteria (or metric)
    ID, Virtual ID, speed, connectivity, power, position, distance,
     trajectory, load status, buffer level, security-related metric, SNR,
     priority, interest groups, max time to serve as CH


 Cost Function as a measure for cluster election
    a · speed + b · degree + c · power + d · energy-left
    initCost+ ∑ikConnCosti + maintainCost if K ≤ cluster size S,
     otherwise ∞
                                                  108
Clustering Software Architecture

        parameter                                 XML file
            s

                                          Build the topology
Start   Initialize nodes
                                         (Over time and space)



                            Broadcast          Receive
        Periodical         l tc_update        tc_update
        evaluation                                               Connectivity




                                     Sockets


                                                      109
Topology Control

 Election phase based on the cost function
    Weight and maximum clusters size as criteria
                                          IN
                                                                 Attach to
                                                                   a CH
            CH lost                            CH lost


                  Second CH detected
       RN                                                                    MR
                  One CH reachable



                         No CH detected            Merge
                          or best cost

                                          CH

                                                           110
Topology Control

 Start from openair4G/openair3/MESH/TC
    make cleanuser
    Make user
 Usage (BIN/user –h)
 Two options: with and without mobility
    MOBILITY_FLAG
 Try
    BIN/user
    BIN/user –T 1000000 > log_tc.txt
    Analyze the log _tc.txt and TC.log
 Update station weight at each periodical evaluation
    Open COMPONENTS/TC/CORE/tc_update.c
    Check the stationWeight
         Change the cost function
         Add stationWeight to periodical evaluation


                                                       111
Hardware / Software requirements and installation
                    procedures



       Philippe.Foubert@eurecom.fr
OAI Configuration and Requirements


 OAI actual software configuration
   EMULATION in USER-SPACE LINUX (Not RealTime)
   EMULATION in KERNEL-SPACE (RealTime)
   RADIO FREQUENCY mode (RealTime)

 OAI future software configuration
 OAI Hardware requirements




                                         113
OAI actual software configuration for EMULATION

 EMULATION in USER-SPACE LINUX (Not RealTime)
    UBUNTU 9.04
    GCC 4.3.3
    GENERIC UBUNTU KERNEL (2.6.28-generic)
       IPv6 features enabled (OPTIONAL. Only if IPv6 is required)


 EMULATION in KERNEL-SPACE LINUX (RealTime)
    UBUNTU 9.04
    GCC 4.3.3
    KERNEL 2.6.29.4
       VANILLA KERNEL (from www.kernel.org)
       Patched with OpenAirInterface Driver
       Patched with RTAI 3.8
    Twiki: HOW-TO create the 2.6.29.4 OpenAirInterface kernel on a
     Ubuntu 9.04

                                                           114
OAI actual software configuration for RADIO



 RADIO mode (RealTime)
    UBUNTU 9.04
    GCC 4.3.3
    KERNEL 2.6.29.4
        VANILLA KERNEL (from www.kernel.org)
        Patched with OpenAirInterface Driver
        Patched with RTAI 3.8
        Patched with BIGPHYSAREA
    Twiki: HOW-TO create the 2.6.29.4 OpenAirInterface kernel on a Ubuntu
     9.04



                                                  115
OAI future software configuration




 For RADIO and EMULATION (Realtime)
    UBUNTU 9.04  UBUNTU 10.04 LTS version (3 years support)
    GCC 4.3.3  GCC 4.4.3
    KERNEL 2.6.29.4  2.6.32.2 (ONLY for REALTIME mode)
       VANILLA KERNEL (from www.kernel.org)
       Patched with OpenAirInterface Driver (ONLY if using IPv6)
       Patched with RTAI 3.8
       Patched with BIGPHYSAREA (ONLY for RADIO)




                                                  116
OAI Hardware requirements

 Hardware requirements for OAI in RADIO mode
    On a desktop machine
       A powerful machine (Quad-core CPU)
             E.g: MINI-PC: QuadCore 2.83Ghz, 3GB RAM, INTEL MotherBoard, PCI slot

       A free PCI slot with a PCI to CARDBUS adapter
       Compatible with RTAI (SMI disabled)
    On a laptop machine
       A powerful machine (Quad-core CPU)
           E.g: DELL M4500: Intel Core i7 QuadCore 2.83Ghz, 4GB RAM, INTEL ICH
            architecture, ExpressCard slot
       Compatible with RTAI (SMI disabled)
       EXPRESS-CARD free slot with EXPRESS-CARD to CARDBUS adapter


                                                            117
OAI Hardware requirements



 Hardware requirements for OAI in EMULATION mode
    Gigabit Ethernet Switch
    For a Small scale emulation = Normal laptop (Core 2 duo CPU)
        E.g : DELL PRECISION M2300, Core 2 duo 2.2Ghz, 2GB of RAM
    For a large scale emulation = Cluster machine (Quad-core CPU)
        E.g : DELL POWEREDGE 1950, QuadCore 2.2Ghz, 8GB of RAM




                                                    118

								
To top