Information Technology Reference
In-Depth Information
According to the company the EnergyCore ECX-1000 is the most energy-efficient
processor for data centers [10]. However, until now there is not any qualitative
comparison between the embedded processors and the general purpose processors in
the domain of cloud computing applications.
In this paper we present a performance evaluation between the general purpose
processors and the embedded processors (that are inherently designed for low power
applications) for cloud computing applications that are based on the MapReduce
framework. Section 2 presents the most common cloud computing applications under
the MapReduce framework. Section 3 presents the architectural details of the
processors and shows the comparison of these processors in terms of performance and
energy consumption. Finally, Section 4 presents the conclusions of this paper.
2
Cloud Computing Applications
One of the most widely used frameworks that are hosted in the data centers is the
MapReduce framework. MapReduce is a programming model and an associated
implementation for processing and generating large data sets [11]. Users specify a
map function that processes a key/value pair to generate a set of intermediate
key/value pairs, and a reduce function that merges all intermediate values associated
with the same intermediate key.
Programs written in this functional style are automatically parallelized and
executed on a large cluster of commodity machines. The run-time system takes care
of the details of partitioning the input data, scheduling the program's execution across
a set of machines, handling machine failures, and managing the required inter-
machine communication. This allows programmers without any experience with
parallel and distributed systems to easily utilize the resources of a large distributed
system.
The Map function takes an input pair and produces a set of intermediate key/value
pairs. The MapReduce library groups together all intermediate values associated with
the same intermediate key I and passes them to the Reduce function.
The Reduce function accepts an intermediate key I and a set of values for that key.
It merges together these values to form a possibly smaller set of values. The
intermediate values are supplied to the user's reduce function via an iterator. This
allows us to handle lists of values that are too large to fit in memory.
2.1
The Phoenix MapReduce Framework
Phoenix is a programming API and runtime system based on Google's MapReduce
model developed by Stanford University [12],[13]. The main implementation of the
Phoenix framework is based on the same notions of the MapReduce framework as it
is depicted in Figure 2. The Map function processes the input data and generates a set
of intermediate key/value pairs. The Reduce function properly merges the
intermediate pairs which have the same key. Given such a functional specification,
the MapReduce runtime automatically parallelizes the computation by running
multiple map and/or reduce tasks in parallel over disjoined portions of the input or
intermediate data. Google's MapReduce implementation facilitates processing of
Search WWH ::




Custom Search