Use of containerisation as an alternative to full virtualisation in grid environments.

Similar documents
XEN and KVM in INFN production systems and a comparison between them. Riccardo Veraldi Andrea Chierici INFN - CNAF HEPiX Spring 2009

Striped Data Server for Scalable Parallel Data Analysis

Testing an Open Source installation and server provisioning tool for the INFN CNAF Tier1 Storage system

Performance of popular open source databases for HEP related computing problems

Experience with PROOF-Lite in ATLAS data analysis

Virtualized Infrastructure Managers for edge computing: OpenVIM and OpenStack comparison IEEE BMSB2018, Valencia,

CMS High Level Trigger Timing Measurements

FIVE REASONS YOU SHOULD RUN CONTAINERS ON BARE METAL, NOT VMS

The High-Level Dataset-based Data Transfer System in BESDIRAC

Clouds in High Energy Physics

ATLAS Nightly Build System Upgrade

Evaluation of the Huawei UDS cloud storage system for CERN specific data

Fast and Easy Persistent Storage for Docker* Containers with Storidge and Intel

File Access Optimization with the Lustre Filesystem at Florida CMS T2

Data preservation for the HERA experiments at DESY using dcache technology

A comparison of performance between KVM and Docker instances in OpenStack

Benchmark of a Cubieboard cluster

Accelerate Database Performance and Reduce Response Times in MongoDB Humongous Environments with the LSI Nytro MegaRAID Flash Accelerator Card

GPU Consolidation for Cloud Games: Are We There Yet?

Server Virtualization and Optimization at HSBC. John Gibson Chief Technical Specialist HSBC Bank plc

Version 1.26 Installation Guide for On-Premise Uila Deployment

Data transfer over the wide area network with a large round trip time

Version 1.26 Installation Guide for SaaS Uila Deployment

CMS users data management service integration and first experiences with its NoSQL data storage

SurFS Product Description

ATLAS software configuration and build tool optimisation

The Effect of NUMA Tunings on CPU Performance

Data oriented job submission scheme for the PHENIX user analysis in CCJ

Using Puppet to contextualize computing resources for ATLAS analysis on Google Compute Engine

Geant4 on Azure using Docker containers

The ATLAS Tier-3 in Geneva and the Trigger Development Facility

IOmark-VM. Datrium DVX Test Report: VM-HC b Test Report Date: 27, October

Deployment Patterns using Docker and Chef

Benchmarking the ATLAS software through the Kit Validation engine

Geant4 Computing Performance Benchmarking and Monitoring

Version 1.24 Installation Guide for On-Premise Uila Deployment Hyper-V

Paperspace. Architecture Overview. 20 Jay St. Suite 312 Brooklyn, NY Technical Whitepaper

System upgrade and future perspective for the operation of Tokyo Tier2 center. T. Nakamura, T. Mashimo, N. Matsui, H. Sakamoto and I.

High Performance Computing Cloud - a PaaS Perspective

Security in the CernVM File System and the Frontier Distributed Database Caching System

Gulf HR using Microsoft Hyper-V Server 2008 R2

Benchmarking and accounting for the (private) cloud

Subtlenoise: sonification of distributed computing operations

The DMLite Rucio Plugin: ATLAS data in a filesystem

MidoNet Scalability Report

SAP High-Performance Analytic Appliance on the Cisco Unified Computing System

OpenStack hypervisor, container and Baremetal servers performance comparison

Chapter 3 Virtualization Model for Cloud Computing Environment

IBM Bluemix compute capabilities IBM Corporation

The Diverse use of Clouds by CMS

A first look at 100 Gbps LAN technologies, with an emphasis on future DAQ applications.

Amazon EC2 Deep Dive. Michael #awssummit

OpenStack Magnum Pike and the CERN cloud. Spyros

Cisco Services Ready Engine Virtualization Overview

Oracle for administrative, technical and Tier-0 mass storage services

LO2 Be able to design virtualisation deployments.

BEST PRACTICES FOR OPTIMIZING YOUR LINUX VPS AND CLOUD SERVER INFRASTRUCTURE

An SQL-based approach to physics analysis

