Available Balance
Virtualization – VM Hypervisor
January 4, 2015


What is Virtualization?

In today’s world, we have high demand of having multiple operating systems or a server or even a multiple storage devices and so on. Therefore to fulfill these needs, we cannot physically have these in multiple quantities; therefore, the concept of virtualization was introduced.

With the help of virtualization, a single hardware can be divided into multiple operating systems, storage devices, network resource, etc. and hence fulfilling the requirement of multiple users.


What is a hypervisor?

An essential requirement for cloud computing is the ability of a single physical machine to run multiple virtual machines on it. This is attained through virtualization, where multiple computers appear to be a single one. It is impossible physically to create multiple processors as this will require scheduling under the same machine. Thus, virtualization caters with a higher degree of virtualization. Virtualization offers low cost virtualization, along with support for heterogeneous environment.

Hypervisor is a software which creates and runs virtual machines. The computer running the hypervisor is called the host machine, while each virtual machine running on it is called the guest machine. Hypervisor manages resource allocation and the memory mapping between the guest machine and the host operating system (OS).

It is also known as a manager of a virtual machine. Hypervisor software may vary for different operating system, but the basic function will always be to transform a single hardware into multiple virtual machines. Hypervisor software controls the host machine automatically by allocating the required processor, memory or other resources to all guest operating systems that are running on the host computer without any fails or any problem.


Types of hypervisor

There are two types of hypervisor, they are as follows:


Type 1 hypervisor or bare-metal hypervisors

has direct access to all the hardware and installs directly on the computer. Type 1 hypervisors cater resource management and provide complete advantage of portability and abstraction of hardware while running multiple virtual machines.


Types of VM Hypervisor Type 2 hypervisor  or hosted hypervisors

also cater the execution of multiple virtual machines but it does not provide direct access to the hardware, which ultimately incurs more cost in running the guest OS. So, in type 2 hypervisor the guest OS does not run at its full potential.






To Read more click here


Rate This Content
What is Google file system?
January 3, 2015


Google File System (GFS)

Google requires a strong and very huge data storage system for storing great deal of data and catering its users the ability to access, create and alter data. Google does not manages all this through a large distributed computing environment which is equipped with high power computers. Google manages all the data through its exclusive Google File System (GFS) which is based on the principle of utilizing the capabilities of inexpensive commodity components and allowing hundreds of clients to access the data.
Since GFS deals with large data files, so the core concerns for the programmers were the manageability, scalability, fault tolerance and consistency of the system. GFS was designed by the programmers in a way that it could easily manage large data files and also provide quick access to the users for their desired documents.


Google File System Structure & Working


Structure of Google File System

It is a vivid fact that the manipulation and accessing of large data files is a time-consuming task and takes up a great deal of network bandwidth. So in order to handle large data files efficiently and allow less access time for users, GFS stores data files by dividing them into chunks of 64 megabytes (MB). Each chunk has a unique identification number (chunk handle) and chunks are replicated on different computers to cater failures. Moreover, chunks also have checksum within them to ensure data integrity.
Google file system contains clusters of computers and within each clusters there is one master server, several chunk servers and several clients. Each file chunks is replicated thrice on different chunk servers, to attain high level of reliability. One replica is called the primary one while the other two are called secondary ones.
The master stores the file system metadata, which include information regarding mapping from files to chunks, current chunk location, namespace and access control information. The master server communicates with chunk servers through Heart Beat messages. Clients are the Google Apps, or Google Docs etc. which place file requests. The chunk servers do not transfer the requested file to the master server. Instead, the chunk servers directly transfer the requested file to the client.


Working of Google File System

Google file system works by using two core elements, one is lease and the other is mutation. Mutation includes the changes made to the chunk in a write or append operation. Lease is used for maintaining consistent mutation order across all the replicas. The primary replica is given the chunk lease by the master server. The primary replica picks up a serial mutation order which is followed by the other secondary replicas too. Thus the lease grant order chosen by the master defines the global mutation order and within the lease the serial numbers assigned by the primary define the order of mutations. In GFS a write request by the clients follows the sequence of these numbered steps:


1. The client inquires the master about which chunkserver holds the current lease for the chunks and also the location of other secondary replicas.
2. The master server replies back with the location of the primary and secondary replicas. This location is cached at the client side for future mutations, except in cases when the primary replicas becomes out of reach or does not contain the lease.
3. The client pushes the data to the replicas and then sends a write request to the primary replica.
4. The primary replica assigns serial numbers to the mutations and forwards the same serial mutation order to the other secondary replicas.
5. The secondary replicas reply back to the primary intimating that they have completed the write request in the same order as supplied by the primary.
6. The primary replica then informs the client about the completion of write request and incase of errors, also reports them.


