Thursday, 12 June 2014

Virtualization and its effect on High Performance Computing

Documentation on Virtualization and its effect on High Performance Computing

View   
Today is an era of High-Performance computing where business needs have increased and so have increased the demands for resources but in any general case if we opt we will come to see that the hardware resources are very much limited and we have to accommodate our every possible needs within it. So here is a small view of what I came to know going through few research papers, amongst which one describes the limitation of cloud when coming to the point “High Performance Computing”.

Abstract
Despite cloud computing’s tremendous benefits in the fields of applications like enterprise, Web, game and multimedia. Its success in the field of high performance computing has been very limited. The most obvious reason cited for it is “Virtualization” which is a technique to run multiple instances of operating system or server side services at a go. Meanwhile the rising need of virtualization has compelled CPU vendors to modify the chips with virtualization. The concept of virtualization at hardware level helped reducing the gap between high performance computing with virtualization. This helped in accelerating context switching, speeding up address translation and enable I/O direct access which can basically cause overhead of resources.
            Research works indicate that hardware assisted virtualization can bring high performance computing as a service into realization.

Limitations of virtualization on HPC level and its solutions
So why are these limitations perceptual to virtualization when we talk in terms of high performance computing?????
            The answer to this question is very simple. High Performance Computing utilises the concept of parallel processing which requires distributed system to achieve parallel processing and apparently research work has shown virtualization to be a root cause to the detrimental performance of high performance computing since it was causing overhead on the CPU and I/O. So, in the field of HPC, the cloud technology was not been able to provide proper functioning as compared to high performance utilisation of resources.
            So cloud service providers have been trying to mitigate this performance gap. For example Amazon Web Services (AWS) has launched “EC2 Cluster Compute Instances” which did some promising work on this problem keeping in mind that HPC applications may still reap the benefits from cloud computing and virtualization.
            Further development to the concept of integrating virtualization with chips was first propelled by Intel which released VT-i (for Itanium), VT-x and VT-d whereas AMD released AMD-V and AMD-Vi. The VT-i, VT-x and AMD-V extensions were used to accelerate context switching between VMM (Virtual Machine Monitor) and guest Virtual Machines. These virtual machines also helped in adding hardware page tables to the Memory Management Unit (MMU) to speed up page table mappings from guest virtual machines to physical machines.

Evaluating two cases of Virtual Machine
            In this discussion I have emphasized o discussing about two instances of virtual machine that is KVM (Kernel Virtual Machine) and XEN. Both their workings and architectural approaches of virtualization are different. The reasons for comparing these two instances are
1) Both of them support Full Virtualization where there is no need for modification of the guest operating system.
2) These two instances are open source virtualization tools which are widely supported by any LINUX distributions.

XEN architecture   
XEN is basically a hypervisor that is running in the most privileged CPU state than any other software running on the physical machine. This hypervisor is responsible for memory management, CPU scheduling etc. In XEN architecture there is a host operating system which interacts with the system on behalf of the guest operating system. The host operating system is referred as “dom0” and the guest operating systems are referred as “domU”. The dom0 domain is launched when the physical machine starts and is a modified operating system. The dom0 domain controls the hypervisor and manages it to launch the unprivileged guest operating system or domU operating system. In case of paravirtualization approach the OS on the domU is slightly modified. The domU paravirtualized operating system can access the hardware devices by the help of paravirtualized drivers through the dom0.

KVM architecture
            Kernel based virtual machine (KVM) is a virtualization technique which comes integrated with the LINUX kernel. It was first developed by Qumranet. Instead of creating a separate hypervisor the LINUX kernel was used as a hypervisor itself. The KVM depends on the hypervisor for virtualization. It comprises of a loadable kernel module kvm.ko providing the core virtualization infrastructure which is loaded by the physical machine at start up.