Chapter 5 C. Virtual machines

RACKSPACE ONMETAL I/O V2 OUTPERFORMS AMAZON EC2 BY UP TO 2X IN BENCHMARK TESTING

DCS Development Systems in a Virtualized Environment

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

Maximizing VMware ESX Performance Through Defragmentation of Guest Systems

64-bit ARM Unikernels on ukvm

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

System level traffic shaping in disk servers with heterogeneous protocols

Running Jobs in the Vacuum

The Oracle Database Appliance I/O and Performance Architecture

Cloud Computing Capacity Planning

Reducing CPU usage of a Toro Appliance

AMD EPYC Delivers Linear Scalability for Docker with Bare-Metal Performance

Difference Engine: Harnessing Memory Redundancy in Virtual Machines (D. Gupta et all) Presented by: Konrad Go uchowski

Lightweight scheduling of elastic analysis containers in a competitive cloud environment: a Docked Analysis Facility for ALICE

Clouds at other sites T2-type computing

An Analysis and Empirical Study of Container Networks

MyCloud Computing Business computing in the cloud, ready to go in minutes

Lecture 09: VMs and VCS head in the clouds

CMS - HLT Configuration Management System

The ATLAS EventIndex: an event catalogue for experiments collecting large amounts of data

On-demand provisioning of HEP compute resources on cloud sites and shared HPC centers

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

CLOUD COMPUTING. Rajesh Kumar. DevOps Architect.

Virtuozzo Hyperconverged Platform Uses Intel Optane SSDs to Accelerate Performance for Containers and VMs

PoS(ISGC 2011 & OGF 31)049

Nested Virtualization and Server Consolidation

Users and utilization of CERIT-SC infrastructure

Docker Container Manager: A Simple Toolkit for Isolated Work with Shared Computational, Storage, and Network Resources

Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Reliability Engineering Analysis of ATLAS Data Reprocessing Campaigns

An Analysis of Storage Interface Usages at a Large, MultiExperiment Tier 1

Huawei FusionCloud Desktop Solution 5.1 Resource Reuse Technical White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 01.

Continuous integration & continuous delivery. COSC345 Software Engineering

docker & HEP: containerization of applications for development, distribution and preservation

Installing and Configuring Oracle VM on Oracle Cloud Infrastructure ORACLE WHITE PAPER NOVEMBER 2017

Advanced Cloud Infrastructures

Linux Virtual Machine (VM) Provisioning on the Hyper-V Platform

Installing and Configuring Oracle VM on Oracle Cloud Infrastructure O R A C L E W H I T E P A P E R D E C E M B E R

EXAM Pro: Windows Server 2008 R2, Virtualization Administrator. Buy Full Product.

Hardware Virtualization towards a Proficient Computing Environment

An Experimental Study of Load Balancing of OpenNebula Open-Source Cloud Computing Platform

Transcription:

Journal of Physics: Conference Series PAPER OPEN ACCESS Use of containerisation as an alternative to full virtualisation in grid environments. Related content - Use of containerisation as an alternative to full virtualisation in grid environments. Robin Long To cite this article: Robin Long 2015 J. Phys.: Conf. Ser. 664 022027 View the article online for updates and enhancements. This content was downloaded from IP address 148.251.232.83 on 09/11/2018 at 18:12