To Read further, click here

Rate This Content
TCP Incast Problem on Data centers in Cloud Computing
December 26, 2014


In previous posts, we discussed cloud computing and its business models. Today, we are going to learn about effects of TCP Incast Problem on Data centers in Cloud Computing and solution for TCP Incast.

TCP Incast Problem on Data centers in Cloud Computing

The Effects of TCP Incast Problem on Data centers in Cloud Computing


Cloud computing is a domain that requires big data centers to supports its applications and services. Companies like Amazon, E-Bay, Google, etc. use big data centers to cater the users with a wide variety of services like web search, e-commerce, and data storage.

In order to support huge amount of data traffic, data centers require high-capacity links (high burst tolerance), high throughput and low propagation delays.  TCP tends to be the most popularly used protocol over the internet. However, in data centers, TCP is not able to perform well due to the incast problem.
Incast occurs in cloud data centers due to many-to-one communication links. This happens when a server is connected to various nodes via a switch. When the server places a request for data, it is sent to all the nodes simultaneously, which in turn reply at the same time.

This causes a micro burst of all the data coming from the nodes towards a single server (many to one communication). Due to low queuing capacity at the server, the packets start dropping out as the data rate also increases drastically. This eventually leads to throughput collapse at the server side.


Solutions for TCP Incast


In order to reduce the TCP incast problem, switches having large buffers can be used, but it turns out to be a costly solution and also results in high latency as the buffers get deep.

Another way to cater TCP incast is to reduce TCP’s minimum RTO (Request Time Out), which will help TCP to enter in the retransmission mode quickly and deal with congestion as quickly as possible. However, RTO should not be decreased too much, as it will increase the retransmissions drastically and ultimately choke the bandwidth.

Data Center TCP (DCTCP) is a modified version of TCP, which is specifically designed to cater cloud computing applications and deal with high throughput. DCTCP is based on ECN – Explicit Congestion Notification, which takes congestion feedback and operates accordingly. A threshold value is marked and the number of packets exceeding the threshold value in the queue are marked. The window size is then decreased in accordance with the number of marked bits.

DCTCP works well because it is able to send packets before they are dropped, which results in high throughput. Moreover, DCTCP achieves low latency due to small buffer occupancies.

Apart from incast, TCP in data center environment also suffers from the problems of queue build up and buffer pressure. Due to big data flows, queues build up at the receiver and even short messages have to wait for a long time due to increased latency. Buffer pressure implies that the port bandwidth on a switch is adjusted according to the amount of data sent on it. So if one port on the switch has long flow and the other has short flow, so more bandwidth would be given to the long one and short one would automatically be affected.


Click here to read more.

Rate This Content
What is cloud computing
December 26, 2014


Cloud computing meaning


Cloud computing implies sharing access to resources through the connected devices of the users anywhere in the world at any time. It revolves around the use of virtualization to share large databases around the globe cost effectively. It provides better scalability and high degree of availability due to the architecture of huge data centers. The core benefit of cloud computing lies with the fact that it involves no upfront cost and has better network bandwidth utilization.


Three Types of Cloud Business Models


Public Clouds

are the ones which are built over the Internet and can be accessed by anyone who has paid for the service. Such clouds are usually owned by service providers. Some common public clouds include Microsoft Azure, Google App Engine, Amazon AWS etc.


Private Clouds

are the ones which are owned and managed by a particular client. Such clouds exist within the domains of a specific organization. These are used internally within an organization or used by partners too. They are based on internal infrastructure of datacenters owned by the company itself.


Hybrid Clouds

Hybrid clouds are a mixture of public and private clouds and operate in a middle way between them. They lease public cloud services yet maintain a higher degree of security and privacy.



Popular Cloud Business Models


Infrastructure as a Service (IaaS)

allows users to rent storage, processing, and various resources for running their application. In this model, user do not have the control to manage the underline infrastructure of the cloud, yet the user is given control over OS, storage and selection of various network components. In short, IaaS comprises of communication, computation and storage as a service. Amazon EC2 is an example of IaaS cloud business model.


Platform as a Service (Paas)

allows users to have a collaborative software development platform through programming languages and software tools. Here, the user does not have control over underline cloud infrastructure, yet it provides user the platform for application development, testing and operation.


Software as a Service (Saas)

is associated with web hosting, which implies the browser initiated application software.


Cloud computing & Business Models


For more details Click here:

Rate This Content