Modeling Architecture-OS Interactions using LQNS

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Remus: High Availability via Asynchronous Virtual Machine Replication
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
PlanetLab Operating System support* *a work in progress.
Modeling Architecture-OS Interactions using LQNS CADlab, SERC Indian Institute of Science Bangalore-12, India.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Figure 1.1 Interaction between applications and the operating system.
Chapter 9: Moving to Design
1 I/O Management in Representative Operating Systems.
NPACI: National Partnership for Advanced Computational Infrastructure August 17-21, 1998 NPACI Parallel Computing Institute 1 Cluster Archtectures and.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Chapter 9 Elements of Systems Design
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Virtualization The XEN Approach. Virtualization 2 CS5204 – Operating Systems XEN: paravirtualization References and Sources Paul Barham, et.al., “Xen.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Xen I/O Overview.
Improving Network I/O Virtualization for Cloud Computing.
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Full and Para Virtualization
Hyun-Jin Choi, CORE Lab. E.E. 1 httperf – A Tool for Measuring Web Server Performance Dec Choi, Hyun-Jin David Mosberger and Tai Jin HP Research.
Operating-System Structures
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
+ Support multiple virtual environment for Grid computing Dr. Lizhe Wang.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
The Post Windows Operating System
Android Mobile Application Development
OPERATING SYSTEMS CS 3502 Fall 2017
Is Virtualization ready for End-to-End Application Performance?
Presented by Yoon-Soo Lee
Introduction to Distributed Platforms
Operating Systems : Overview
Software Architecture in Practice
CS 286 Computer Organization and Architecture
Introduction to J2EE Architecture
Oracle Solaris Zones Study Purpose Only
#01 Client/Server Computing
I/O Device Virtualization for Security
Ch 15 –part 3 -design evaluation
CS 258 Reading Assignment 4 Discussion Exploiting Two-Case Delivery for Fast Protected Messages Bill Kramer February 13, 2002 #
Virtualization Techniques
Operating Systems : Overview
Starting Design: Logical Architecture and UML Package Diagrams
Operating Systems : Overview
Operating Systems : Overview
QuaSAQ: Enabling End-to-End QoS for Distributed Multimedia Databases
Windows Virtual PC / Hyper-V
Performance Evaluation of Computer Networks
CSC3050 – Computer Architecture
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Performance Evaluation of Computer Networks
Co-designed Virtual Machines for Reliable Computer Systems
Database System Architectures
Operating Systems Structure
Virtualization Dr. S. R. Ahmed.
Chapter 13: I/O Systems.
System Virtualization
Xing Pu21 Ling Liu1 Yiduo Mei31 Sankaran Sivathanu1 Younggyun Koh1
#01 Client/Server Computing
Presentation transcript:

Modeling Architecture-OS Interactions using LQNS CADlab, SERC Indian Institute of Science Bangalore-12, India.

Agenda

Promise of System Virtualization on multi-core servers. Multi-core systems + System Virtualization → Solution to Enterprise data-center issues like server outages, real-estate and energy foot-print reduction, support for legacy applications, etc. Current design approach of multi-core systems: Replacement to mid-sized distributed clusters. Facilitate compute intensive workloads (ex. scientific workloads). Lopsided resource approach – many processors with limited I/O devices.

Characteristics of Enterprise workloads. Workloads dominated by a mix of I/O and compute intensive jobs that are either response or throughput sensitive. Jobs are sequential or parallel that require significantly less numbers of processors, unlike scientific workloads. Many independent jobs require to share a common I/O device like network interface (NIC) or a storage controller. I/O Devices should enable independent, concurrent access that meets application specific QoS (performance specific) requirements.

I/O Device Virtualization - Overview Issues: Two basic modes of I/O device virtualization: Hardware virtualization using emulation. Software/Para-virtualization using Driver domains. QoS support on the device access path provided as an extension of system software of the hosting/driver domain. Requirement: On multi-core servers, while consolidating I/O dominant workloads, need better ways to manage and access I/O devices without losing out on performance or usable bandwidth. Hardware Virtual Machine Monitor Web Server Database Server Application Server Driver domain NIC Para-Virtualization of I/O Devices

I/O Device Virtualization – XEN Virtual Machine Hardware VMM NIC Application VM Net Front Device Driver Network Bridge Net Back Driver Domain

Issues in evaluating alternative end-to-end architecture design approaches Preferred approach Simulation Analytical (Maybe!) Simulation Framework Need for a seamless, flexible and complete system simulation environment that can allow changes in the hardware, system software (VMM and GuestOS) and allow for executing real benchmarks. Almost all system simulators allow changes only in some of the components. Analytical approach: Obvious difficulty in modeling shared, constrained resources and exact system and workload parameters.

Layered Queuing Network Models Based on queuing theory principles and intuitively captures software or device contentions when multiple processes share a common software or device. Using Method of Layers (MOL) on the LQN models, performance estimates on throughput or response times can be made. To assess architecture capability and scalability, bottleneck analysis studies are also possible on the model. For this study, LQNs software package developed at the RADS lab of Carleton Univ. was used. LQM and JLQNDEF(model development tools), LQSIM (model analysis tool) and PARASRVN (tools for simulation studies on LQN models) are the different tools available. End-to-end System architecture that is expressed using standard UML notation can be converted to LQN models.

