IKR SimLib-QEMU: TCP Simulations Integrating Virtual Machines

Similar documents
Model-based Measurements Of Network Loss

On the State of ECN and TCP Options on the Internet

TCP SIAD: Congestion Control supporting Low Latency and High Speed

Implementation and Evaluation of Coupled Congestion Control for Multipath TCP

IKR EmuLib. A Library for Seamless Integration of Simulation and Emulation. Marc Necker, Christoph Gauger [necker

Light & NOS. Dan Li Tsinghua University

TCP for OMNeT++ Roland Bless Mark Doll. Institute of Telematics University of Karlsruhe, Germany. Bless/Doll WSC

Erratum: Evaluation of Different Decrease Schemes for LEDBAT Congestion Control

Provisioning and Operation of Virtual Networks

Preprint. Until published, please cite as:

TCP Modifications for Congestion Exposure

Shadow: Real Applications, Simulated Networks. Dr. Rob Jansen U.S. Naval Research Laboratory Center for High Assurance Computer Systems

Investigating the Use of Synchronized Clocks in TCP Congestion Control

The design and implementation of the NCTUns network simulation engine

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

Characterization of accuracy problems in NetFlow data and approaches to handle them

Messaging Overview. Introduction. Gen-Z Messaging

Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview

TCP modifications for Congestion Exposure

CSE398: Network Systems Design

Chapter 8: I/O functions & socket options

Master Course Computer Networks IN2097

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Real-Time Systems. Real-Time Operating Systems

Master Course Computer Networks IN2097

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas*

Asynchronous Events on Linux

Network Emulation in the NS Simulator. Kishore Ramachandran

EXPERIENCES EVALUATING DCTCP. Lawrence Brakmo, Boris Burkov, Greg Leclercq and Murat Mugan Facebook

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

9th Slide Set Computer Networks

Virtualization Overview NSRC

Traffic Characteristics of Bulk Data Transfer using TCP/IP over Gigabit Ethernet

DPDK Roadmap. Tim O Driscoll & Chris Wright Open Networking Summit 2017

Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware

Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat. ACM SIGCOMM 2013, August, Hong Kong, China

What is an L3 Master Device?

CHAPTER 3 - PROCESS CONCEPT

PLEASE READ CAREFULLY BEFORE YOU START

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems

QuartzV: Bringing Quality of Time to Virtual Machines

A New Methodology for Easily Constructing Extensible and High-Fidelity TCP/IP Network Simulators

Problem System administration tasks on a VM from the outside, e.g., issue administrative commands such as hostname and rmmod. One step ahead tradition

LEDBAT++: Low priority TCP Congestion Control in Windows

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

CS 638 Lab 6: Transport Control Protocol (TCP)

Open Source Traffic Analyzer

Chapter 3: Processes. Operating System Concepts 9 th Edition

Processes and Threads

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services

CIS 632 / EEC 687 Mobile Computing

Transparent TCP Timestamps draft-scheffenegger-tcpm-timestampnegotiation-03

TCP modifications for Congestion Exposure

Kathie Nichols CoDel. present by Van Jacobson to the IETF-84 Transport Area Open Meeting 30 July 2012 Vancouver, Canada

Process Description and Control

Virtual Security Gateway Overview

Evaluation Strategies. Nick Feamster CS 7260 February 26, 2007

Microkernels and Client- Server Architectures

NGN Progress Report. Table of Contents

Investigations on TCP Behavior during Handoff

EEC-682/782 Computer Networks I

Zero-Copy Socket Splicing

Network stack virtualization for FreeBSD 7.0. Marko Zec

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

A Flexible Framework for Complete Session Mobility and its Implementation

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Operating Systems. read the warning about the size of the project make sure you get the 6 th edition (or later) of the book

ITRON Project Overview

Process. Program Vs. process. During execution, the process may be in one of the following states

TCP LoLa Toward Low Latency and High Throughput Congestion Control

Much Faster Networking

Sebastian Zander, Grenville Armitage. Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology

VALE: a switched ethernet for virtual machines

RECITAL INVESTIGATION OF IPv4 AND IPv6 USING WIRED NETWORKS IN OMNET++

Doğan Fennibay MS Thesis Presentation - June 7th, Supervisor: Assoc. Prof. Arda Yurdakul

Insights into the performance and configuration of TCP in Automotive Ethernet Networks

Types of Virtualization. Types of virtualization

ELEC 377 Operating Systems. Week 1 Class 2

ROUTE OPTIMIZATION EXTENSITON FOR THE MOBILE INTERNET PROTOCOL IN LINUX

msctp for Vertical Handover Between Heterogeneous Networks

Review: Hardware user/kernel boundary

Operating System Modifications for User-Oriented Addressing Model

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

Evolution of the netmap architecture

Virtualization, Xen and Denali

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

The digital copy of this thesis is protected by the Copyright Act 1994 (New Zealand).

2008 Chapter-8 L1: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc.

Lecture 15: I/O Devices & Drivers

Projects on the Intel Single-chip Cloud Computer (SCC)

Chapter 13: I/O Systems

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Chapter 13: I/O Systems

Rapid PHY Selection (RPS): A Performance Evaluation of Control Policies

Speeding up Linux TCP/IP with a Fast Packet I/O Framework

Common Computer-System and OS Structures

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Transcription:

IKR SimLib-QEMU: TCP Simulations Integrating Virtual Machines ICCRG 87. IETF Berlin July 31, 2013 Thomas Werthmann <thomas.werthman@ink.uni-stuttgart.de> Mirja Kühlewind <mirja.kuehlewind@ikr.uni-stuttgart.de> Matthias Kaschub <matthias.kaschub@ikr.uni-stuttgart.de> Sebastian Scholz <sebastian.scholz@ikr.uni-stuttgart.de> David Wagner <david.wagner@ikr.uni-stuttgart.de> Universität Stuttgart Institute of Communication Networks and Computer Engineering (IKR) Prof. Dr.-Ing. Andreas Kirstädter

Overview Motivation: Realistic TCP Simulations IKR SimLib-QEMU: Concept and Implementation QEMU Extensions Relaying Operating System Interfaces QEMU Adapter in the Simulation Control Flow and Reproducibility of Simulation Results Initial Evaluation against ns-3/nsc Conclusion 2

Realistic TCP Simulations Possible Approaches Abstract model of application and transport (TCP) behavior Do often not reflect real systems well due to complexity and rapid development of TCP Emulation in real time or slower (computers connected to simulated networks) Dependency on the real clock base and possible influences of other processes Re-implementation of standards or re-use of OS code (e.g. ns-2/3, ns-3/nsc) High maintenance effort and validation is difficult Use of unmodified OS and application code ns-3 with Network Simulation Cradle (NSC) ns-3: Most common used network simulator supporting integration of real kernel code Network Simulation Cradle (NSC): Framework to convert kernel code into user-space code and interface for simulation integration NSC does not support a more recent kernel version than 2.6.26 Direct Code Execution (DCE) Cradle supports version 3.4 3

IKR SimLib-QEMU: Concept Overview Integration of modified VMs running unmodified kernel and application code Upper Layer Lower Layer Control and configure VMs and applications (e.g. write data to socket) Intercept in/output (e.g. forward Ethernet frame to simulated topology) 4

IKR SimLib-QEMU: Concept Integration into the Simulation Program Extended QEMU intercepts all I/O and redirects it to the QEMU Adapter e.g. for packets sent/received, keyboard/mouse events, serial/parallel connectors QEMU Adapter provides an interface to send control commands created by simulation events e.g. connect network interface of the VM to the simulated network Relay Program allows to access the POSIX socket API from the simulation program e.g. to open TCP connections and send data Simulation Program executes global control flow and synchronizes all VMs with simulation clock maintains events in a central calendar (event-based simulation) 5

IKR SimLib-QEMU: Concept Extended QEMU Input and Output Interception VM must not interact with the host s devices! QEMU architecture: virtual hardware components with a virtual device and device backend Added own backends for network, serial I/O etc. All data is forwarded to or provided by the QEMU Adapter Clock Control Simulated time and emulated time in the VM need to match exactly! Virtual clock chip in VM: High Precision Timer (HPET) usually aligned to wall clock time Simulated time: independent of wall clock time (simulation runs slower or faster than real time) Patched QEMU timer code to when the timer is read, simulated time from the simulation calendar is returned timer interrupts of the VM schedule simulation events 6

IKR SimLib-QEMU: Concept Relay Program Relaying Socket Interface Socket interface should be usable from the simulation program for easy traffic model implementations Relay Program runs in the user space of the VM Communicates with the QEMU Adapter via a virtual serial interface Currently supports IPv4 / v6 API socket(), bind(), listen(), setsockopt(), getsockopt(), read(), and write() System Configuration and Measurement System should be accessible from the simulation program Relay Program can be used to set sysctl values Socket info struct can be read to extract cwnd etc. 7

IKR SimLib-QEMU: Concept Embedding the QEMU Adapter in the Simulation Program IKR SimLib Simulation Environment Event-driven, java-based, freely available Based on a calendar that advances time and maintains events to trigger entities Entities exchange messages via unidirectional interfaces Library provides a set of entities to handle and manipulate messages (e.g. queues) Usage of the QEMU Adapter Sender/receiver interact with socket interface of QEMU Adapter QEMU Adapter redirecs Ethernet frames from the VM to the simulation entities PcapMeter can be inserted at any point to capture Ethernet frames in pcap format 8

IKR SimLib-QEMU: Concept Control Flow: Interaction of SimLib and QEMU Either the simulation or one single QEMU instance executes at a time Timer events correspond to events in the simulation calendar Simulation program wakes up the respective VM and updates the time to the current simulated time Each execution cycle of VM is performed in zero simulated time and time between events is skipped follows paradigm of event-driven simulation VM can spend nearly infinite time for computations Simulation program provides input and waits until CPU of VM becomes idle Strictly synchronous interaction Virtual computer is not restricted by host CPU power 9

IKR SimLib-QEMU: Concept Reproducibility of Simulation Results All I/O of the VMs is controlled by the simulation program No interaction with the host s devices The VM timer chip is directly linked to the simulation calendar Simulated time is independent of wall clock time of the host Each VM operation happens as a result of a simulation event (socket API action, ethernet frame, timer) VMs are controlled by the simulation program The VM is given infinite time for processing No interaction with the CPU load on the host VMs are fully integrated into the simulation program and are fully isolated from the host Timing and results of the operations in the VM cannot be influenced by the environment (parallel processes, wall clock time,...) 10

Initial Evaluation Scenario for Comparison with ns-3/nsc and different kernels One TCP connection using Reno congestion control Single bottelneck with access link limitation Network simulation 1. IKR SimLib-QEMU 2. IKR SimLib-NSC Remember: NSC does not support a more recent kernel version than 2.6.26 3. ns-3 + NSC Most common used network simulator also supporting NSC integration 11

Initial Evaluation Three different simulators 40 congestion window [packets] 35 30 25 20 15 10 5 ns-3 + NSC IKR SimLib + NSC IKR SimLib + QEMU 0 0 0.5 1 1.5 simulated time [s] relative sequence number [MBytes] 345.9 345.89 345.88 345.87 345.86 345.85 ns-3 + NSC IKR SimLib + NSC IKR SimLib + QEMU 599.9 599.904 599.908 simulated time [s] IKR SimLib+NSC and IKR SimLib+QEMU match exactly Small drift of ns-3+nsc 12

Initial Evaluation Three different kernels 90 congestion window [packets] 80 70 60 50 40 30 20 10 2.6.26 2.6.26 (initcwnd=10) 3.9.0 0 0 0.5 1 simulated time [s] 5 10 15 New algorithms change TCP behavior Initial window of 10 Proportional Rate Reduction 13

Summary and Conclusion VMs integrated into packet-level network simulation to investigate TCP behavior Immediate use of an unmodified network stack of most recent kernel versions possible Extended QEMU adapts VM clock to simulated time and redirects I/O Full isolation of the VM from host system guarantees reproducibility Relay program provides a minimal abstracting of the OS Easily access from the simulation program to perform socket operation or capture network traffic IKR-SimLib-QEMU provides comparable results to ns-3+nsc Computation effort and memory usage are viable for TCP simulations, even in large scale network (results not shown) and further optimizations still possible 14

SimLib-QEMU: TCP Simulations integrating VMs Thank you for your attention! Questions? 15