In this virtualization model virtual machines are created by using a device node (/dev/kvm). Every guest VM in this virtualization is just another regular process scheduled by the regular LINUX scheduler. Besides two modes of execution kernel and user there is another mode that KVM adds which is the guest mode (which has its own kernel and user modes that the hypervisor is unconcerned with)
Since a VM in Kernel Virtual Machine is simply a process, the standard LINUX process management tools can be used. One can destroy, pause and resume a VM with the kill command and view resource usage with the top command. The VM belongs to the user who started it and all accesses to it are verified by the kernel. Hence system administrators can easily manage VMs with the existing tools provided with the LINUX itself.

Disk Performance status of KVM and XEN (On the basis of I Ozone version 3-398 as the microbench mark tool for executing some file operations and measuring their performances)
Operations
In Physical Machine
In Virtual Machine with XEN
In Virtual Machine with KVM
CPU cache effect
Write operation
Yields a throughput of around 1.65 gb/sec
Yields a throughput just above 1.0 gb/s when the file size is below 32 mb and increases to above 1.75 gb/s afterwards.
Yields a throughput of 1.2 gb/s


---
Read operation
Throughput of 6.85 gb/s when the record size is 128 kb or less and it reduces to 6.25 gb/s when the record size increases
Throughput is 4.8 gb/s but it increases to 6.4 gb/s when the file size is above 128 mb
Throughput reaches 4.8 gb/s when the record size is 64 kb or less and then decreases to 3.9 gb/s
Throughput goes beyond 9.2 gb/s when the file size is below 4 mb ad the record size is less than 128 kb


  

Thursday, 15 May 2014

About my project Garage Management

My new project GARAGE MANAGEMENT

                                Recently I have developed a project on GARAGE MANAGEMENT which basically acts a CONTENT MANAGEMENT SYSTEM. First let me brief my readers about what is "CONTENT MANAGEMENT SYSTEM".
                                It is basically a front end framework that reduces the complexity of Web Development for the end users. By simply using some modules which are nothing but basically packages that helps in implementing some functionalities within your website and there are several themes which are already available on the internet which you can apply to make a website within no time. CMS's are basically used to run websites containing blogs, news. Amongst the various CMSs that are used now a days, Drupal and Wordpress are the most popular. Wordpress is mainly used to develop blogs basically whereas the scope of Drupal is far more widespread. For any content management system there are two different users.

  • The first one is an administrator which is created by default during the installation of the system. The administrator will be in the charge of maintaining and making any changes to the website.
  • The second one is an authenticated user who will be able to log in as a user and view the contents of the website as per some privileges made by the administrator.
  • The third one is the anonymous user who can just have a preview of the website.

For both the authenticated and the anonymous user the administrator has the privilege to decide what data should be available for them. Coming back to my topic GARAGE MANAGEMENT which is a content management system I have the option for two kinds of users 1) The Administrator and 2) Authenticated user. My content management system has the following features.

  • The Administrator has all privileges of creating an administrator, making changes, to the Garage.
  • The Administrator can update the site tagline and the site name.
  • The Administrator can create one or more than one administrator.
  • The Administrator can view user feedback of what the user is submitting.
  • The Administrator can change password.
  • The Administrator can delete an already existing administrator.
  • The Administrator can make changes or updates to the Inventory and the Service details, which is a very important aspect in my system. The inventory are basically are the type of instruments and the latest arrivals in the garage trends. The services are basically the services that are provided to the authenticated user who are logged in.
  • The Administrator also has the privilege of altering the description of his website
So the administrator change anything and everything about the page contents of the system.

These are the previews of my System from the Index page to logging in as an administrator.       
  




These are the previews of my System from the Index page to logging in as an administrator.


This page depicts registration for administrator. The administrator can also change password as per their convenience.

Lets see what are the features that are provided for the authenticated users.


     
             





About Me




Hi !! I am Soumyajit, a student of computer application from SICSR (Symbiosis Institute of Computer Studies and Research. I love coding and learning new technologies. Spending a few hours without my laptop is very impossible for me ......


I am very new to blogging and I feel it is essential to blog since it helps you in expressing yourself of being what you are and let others know you in a while. For me blogging is essentially about discussing mostly about technologies and knowing about it. Writing my first blog I would like my readers correct me If my blog is going wrong somewhere .................