SAAS/ Cloud Simulation

advertisement
SAAS/ Cloud Simulation
1. Introduction:
The advent of cloud computing service has changed the way business is functioning over the
years. Many IT based companies have started using this technology in order to save time, money
and resources. Cloud computing provides services in the form of software, platform and
Infrastructure which are referred as:

SaaS (software as a service): The Cloud Computing System provides software as a
service as per the demands of the customer. The customer can access this software from
anywhere in the world. Example of SaaS providers: Google, Amazon, Salesforce CRM
[3].

PaaS (platform as a service): The Cloud Computing System provides platform as a
service to develop various applications to the customer and the complete responsibility
of maintaining the platform is taken care too. Microsoft .Net is an example of one
platform. The PaaS model is placed in between the SaaS and IaaS models. Examples:
Microsoft Azure [3].

IaaS (infrastructure as a service): The Cloud Computing System provides infrastructure
like memory, security, CPU, server, disks as a service to its customers. The customer has
to install all the other platforms that he wants upon this layer. Examples: Amazon AWS,
Joyent, GoGrid [3].
For all these services you have to pay for only what you use. These services let the IT
companies to stop focusing on the hardware and software related problems and focus mainly on
their product development and other research activities [1].
2. Need for Cloud Simulation:
The demands of the consumers of cloud computing vary based on various factors like application
usability, security, maintainability, size, environment etc. It is also difficult for the consumers to
test the performance of their application because of the hypothetical and dynamic nature of the
cloud. Hence, it is viable for them to test their application in a controlled environment before
getting it into the cloud [1].
A reasonable solution to the above problem is to reproduce the cloud computing environment
using cloud simulation technologies [1]. There are many readily available cloud simulation tools
which can be used for replicating the actual cloud settings with a good success rate. Cloud
simulation offers solace to consumers who are reluctant to deploy their system directly on the
cloud without understanding the technical jargons. This will also help vendors who are offering
SaaS to improve their efficiency.
There are different simulation techniques available for different use. We explain some of the
simulations below.
3. Grid Computing and Simulation:
3.1 Introduction:
Grid computing is a distributed computing infrastructure used for computing large amounts of
data, using a vast amount of resources. It combines multiple computers or administrative
domains to solve a specific task. All the computers are connected by a conventional network
interface, like Ethernet. The main feature of Grid computing is that it can facilitate commercial
transactions or assemble volunteer computing. The management and scheduling of resources in
grid computing environment is quite difficult and it requires sophisticated tools for analyzing and
fine-tuning algorithms before applying them to the real systems [10].
The complexity of algorithms on the distributed systems of various resources can be effectively
analyzed by Grid simulation techniques. Simulation is also used for examining very large
hypothetical problems that may otherwise require many active users and resources [10].
A pictorial representation of the worldwide grid computing is given below [10].
3.2 GridSim:
GridSim[11] is a software toolkit or platform that allows users to model and simulate the
characteristics of Grid resources with different configurations. GridSim helps customers to study
the nuance of grids and analyze complex algorithms and methodologies in a controlled
environment. Using GridSim, researchers are able to conduct repeatable experiments and studies
which are not possible in a real time massive Grid Systems.
3.3 Features of GridSim: [need to paraphrase]
The important features of GridSim are given below.

It allows modeling of different resource characteristics and their failure properties;

It enables simulation of workload traces taken from real supercomputers;

It supports reservation-based or auction mechanisms for resource allocation;

It allocates incoming jobs based on space-or time-shared mode;

It has the ability to schedule compute- and/or data-intensive jobs;

It has a background network traffic functionality based on a probabilistic distribution.
This is useful for simulating data-intensive jobs over a public network where the network
is congested.

It provides clear and well-defined interfaces for implementing different resource
allocation algorithms; and

It allows modeling of several regional Grid Information Service (GIS) components.
3.4 GridSim Architecture:
GridSim is a multi-layered architecture which enables new layers to be easily added and
captures the replica of grid computing environment. The first layer in the architecture is
managed by SimJava which enables communication between various grid components. The
second layer forms the core elements of the GridSim and is mainly responsible for simulations
in GridSim. The third and fourth layers deal with modeling and simulation of services specific to
computational and Data Grids respectively. The components of the fifth layer “User code” help
users in performing their own schedulers and resource allocations in order to examine their
own algorithms. The architectural representation is given below.
4. Cloud Simulation:
4.1 Overview:
As the grid simulation toolkits failed to isolate the multi-layer service differentiation among
SaaS, PaaS and IaaS layers in the cloud computing environment, many cloud simulation tools
have been proposed to overcome this issue. Big Companies like Yahoo and HP have established
global Cloud computing testbed known as Open Cirrus with a federation of data centers in 10
different organizations. But in these kinds of testing environments it is hard to conduct
repeatable experiments because the resource conditions will vary with time, very expensive to
build and also limited accessibility only to its members of collaboration. [1]
4.2 CloudSim
CloudSim is an extensible simulation toolkit which is described as a framework for modeling
and simulation of both single and inter-networked (federation of clouds) clouds. Now HP and
other leading organizations and also many universities around the world are using CloudSim for
Cloud resource provisioning, energy-efficient management of data center resources, optimization
of Cloud computing and for research activities.[1]
4.2a Uses of CloudSim:

Usage of CloudSim reduces time and effort required to test cloud based applications.

It allows the applications to be tested in different cloud environments and developers can
implement this with less effort.

Modeling and simulation of even large scale cloud computing environments.

Support for simulation of network connections within the simulated elements.

