Cost-Benefit Analysis of Cloud Computing versus Desktop Grids page 2

Sunday, March 18, 2012

and computation requirements, and current cloud comput-
ing and storage pricing of Amazon’s Elastic Compute Cloud
(EC2) [4].
2 Related Work
In [23], the authors consider the Amazon data storage
service S3 for scientific data-intensive applications. They
conclude that monetary costs are high as the storage ser-
vice groups availability, durability, and access performance
together. By contrast, data-intensive applications often do
not always need all of these three features at once. In [28],
the authors determine the performance of MPI applications
over Amazon’s EC2. They find that the performance for
MPI distributed-memory parallel programs and OpenMP
shared-memory parallel programs over the cloud is signif-
icantly worse than in "out-of-cloud" clusters. In [17], the
author conducts a general cost-benefit analysis of clouds.
However, no specific type of scientific application is con-
sidered. In [9], the authors determine the cost of running a
scientific workflow over a cloud. They find that the com-
putational costs outweighed storage costs for their Mon-
tage application. By contrast, for comparison, we consider
a different type of application (namely batches of embar-
rassingly parallel and compute-intensive tasks) and cost-
effective platform consisting of volunteered resources.
It is well-known that ISP’s have always offered similar
services as clouds but at much lower rates [17]. However,
ISP’s resources are not as scalable (according to variable
workloads), configurable nor as reliable [17]. The ability
to adapt to workload changes is important as server work-
loads can change rapidly. Configurability is important to
suit project programming and application needs. Reliability
is important for project scientists to receive and access re-
sults, and also to project volunteers as they prefer to receive
credit for computation as soon as possible. Thus, we do not
consider ISP’s in our analysis.
3 Cloud versus Volunteer Computing
Both cloud and volunteer computing have similar princi-
ples, such as transparency. On both platforms, one submits
tasks without needing to know the exact resource on which
it will execute. For this reason, definitions of cloud comput-
ing have included VC systems [30]. However, in practice,
the cloud computing infrastructures differ from volunteer
computing platforms throughout the hardware and software
stack. From the perspective of the user, there are two main
differences, namely configurability (and thus homogeneity),
and quality-of-service.
Clouds present a configurable environment in terms of
the OS and software stack with the Xen virtual machine [3]
forming the basis of EC2. The use of VM’s in VC systems
is still an active research topic [7, 16]. So while clouds can
offer a homogeneous resource pool, the heterogeneity of
VC hardware (e.g. general purpose CPU’s, GPU’s, the Cell
Processor of the Sony PlayStation 3) and operating system
(90% areWindows) is not transparent to VC application de-
velopers.
Clouds also provide higher quality-of-service than VC
systems. Cloud resources appear dedicated, and there is
no risk of preemption. Many cloud computing platforms,
such as Amazon’s EC2, report several "nine’s" in terms of
reliability. Cloud infrastructures consist of large-scale cen-
tralized compute servers with network-attached storage at
several international locations. The infrastructures are ac-
cessed through services such as S3 also provide high-level
web services for data management. By contrast, guarantees
for data access or storage, or computation across volatile In-
ternet resources over low-bandwidth and high-latency links
is still an open and actively pursued research problem.
3.1 Apples to Apples
Given these dramatic differences between cloud and VC
computing, it begs the question of how to compare these
systems. We compare the cost-benefits of cloud versus
volunteer computing from the perspective of an embar-
rassingly parallel and compute-intensive application.
This is a useful for the following reasons. EC2 is popular
computing environment for task parallel batch jobs. This is
evident by the fact that Condor is used extensively on EC2,
and there are even corporations that specialize in Condor
deployments over EC2 [8]. An alternative platform (that is
perhaps cheaper and provides higher performance) for these
tasks could be a VC system. Conversely, VC scientists may
consider hosting servers or even task execution on EC2, de-
pending on the cost-benefits.
4 Platform Performance Trade-offs
Here we describe the performance costs for an applica-
tion executed over a VC system, and compare them to EC2
costs. Roughly the stages of a VC project and application
are the following:
• Platform construction. One must wait and gather
enough volunteers in the project.
• Application deployment. As VC systems have a client-
server pull architecture, an application will be de-
ployed only as fast as the rate of client requests.
• Execution. During execution, we must consider the
effective compute rate of the platform given resources’
volatility and task redundancy.

0 comments:

Post a Comment

 
rama 8log's © 2011 | Designed by Interline Cruises, in collaboration with Interline Discounts, Travel Tips and Movie Tickets