Use of containerisation as an alternative to full virtualisation in grid environments. Robin Long Physics Department, Lancaster University, Lancashire, U.K., LA1 4YB E-mail: r.long@lancs.ac.uk Abstract. Virtualisation is a key tool on the grid. It can be used to provide varying work environments or as part of a cloud infrastructure. Virtualisation itself carries certain overheads that decrease the performance of the system through requiring extra resources to virtualise the software and hardware stack, and CPU-cycles wasted instantiating or destroying virtual machines for each job. With the rise and improvements in containerisation, where only the software stack is kept separate and no hardware or kernel virtualisation is used, there is scope for speed improvements and efficiency increases over standard virtualisation. We compare containerisation and virtualisation, including a comparison against bare-metal machines as a benchmark. 1. Introduction Cloud technology comes in many forms including: Software as a, whereby users are provided with a pool of computers on which they can run pre-installed software; Platform as a, in which a computing platform, where software can be developed, compiled and run, is provided; and Infrastructure as a, the most basic setup where users are provided with a piece of hardware or a hyper-visor on which Operating Systems can be installed or Virtual Machines can be deployed. The Grid already provides cloud computing in the form of Software as a and Platform as a. There is a desire to make more efficient and opportunistic use of resources as the needs placed on the Grid grow. An example of such resource use comes from the High Level Trigger (HLT). The HLT is a massive computing farm dedicated to filtering events from the ATLAS (or other experiments) triggers. In periods of no data taking, this farm is sat idle for anywhere from a few hours to years (as has happened for the long shut down whilst the LHC was being upgraded). Being able to rapidly provision new VMs onto this hardware that could convert it into a Grid compute resource, and then re-provisioning it with new HLT VMs so that it could act as a Trigger farm again would provide a very efficient use of resources. The hypervisor, which controls the Virtual Machines, takes up a non insignificant amount of resource on the physical node. Containerisation, whilst being more limited in the operating systems it can containerise, has a much lower overhead. This paper therefore examines the ability of Docker[4] to provide a containerised environment and compares the performance of this with a KVM Virtual Machine[5]. Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI. Published under licence by IOP Publishing Ltd 1

Userland (OS) Host Kernel Server Userland (OS) Userland (OS) Userland (OS) Kernel Kernel Hypervisor Userland (OS) Host Kernel Server Kernel Userland (OS) Userland (OS) Userland (OS) Userland (OS) Host Kernel Server Traditional Setup Virtualisation Containerisation Figure 1. A graphical representation of how Bare Metal, Virtualisation (KVM), and Containerisation (Docker) works. To run a service on a baremetal machine, we need the kernel, userland (libraries that interact with the kernel), and the software we want to run. When we create a virtual machine, we need to virtualise all of this. Using containers, we only need to virtualise the userland and software as the containers userland interacts with the host kernel. 2. Virtualisation Virtualisation has been widely adopted by business to enable multiple operating systems, often of differing types (e.g. Linux / Windows), to leverage a single piece of hardware. This has led to large scale reduction of hardware both in terms of servers but also in the connecting infrastructure needed to support such hardware; monitors, keyboards, racks, air-conditioning to name but a few. The ability to run many virtual machines on a single host is attractive in business to save money through hardware but also savings in software purchases. The rapid provisioning of machines due to the removal of the need to buy a physical machine for each operating system instance is also very attractive. KVM is one of the leading Opensource virtualisation solutions; the hypervisor comes in the form of a service installed on a standard linux installation. This allows for the virtualisation of hardware, and the freedom to use any operating system as the guest. 3. Containerisation Traditional virtualisation and paravirtualisation requires the whole operating system and hardware to be virtualised. Using containers, individual applications can be separated from each other and virtual machines can be created but without the overhead of traditional setups. Containers allow the running of individual applications and their dependencies. These, in the case of docker, then run on top of the docker services. Only the userland and applications are virtualised which allows significant overhead savings. This is detailed in Figure 1. As only userland and applications are virtualised, an operating system that requires a different kernel type such as MS Windows or GNU Hurd cannot be containerised on a Linux host. For this analysis we use Docker which is the leading containerisation solution on Linux. 4. The testing environment Our setup consists of two compute nodes running Scientfic Linux 6. These are of identical specification, both having 16 core Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz CPUs, with 64 GB RAM and a 1TB Western Digital Sata Hard drive. Configuring the compute nodes to act as a KVM hyper-visor was relativly trivial. The standard KVM packages were installed from the repositories. A single virtual machine utilising all available resources was created using virt-manager. A virtual drive was created as part of the host to hold the datasets. Configuring the compute node to act as a Docker host took a little more work. As it was non trivial to mount CVMFS inside the container, CVMFS was mounted on the host machine and 2