Since Cloud is a pay – as – you – use model, CloudSim provides a platform for modeling
and simulation of economic entities for enabling real-time trading of services between
customers and cloud providers.

Availability of a Virtualization engine that leads to the creation and management of many
independent co host applications.[1]
4.2b CloudSim Architecture:
The following figure shows a multi-layered design of the CloudSim architecture and also its
software framework. The very first layer in the layered CloudSim architecture is the User Code
which makes entities like applications, number of users and their applications, virtual machines
and others available to hosts. The next layer is the CloudSim which is made up of many
fundamental classes (java).[1]
4.2c Implementation of CloudSim:
These are some of the key components required for the implementation of the CloudSim:
Cloudlet: The complexity of cloud based applications is measured in terms of their
computational requirements by CloudSim. Cloudlet class models these application services.
Furthermore, CloudletScheduler is used to implement the policies to determine the processing
power share among many Cloudlets in a virtual machine.[1]
Datacenter: This class is used to model the cloud based hardware or infrastructure services.
Furthermore, the DatacenterCharateristics class is used to provide information regarding the data
center resources.[1]
DatacenterBroker: This class models a broker who is responsible for mediating negotiations
between Cloud service provider and the customer. These negotiations are mainly driven by QoS
requirements. The broker studies various cloud service providers and also negotiates for
allocation of various resources and services as per the QoS requirements to provide the best for
the customer.[1]
Host: This class is used to model physical resources such as it is used to assign the policy to
share the processing power, memory and bandwidth among various virtual machines.[1]
Network Topology: This class gives information for inducing the network behavior in the
simulation.[1]
CloudCoordiantor and Sensor: CloudCoordinator is responsible for periodic monitoring of the
internal state of data center resources. It also undertakes dynamic load - shredding decisions for
which it uses the dynamic performance information. For monitoring performance parameters
implementation of sensor is necessary.[1]
VM: This class is used to model a virtual machine in the cloud which includes allocation of all
the virtual machines on the hosts which is selected based upon the requirements for a VM
deployment. This class is also responsible for allocation of processor cores among the VMs.[1]
5. Examples of SaaS Simulation:
SaaS (Software as a service) is becoming increasingly popular as many companies are opting to
deliver their services to their client through cloud. SaaS has become a dominant model to create
and deliver various applications. So simulation plays a very important role.
There are few organizations which are offering SaaS simulations:
Dezineforce
Dezineforce provide a simulation model known as HPC Simulation On-Demand (SaaS).
Dezineforce HPC based simulation provides an easy and quick way to access HPC applications
without the need to own, implement or manage the HPC infrastructure. So the organizations
opting for this service need not worry about HPC deployments. This is best suitable if the
organization has its members in many locations to justify local simulation resources. [4]
Waveller Cloud:
Waveller Cloud is an audio & noise simulation system that is delivered as “Software as a
Service”. Running audio and noise simulations in the computing cloud allows easy scaling of the
computation infrastructure. The frequency domain simulations take considerable amount of time
but can utilize the dynamic resources allocation in Cloud Computing environment very well
which leads to performance improvement in simulation turnaround times. This simulation system
also allows easy collaboration and adoption to design process and reduced cost in systems and
software administration. [5]
SIMCAN simulation platform
SIMCAN is a modular simulation platform which is used for modeling a wide range of HPC
architectures. The main features of this simulation platform are flexibility to model different
architectures easily and to scale these models by maintaining the good level of performance
and accuracy. [6]
6. Future Work:
Cloud simulation in the past one year has gained more visibility .Plenty of new projects, both
academically and in industry have emerged . The latest cloudsim toolkit offers support for
modeling and simulation of hot topics in cloud computing, green/power aware cloud computing
and federated cloud computing. At the same time new features were added and major
improvements were made in simulation core which allowed scalability and performance of
simulations. As far as the future work is concerned, new pricing and provisioning policies are to
be incorporated to the cloudsim. They are also providing support for practical and concrete
network models which capture the message routing and latency behavior.
References:
1. Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov , César A. F. De Rose and Rajkumar Buyya,
CloudSim:
A
Toolkit
for
Modeling
and
Simulation of
http://www.buyya.com/papers/CloudSim2010.pdf , June 14 2010.
Cloud
Computing,
2. Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov , César A. F. De Rose and Rajkumar Buyya,
CloudSim: A Novel Framework for Modeling and Simulation of Cloud Computing
Infrastructures and Services, http://www.cloudiquity.com/2009/03/cloudsim-offers-cloudcomputing-simulation/ , March 14 2009.
3. Abhishek, What is the actual difference between IaaS, SaaS and PaaS
inCloud Computing?, http://abhishekclf.wordpress.com/2010/09/28/what-is-the-actualdifference-between-iaas-saas-and-paas-in-cloud-computing/, September 28 2010.
4. Dezineforce – Empowering
optimisation-made-easy.aspx
designers,
http://www.dezineforce.com/overview-and-
5. Waveller Cloud, http://www.waveller.com/Waveller_Cloud/.
6. Simcan Simulation Platform, http://simcan.sourceforge.net/
7. Environments and Evaluation of Resource Provisioning Algorithms
8. http://en.wikipedia.org/wiki/Cloud_computing
9. http://www.computerweekly.com/galleries/241360-2/The-difference-between-Saas-Paasand-Iaas.htm
10. GridSim: A Grid Simulation Toolkit for Resource Modelling and Application
Scheduling for Parallel and Distributed Computing, http://www.buyya.com/gridsim/
11. GridSim Toolkit, http://www.cct.lsu.edu/~dsk/eScience2007Posters/sulistio.html
Download