Intuition behind using MOL solution approach on LQN Models. Ref: Method of Layers, Rolia et.Al, IEEE-Transactions of Software Engineering, vol8 aug. 1995.

Procedure used for generating LQN models Generate software and device contention model for the end-to-end system architecture. Expand the contention model into interaction workflow model. Convert the workflow into LQN model.

Software and Device contention model for NIC device sharing in XEN. App1 Client Xen-VMM Xen-IDD App2 Client App3 Client App1 Server App2 Server App3 Server VM1 VM2 VM3 p1 p2 p3 p0 NIC Consolidated Server

Xen Network Packet reception workflow model. NIC NIC device memory VMM Packets arrive at the NIC 1 Copy 2 Device Interrupt 4 NetBack Device Driver Device IDD VM NetFront Device Driver Application Reception I/O Ring Event Channels Forward interrupt 5 DMA data 3 Post notify event 6 Receive event notification 7 Swap page with VM 8 Copy to socket buffer 9 Packet Bridging NIC Device Driver

Xen Network Packet transmission workflow model. NIC NIC device memory VMM Packets sent over the network 7 Transmit packet 6 NetBack Device Driver Device IDD VM NetFront Device Driver Application Reception I/O Ring Event Channels DMA data 5 Receive event notification 4 Post notify event 3 Swap page with VMM 2 Copy data from socket buffer 1 Packet bridging NIC Device Driver

LQN Model for NIC sharing across two VMs in Xen.

LQNs Modeling conventions. Each functional unit of workflow represented as an task. A task carries out its functions using different entries. Tasks interact with other tasks using synchronous (blocked) or asynchronous communication among their entries. Workflow sequence of multiple independent entries within a task is captured using phases within a task. Each task can be hosted to execute on a specified processor.

Service time demands for entries in LQN model. Task Name Entry Name Phase 1 Phase 2 httperf1_post Request1 1e-10 NIC_IN DMA1_IN 9.24e-05 DMA2_IN VMM_ISRIN ISRIN1 ISRIN2 Tintr1H 4.7783e-05 DD1_Recv Recv1_Pkt 2.3297e-05 httpS1_Recv Recv1_Req 0.00021069 httpS1_Reply Send1_Rep DD1_RevC Rev1_Pkt 3.7767e-05 DD1_Send Send1_Pkt VMM_ISROUT ISR1OUT ISR2OUT NIC_OUT DMA1_OUT DMA2_OUT httperf1_recv Reply1 Timer1 Timer1_intr DD1_ForwC Forw1_Pkt httperf2_post Request2 httpS2_Recv Recv2_Req httpS2_Reply Send2_Rep httperf2_recv Reply2 VM1_ISRIN Tintr2H VM2_ISRIN Tintr3H Timer2 Timer2_intr Timer3 Timer3_intr DD2_ForwC Forw2_Pkt DD2_Recv Recv2_Pkt DD2_RevC Rev2_Pkt DD2_Send Send2_Pkt

Enterprise Workload used to analyze NIC sharing in XEN - httperf httperf is a tool for measuring web performance. Generates a mix of compute and I/O workload on the server. Provides a flexible facility for generating various HTTP workloads and for measuring server performance. http workloads are connection oriented tcp transactions. Tool provides a client called “httperf” that generates a given number of http requests to a specific, standard http server, to fetch a specified file. Benchmark workload is specified as number of http requests-per-second. Observable metrics at the client end, that depend on the server performance, are avg. response time of replies, number of replies(received)-per-second (throughput), and errors like client timeouts, lack of file descriptors, etc. httperf reports achieved throughput as an average of limited set of observed samples.

httperf throughput for non-virtualized and virtualized single-core system. Make the pictures colored.

LQN model validation for httperf throughput. Non-Virtualized Server Virtualized Server

LQN model validation for httperf throughput. httperf throughput for two-VMs consolidated server

LQN model assumptions and result validation analysis. In the LQN model the workload input is represented as number of http requests. In reality, the http request gets broken into network packets. Packet level queuing delays are missing in the LQN model. In non-virtualized server there is no deviation observed. In the case of virtualized server this causes the simulation throughput results to be optimistic (<10%). Reason is asynchronous device channels between IDD and VM. For evaluation the simulation results can be used as upper bounds on achievable throughput.

Case Study: Evaluating NIC virtualization Architecture using LQNs. Proposal of I/O device virtualization architecture - I/O devices to be made virtualization aware; physical device should enable logical partitioning of device resources guided by QoS guarantees. VMM to control and define a virtual device, using the logical partitioning of a device. A virtual device is exported to a VM. The virtual device is private to a VM and is managed by the VM. IDD is eliminated.

Proposed Architecture schematic diagram.

Contention model for the proposed architecture.

LQN Model for NIC sharing across two VMs in Xen for the proposed I/O virtualization architecture.

httperf achievable throughout results comparison. Existing XEN architecture on a multi-core server. Proposed I/O virtualization architecture on a multi-core server.

Conclusion Proposed I/O device virtualization architecture. Evaluated the architecture using simulation of LQN models for httperf workload. Architecture shows benefit of up to 60% on achievable server throughput when compared to existing Xen virtualization architecture. Simulation results indicate similar performance when compared to real implementations.