21st International Conference on Computing in High Energy and Nuclear Physics (CHEP2015) IOP Publishing IPerf test cte d 9.2 MBits/sec 9.0 230 8.6 200 210 8.8 220 HEP SPEC 240 9.4 250 260 9.6 HEP SPEC test Bare Metal Docker (a) VM Bare Metal Docker VM (b) Figure 2. Performance of (a) HEP-SPEC and (b) IPerf for the various machine configurations. Note that neither of these plots start at zero so that the differences can be seen more clearly. tra then added as a volume to the container by using the -v flag on the command line. A single container was created which once again utilised all available resources. The docker container used was an official Centos 6 container with the necessary grid software installed on top. An external volume called /data was used to save analysis output into, and the container was ran interactively. The command line options are listed below where longr/centos6-chep is the Centos 6 container with grid software installed docker -D run -v /data:/data -v /afs:/afs -v /cvmfs/atlas.cern.ch:/cvmfs/atlas.cern.ch -i -t longr/centos6-chep /bin/bash Re 5. Analysis We wanted to compare virtualisation and containerisation, and how both of these compare with baremetal performance. To do this we used standard tools designed to benchmark critical parts of a system, namely CPU, network and disk access. The tools used were: iperf-2.0.5 bonnie++-1.96 hep-spec06 (v1.1) These tools were ran three times, on two different machines with each of the three setups. 5.1. HEPSPEC HEP-SPEC06[1] is the HEP-wide benchmark for measuring CPU performance and is based on the SPEC CPU2006 benchmark suite. The HEP-SPEC tests were run three times for each configuration, where more than one guest is running on the host, the scores are summed together to give a total HEPSPEC for the machine. Figure 2(a) shows that the management overhead due to the hyper-visor is clear for the virtual machine where a significant drop in HEPSPEC score is seen. Containerisation shows a small drop of 1-2 HEPSPECS, but this is within the noise for Bare Metal. 3

K/sec 0 50000 100000 150000 Bonnie test Bare Metal Docker VM Figure 3. Performance of bonnie s write(green), rewrite(blue) and read(orange) tests for the various machine configurations. The lower loss in HEPSPECs for containerisation is consistent with the much lower overhead outlined in Figure 1. 5.2. Bonnie++ Disk access speed is very important in a High End Computing environment. We used bonnie++[3] to test the disk access speeds. Bonnie++ was set to write to a file four times the size of the RAM available to each VM. Figure 3 shows a significant drop in all areas (write, re-write, and read) for the full virtualisation, whilst no significant drop is seen in any performance for containerisation when compared to bare metal. This is expected as containerisation does not virtualise the disk, it only writes to a single file on the local disk which requires virtualisation of the file system only. 5.3. IPerf The separation of CPU from storage disk on grid sites means that network bandwidth is very important. We tested this on the physical and virtual machines using IPerf[2]. The physical machines contained Intel 80003ES2LAN Gigabit ethernet cards. As these test machines are re-purposed production machines, and have not been moved from our production room, all tests were done on a non-dedicated network. Figure 2(b) shows that bandwidth is not obviously affected by virtualisation. Any changes in value fluctuate a lot between configurations and seem to be due to contention on the network infrastructure rather than to do with the virtualisation process. 6. Conclusion Virtualisation is shown to have significant but not insurmountable overheads. In contrast, overheads are almost non-existant for containerisation. The most significant overhead in virtualisation comes from virtualising the disk, and this is clear from the Bonnie++ results. Whilst no significant overheads are seen in containerisation, what has not been tested is the cumulative affect when multiple containers are running on the same system. Write Rewrite Read 4

Containerisation certainly shows promise as an alternative to full virtualisation, although it must be noted that certain cases of virtualisation cannot be containerised, such as those where a different type of OS is required such as Windows on a Linux host. References [1] HEP-SPEC06 Benchmark(Accessed 19/05/2015); https://w3.hepix.org/benchmarks/doku.php [2] IPerf - TCP and UDP bandwidth performance measurement tool (Accessed 19/05/2015); http://code.google.com/p/iperf/ [3] Bonnie++ homepage (Accessed 19/05/2015); http://www.coker.com.au/bonnie++/ [4] Docker (Accessed 19/05/2015); https://www.docker.com/ [5] KVM, Kernel-based Virtual Machine http://www.linux-kvm.org/page/main_page 5