Resource Virtualization for Real-Time Industrial Clouds

Resource Virtualization for Real-Time Industrial Clouds

Malardalen¨ University School of Innovation Design and Engineering Vaster¨ ˚as, Sweden Thesis for the Degree of Master of Science in Computer Science with Specialization in Embedded Systems 30.0 credits Resource Virtualization for Real-time Industrial Clouds Sharmin Sultana Sheuly [email protected] Examiner: Moris Behnam [email protected] Supervisor: Mohammad Ashjaei [email protected] June 10, 2016 Abstract Cloud computing is emerging very fast as it has potential in transforming IT industry by replacing local systems as well as in reshaping the design of IT hardware. It helps companies to share their infrastructure resources over internet ensuring better utilization of them. Nowadays developers do not need to deploy ex- pensive hardware or human resource to maintain them because of cloud computing. Such elasticity of resources is new in the IT world. With the help of virtualization, clouds meet different types of customer demand as well as ensure better utiliza- tion of resources. There are two types of virtualization technique (dominant): (i) hardware level or system level virtualization, and (ii) operating system (OS) level virtualization. In the industry system level virtualization is commonly used. How- ever it introduces some performance overhead because of its heavy weight nature. OS level virtualization replacing system level virtualization as it is of light weight nature and has lower performance overhead. Nevertheless, more research is nec- essary to compare these two technologies in case of performance overhead. In this thesis, a comparison is made in between these two technologies to find the suitable one for real time industrial cloud. XEN is chosen to represent system level virtu- alization and Docker and OpenVZ for OS level virtualization. To compare them the considered performance criteria are: migration time, downtime, CPU con- sumption during migration, execution time. The evaluation showed that OS level virtualization technique OpenVZ is more suitable for industrial real time cloud as it has better migration utility, shorter downtime and lower CPU consumption during migration. Contents 1 Introduction5 1.1 Motivation............................6 1.2 Thesis Contributions.......................7 1.3 Thesis Outline..........................7 2 Background8 2.1 Cloud computing.........................8 2.2 System Level Virtulization....................9 2.2.1 XEN............................ 10 2.2.2 XEN Toolstack...................... 11 2.2.3 XEN Migration...................... 11 2.3 Operating System (OS) Level Virtualization.......... 12 2.3.1 Docker........................... 13 2.3.2 OpenVZ.......................... 14 2.3.3 OpenVZ Migration.................... 16 3 Problem Formulation 17 4 Solution Method 18 5 System set-up 22 5.1 Local Area Network (LAN) Set up............... 22 5.2 XEN Hypervisor......................... 23 5.2.1 XEN installation..................... 24 5.2.2 Setting up Bridged Network............... 24 5.2.3 DomU Install with Virt-Manager............ 24 5.2.4 Virtual machine migration................ 24 5.3 Docker............................... 28 5.3.1 Docker Installation, Container Creation and Container Migration......................... 28 5.4 OpenVZ.............................. 29 5.4.1 OpenVZ Installation................... 29 5.4.2 Container Creation.................... 29 5.4.3 Container Migration................... 30 5.5 Test Bed Specifications Summary................ 30 1 6 Evaluation 31 6.1 Migration time.......................... 31 6.2 Downtime............................. 35 6.3 CPU consumption during migration.............. 36 6.4 Execution Time.......................... 36 6.5 Evaluation Result......................... 37 7 Related work 37 8 Conclusion 43 8.1 Summary............................. 43 8.2 Future Work........................... 43 Appendix A 51 A.1 XEN toolstack.......................... 51 A.1.1 XEND Toolstack..................... 51 A.1.2 XL Toolstack....................... 52 A.1.3 Libvirt........................... 52 A.1.4 Virt-Manager....................... 52 Appendix B 53 B.1 Docker Installation, Container Creation............ 53 B.2 Container Migration....................... 53 2 List of Figures 1 Different cloud types ([1]).....................8 2 XEN architecture (adopted from [2])............... 10 3 Major Docker components (High level overview) [3]...... 14 4 OpenVZ architecture [4]...................... 15 5 Solution method used in this thesis............... 19 6 Industrial Real time cloud.................... 21 7 LAN set up............................. 23 8 Start of Migration Virtual machine vmx............ 26 9 vmx migrated and paused in the destination host....... 27 10 Migration of vmx completed................... 28 11 Algorithm for measuring migration time............. 33 3 List of Tables 1 Test bed specifications of XEN................. 31 2 Test bed specifications of OpenVZ............... 31 3 Migration time for different RAM sizes............. 32 4 Migration time changing VM/container number (RAM size 1027)................................ 34 5 Migration time changing host CPU consumption (RAM size 1027)................................ 34 6 Downtime changing RAM size.................. 35 7 CPU conumption during migration (in percent)........ 36 8 Execution time.......................... 36 9 Summary of Evaluation..................... 37 4 1 Introduction Cloud computing has emerged as a very convenient word in the networking world. All over the world users utilizes IT services offered by cloud comput- ing. It provides infrastructure, platform, and software as services. These services are consumed in a pay-as-you-go model. In the industrial world, cloud became an alternative to local systems as it performs better [5], [6]. In industrial real time cloud all the required computation is conducted in cloud upon an external event and depending on this computation response is provided within a predefined time. However, In 2008 a survey was con- ducted with six data centres, which showed servers utilize only 10-30% of total processing capacity. On the other hand, CPU utilization rate in desk- top computers is on an average below 5% [7]. In addition to this, with the growth of VLSI technology, there is a rapid advancement in computing power. Unfortunately, this power is not exploited fully as single process running on a system does not exploit that much resource. The solution of the above problem lies in virtualization which refers to unification of multiple systems onto a single system without compromis- ing performance and security [8], [9]. Virtualization technologies became dominant technology in the industrial world for this reason. Server vir- tualization increases capability of data centers. Application of virtualiza- tion in different areas such as Cloud Environments, Internet of Things, and Network Functions is becoming more extensive [10]. In addition to these, High-Performance Computing (HPC) centres are using this technology to fulfil their clients need. For example, some clients may want their applica- tion to run in a specific operating system while others may require specific hardware. To address these issues at first the users specify their need. De- pending on this specification virtual environment is set up for them which is known as plug-and-play computing [11]. There exists three virtualization techniques: (i) hardware level or system level virtualization, (ii) operat- ing system level virtualization and (iii) high-level language virtual machines [12], [8]. Among these techniques the first two are dominant. Difference in these two virtualization technique lies in the separation of host (virtualizing part) and domain (virtualized part) [8]. In hardware level virtualization the separation is in hardware abstraction layer while in operating system level virtualization it is in system call/ABI layer. 5 1.1 Motivation Hardware level virtualization is the dominent virtualization technology in the industrial world as it provides good isolation and encapsulation . One virtual machine (VM) cannot access codes running in another VM because of isolated environment. However, this isolation comes at a cost of perfor- mance overhead. System calls in VMs are taken care of by virtual machine monitor or hypervisor introducing additional latency. If a guest issues a hardware operation, it must be translated and reissued by the hypervisor. This latency introduces higher response time of tasks which are running in- side the VM. Another challenge is that, there exists a semantic gap between the virtual machine and the service. The reason behind this is that, guest OS provides an abstraction to the VM and VMs operate below it [13]. In addition to this, VM instances should not have RAM size higher than host RAM. This fact imposes a restriction on the number of VM that can run on the host. Every VM instance has its own operating system which makes it of heavyweight nature. Because of the above problems, industry is moving towards operating system level virtualization which is a light weight alter- native to hardware level virtualization. There is no abstraction of hardware in OS level virtualization rather there exists partitions among containers. A process running in one container cannot access process in another container. Containers share the host kernel and no extra OS is installed in each con- tainer. Therefore, it is of light weight nature. However, in case of isolation hardware level virtualization outperforms operating system level virtualiza-

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    56 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us