0% found this document useful (0 votes)
6 views

Efficient Resource Selection Framework to Enable Cloud for HPC Applications

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Efficient Resource Selection Framework to Enable Cloud for HPC Applications

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

2013 4th International Conference on Computer and Communication Technology (ICCCT)

Efficient Resource Selectioncluster/grid


Framework
under tothis reason
Enable
is very costly for an organization and may lead to
utilization of resources. For we

Cloud for HPC applications


Ashwini J P Divya C Sanjay H A
Nitte Meenakshi Institute of Nitte Meenakshi Institute of Nitte Meenakshi Institute of
Technology Technology Technology
Bangalore, Karnataka Bangalore, Karnataka Bangalore, Karnataka
India India India
e-mail: [email protected] e-mail: [email protected] e-mail: [email protected]

We can make use of cloud resources for HPC applications.


Abstract-- Cloud computing provides on demand services with
pay-as-you-go manner. Cloud’s Infrastructure as Service allows HPC applications can take advantage of elasticity feature of
users to use hardware infrastructure (Compute, Network and cloud. The most important aspect of cloud computing for a
Storage) and deploy their applications over a computing node as user is “On-demand-computing”, which means that the user
per demand. Users of High Performance Computing can have as many or as little resources as he needs according
applications can take advantages of elasticity of cloud for their to the requirement.
compute and data intensive HPC applications without deploying On a cloud there are several resources available
actual physical infrastructure. But virtualization technology
degrades the performance of HPC applications. Most of the like compute, storage and communication resources. Raw
HPC applications distribute its workload among specified machines in cloud are of heterogeneous in nature. This poses
compute resources. To achieve better performance for an the challenge for choosing the best set of resources for HPC
application, it is desirable to have homogeneity among the applications.
compute resources. Since in cloud environment the virtual Few cloud providers like Amazon [10][11]
machines are created dynamically as per customer needs, it is provides platform for running HPC applications. The user
difficult to find homogeneous environment. In this work we are
proposing a method to form cluster of heterogeneous compute can buy the cluster instances with static configuration. But
resources for HPC base applications on cloud. Proposed this may lead to the wastage of resources for applications
method not only considers compute power also bandwidth with less resource requirement than the provided instance.
among the resources. We observed homogeneity among the Also it will restrain the type of applications that can be
resources of the best cluster chosen by our method. accepted, as application constraints cannot be met because of
Keywords: Cloud Computing, HPC, Heterogeneous resources, static nature.
k-means Data Clustering.
Selecting best set of Virtual machines in a
I. INTRODUCTION heterogeneous cloud environment is challenging issue. To
High-performance computing (HPC) is the use of parallel address this issue we are proposing a framework to cluster
processing for running advanced application programs the better virtual machines to enable HPC applications. Our
efficiently, reliably and quickly. The term applies especially framework considers compute power of VMs and bandwidth
to systems that function above a teraflop or 1012 floating- available between VMs dynamically and selects the best set
point operations per second. The most common users of HPC of VMs for the execution of HPC application. As a initial
systems are scientific researchers, engineers and academic effort we are using well known K-means data clustering
institutions. Some government agencies, particularly the algorithm to group the similar VMs. The proposed
military, also rely on HPC for complex applications. As framework resulted in efficient set of VMs for the execution
demand for processing power and speed grows, HPC will of HPC applications. We have observed the VMs that are
likely interest businesses of all sizes, particularly selected by the proposed method is approximately same as
for transaction processing. the result of brute force technique..
Rest of the chapters are organized as follows. In
Most of the time HPC Applications make use of parallel section 2 we discuss previous work done in this area. In
processing for performance enhancement. Ideally
section 3 gives insight to the proposed framework. Section 4
performance of HPC depends on number of processing
gives detail about Implementation details.
elements and data distribution pattern.
Cluster and Grid are always considered as the best
platform for HPC implementation. Generally owning large

978-1-4799-1572-9/13/$31.00 ©2013 IEEE 34


Authorized licensed use limited to: Nirma University Institute of Technology. Downloaded on October 03,2024 at 07:16:44 UTC from IEEE Xplore. Restrictions apply.
2013 4th International Conference on Computer and Communication Technology (ICCCT)

II PREVIOUS WORK III PROPOSED FRAMEWORK


It has been observed that Whenever the resources are used Cloud environment provides highly scalable online services
on cloud 40% of application performance degradation exists with highly heterogeneous resources. As implementing
[1][2] when compared to the usage of resources on cluster/grid is very expensive cloud can be a perfect
grid/cluster. The main reason behind this is lack of control on executive agency for cluster/grid.
cloud resources as a result of virtualization. Because of But most of the time HPC is considered as non
which HPC was always considered as non cloud hostable. cloud hostable. One of the reason for this is virtualization
There were couples of efforts made to overcome technology which is considered as base for cloud computing.
this. In [2] authors have discussed few scenarios where cloud Even though virtualization technology increases utilization it
can be a good base for HPC. HPC is provided as service by adds overhead when it comes to overall performance of
Penguin Computing. Penguin on Demand (POD) is a high- machine. Blind selection of VMs for execution of application
performance, scalable, on-demand HPC-as-a-Service may lead to further performance degradation because of
environment with high-density compute nodes and high- architectural difference and shared communication links. To
speed storage. POD users have a persistent, load on demand avoid further degradation we can choose best of VMs instead
compute environment that runs on the head node and of blind selection. In this direction we are proposing a
executes directly on the compute nodes physical cores. framework to select best VMs for given application
Benchmarking has been applied to address performance requirement. Our framework comprises of two modules
issues of HPC with clouds. Service level agreement can be i. Clustering VMs based on CPU capability
used for job control in HPC. Parameters for Service Level ii. Selecting best required VMs based on bandwidth
agreement for High Performance Computing include parameter.
incoming bandwidth, outgoing bandwidth, storage and After the selection of best cluster we avoid VM migration to
availability and CPU cores [3]. But this is costly as jobs are avoid degradation of performance of VMs. In the following
run directly on cores, which in turn leads to less utilization. sections we discuss above two methods
Clusters which are currently been used by data
centers are static and homogeneous which is very opposite to A. CLUSTERING VMS BASED ON CPU CAPABILITY
the nature of cloud. Danien Warneke and Odej Kao [4] have
proposed a framework Nephele which implements dynamic Clustering is the classification of similar objects into
resource allocation for clusters on cloud using DAG based different groups. Cluster analysis, groups data objects based
execution flows. Data is assumed to be in one central only on information found in the data that describes the
repository. For high end scientific application data size will objects and the relationships. The goal is that the objects
be more and data distribution makes more sense than within a group be similar to one another and different from
centralized database. Clusters are formed using Infrastructure the objects in other groups. Better cluster is the one with
as a service provided by cloud by allocating a VM for a task. more similarity within the group and more difference
Here as underlying network resources are shared by other between the groups.
members of cloud, performance degradation happens. K-means is a prototype based portioning technique
As number of resources in cloud is very large we that attempts to find user-specified number of clusters (K),
need a method to maintain information about cloud which are represented by their centroids. The k-means
resources. Hyunjeong Yoo et.al.[5] proposed Ontology Based algorithm takes the input parameter “k” and partitions a set of
Resource Selection Service (OReSS), which provides a ‘n’ data objects into ‘k’ clusters so that the resulting intra-
method of resource utilization using merged ontology and cluster similarity is high but the inter-cluster similarity is
ontology candidates are selected by calculating degree of low.
similarity based on user’s requirements. In this project, K-means prototype can be applied to form dynamic
clusters of virtual machines are formed based on the clusters on cloud platform. For clustering we need a
similarity metric (execution time) of a particular benchmark similarity metric through which clusters will be identified.
application and network parameter. We are forming “k” clusters by taking “execution speed” as
In Shi Na.et.al[9] proposes an improved K-means similarity metric.
data clustering algorithm. We use the method based on this
work to create cluster of computing resources. This paper General K-Means Algorithm
focuses on building a strategy to cluster the resources (VMs) K-Means algorithm for clustering data objects is
for efficiently running of MPI applications by building initialized by choosing first K initial centroids, where K is
degree of similarity function based on user requirement. user specified parameter. Each data object is then assigned to
the closest centroid and each collection of data objects
assigned to a centroid is a cluster. This is repeated until no

35
Authorized licensed use limited to: Nirma University Institute of Technology. Downloaded on October 03,2024 at 07:16:44 UTC from IEEE Xplore. Restrictions apply.
2013 4th International Conference on Computer and Communication Technology (ICCCT)

object changes clusters, or equivalently, until the centroids one of the reason for performance degradation in cloud is
remain the same. The algorithm proceeds as follows. network. Next step is to select best machines, in terms of
1. Select K data objects as the initial centroids network bandwidth from the selected cluster.
2. Repeat For implementing this we are using Network
3. Form K clusters by assigning all data objects to the Weather Service (NWS) for network monitoring purpose.
closest centroid Network Weather service (NWS) [8] is a distributed system
4. Recompute the centroid of each cluster that periodically monitors and dynamically forecasts the
5. Until the centroid doesn’t change performance of various network and computational resources
This algorithm can be used for forming dynamic clusters on over a given time interval. It is possible to monitor the
cloud. Flow chart shown in fig.1 shows the K-means latency and throughput of any TCP/IP link, CPU load, the
algorithm used for forming dynamic clusters available free memory or the free disk space on any host.
To assign a virtual machine to the closest centroid, a We are measuring the available bandwidth on the
proximity measure is required that quantifies the notion of link between the two virtual machines on two different hosts
“closest” for the specific data under consideration. Euclidean using NWS. Available bandwidth of a link is usually less
(L2) distance is often used for data points in Euclidean space than the link capacity. Once we know the available
in the basic K-Means algorithm. bandwidth of each link in cluster, we choose ‘n’ efficient
In this project, instead of Euclidean space as a machines in the best cluster which satisfies our bandwidth
proximity measure we use execution time of a Benchmark criteria. If best cluster contains less than the number of
Application on VMs of different configuration for centroid. machines required, then we merge first two best clusters.
The benchmark application considered is ‘Game of Life’. It is This procedure is continued till number of machines is
a set of simple rules that can be used to simulate complicated enough. K-means clustering algorithm will be NP-Hard if ‘k’
cellular automata. Fig 1 defines modifies version of k-means or ‘d’ is not fixed. But for fixed ‘k’, ‘d’ and ‘n’ time
for our framework. complexity will be O(ndk+1 log n) where ‘n’ is number of
virtual machines to be clustered. For sorting we have used
START
merge sort with time complexity (n log n).
Algorithm below is the combination of K-means best
clustering and then choosing ‘n’ efficient machines
Read K 1. Start
2. Select K VM’s as the initial centroids
3. Repeat
Consider first ‘K’ VM as Centroids 4. Form K clusters by assigning all VMs to the closest
centroid
Assign all VM’s to closest centroids depending on 5. Recompute the centroid of each cluster
their execution time 6. Until the centroid doesn’t change
7. N= Number of efficient VMs required for HPC
Re-compute the centroid the formed cluster application
8. If (Number of VMs in best cluster< N)
a. Merge best clusters
Same as previous
b. Until number of VMs is <N
centroids? 9. Calculate average available bandwidth for every link
NO 10. Get first ‘N’ efficient VMs which satisfies required
YES bandwidth criteria
STOP
11. Stop

Fig 1: Flow Chart for k-means Clustering to Group VMs


IV EXPERIMENTAL SETUP AND RESULTS
into different Clusters according to Execution Time
We are using Xenserver and XCP[6][7] for cloud setup.
XenServer is, essentially, a control program or hypervisor,
B. SELECTING BEST REQUIRED VMS BASED ON that runs on the physical or host server to provide a simulated
BANDWIDTH PARAMETER. computer environment. XenServer works by virtualizing the
hardware. Hardware virtualization abstracts characteristics,
Along with execution time one more criteria for such as hard drives, resources, or ports, of the system from
HPC is network bandwidth. It has been discussed in [2] that the hardware and allocates it to the virtualized computer(s)

36
Authorized licensed use limited to: Nirma University Institute of Technology. Downloaded on October 03,2024 at 07:16:44 UTC from IEEE Xplore. Restrictions apply.
2013 4th International Conference on Computer and Communication Technology (ICCCT)

running on it. These virtualized "computers," are known defined to be either live or dead. The game operates in
as virtual machines. They run operating systems and iterations, called ticks. Each tick applies the four rules of the
applications that are often referred to as guest software.
Best Clusters Centroid Number of virtual
CPU Memory Execution Time in (Execution Time machines in the
(in %) Seconds in Sec) best clusters
0 1.53 6
50 512MiB 2.02 1 1.66 7
63 520MiB 1.99 2 1.71 7
72 532MiB 1.80 Table 3: Execution Speed and number of VMs in each
85 545MiB 1.72
cluster
100 560MiB 1.70 game to every cell on the board simultaneously. The
115 580MiB 1.68
benchmark application is executed for a Virtual machine with
125 600MiB 1.66
different configurations and the results are as shown in
150 625MiB 1.59
table1.
I65 680MiB 1.60
Next we considered the results of previous step to
170 700MiB 1.61
consider 35 VM’s for our simulation of K-Means clustering
180 775MiB 1.60
algorithm to form 6 clusters. In the beginning, 6 centroids
188 800MiB 1.53
were chosen randomly. The number of virtual machines to
Table 1: Execution Time of Benchmark Applications on be clustered and the number of clusters are to be decided by
Various VMs the user. The virtual machines are assigned to the closest
centroids as per the K-Means algorithm and clusters of
virtual machines are formed based on execution time. Table 2
Centroid Virtual Machine Cluster shows the clusters formed.
1.53 22,16,18,23,25,34 0 Out of six clusters formed, first three with minimum
1.66 28,2,6,7,13,20,3 1 time are considered best. Table 3 shows the best clusters
1.71 21,9,10,17,27,30,31 2 along with number of VMs in each cluster. It is also observed
1.72 26,1,11,24 3 that the best cluster comprises of virtual machines of similar
1.87 4,0,3,5,14,19,29 4 capabilities and they are also found to be more powerful than
1.99 15,8,12,33 5 other clusters.
Table 2: Clusters After obtaining the best clusters using K-means
algorithm next job is to identify the efficient machines in the
The Xen Cloud Platform (XCP) is an open source enterprise- best clusters. This can be done by obtaining available
ready server virtualization and cloud computing platform, bandwidth on the links between the VM’s in each of the best
delivering the Xen Hypervisor with support for a range of cluster. Then, by taking the average of each of these
guest operating systems including Windows® and Linux® available bandwidth on the links to each VM, the efficient
network and storage support, management tools in a single, machines in the best clusters are identified. Table 4 shows the
tested installable image, which is also called XCP appliance. available bandwidth on the link to each of the virtual
The benchmark application considered is ‘Game of machines in the best cluster.
Life’. It is a set of simple rules that can be used to simulate Average available bandwidth on the links of each
complicated cellular automata. It was invented by John VM is shown in table 5 for “best cluster 0”. Once the average
Conway, a British Mathematician. The game is designed bandwidth of the links for each virtual machine is obtained
around the following simple rules: and sorted in ascending order, first ‘n’ virtual machines are
• Any live cell with fewer than two live neighbors considered as the efficient virtual machines.
dies, as if caused by under population
• Any live cell with more than three live neighbors VM 0 1 2 3 4 5
dies, as if by overcrowding 0 0.00 55.43 66.31 56.78 51.11 56.78
• Any live cell with two or three live neighbors lives 1 55.43 0.00 72.12 66.31 55.43 65.23
on to the next generation 2 55.43 65.23 0.00 56.78 66.31 65.23
• Any dead cell with exactly three live neighbors 3 72.13 72.12 45.55 0.00 66.31 72.12
becomes a live cell. 4 45.55 55.43 72.13 51.11 0.00 65.23
The operation of the game starts with an initial 5 72.13 65.23 55.43 56.78 65.23 0.00
configuration on a two dimensional grid. Each grid square is
Table 4: Available Bandwidth between
VMs in Best Cluster

37
Authorized licensed use limited to: Nirma University Institute of Technology. Downloaded on October 03,2024 at 07:16:44 UTC from IEEE Xplore. Restrictions apply.
2013 4th International Conference on Computer and Communication Technology (ICCCT)

Virtual Average Harris, Alex Ho,Rolf Neugebauery, Ian Pratt, Andrew Warfield
Machine in SOSP'03, Xen and the art of
0 57.28 virtualization, October 19.22, 2003, Bolton Landing, New York,
USA.
1 62.90
[7] Nan Li , Yiming Li A study of Inter – Domain communication
2 61.80 mechanisms on Xen – based hosting platforms , Advanced
3 65.65 Topics in operating systems
[8] Rich Wolski, Neil Spring, and Jim Hayes, The Network Weather
4 57.89 Service : A Distributed Resource Performance Forecasting
5 62.96 service for metacomputing, Journal of Future Generation
Computing Systems, 15(5-6):757.768, October
Table 5: VM’s Selected with Best Available 1999.
Bandwidth [9] Shi Na ,Liu Xumin, Research on k-means Clustering Algorithm :
An Improved kmeans
Clustering Algorithm, Third International Symposium on
V CONCLUSION AND FUTURE WORK Intelligent, Information Technology and Security Informatics,
2010
High Performance Computing often requires the availability [10] Edward Walker;login, Benchmarking Amazon EC2 for High
of a massive number of compute nodes for performing large Performance Scientific Computing, October 2008, Volume 33,
scale experiments. Clusters/Grids are considered as the best Number 5.
platform for their implementation. Scalability of cloud will
be very much suitable for forming better cluster/grid. But at [11] Zach Hill and Marty Humphrey, A quantitative analysis of High
the same time heterogeneity of cloud environment poses a Performance Computing with Amazon’s EC2 Infrastructure : The
challenge. Proposed work “Efficient Resource Selection Death of the local cluster ?,Proceedings of the 10th IEEE/ ACM
Framework to Enable Cloud for HPC applications” focuses International Conference on Grid Computing (Grid 2009). Oct
13-15 2009. Banff, Alberta, Canada.
on selecting the best VMs on cloud for HPC applications. K- [12] Penguin on demand,
Means algorithm is used to cluster the virtual machines http://www.penguincomputing.com/POD/Penguin_On_Demand
dynamically based on similarity metric (execution time).
Also most of the HPC applications are not only compute
intensive but they are also communication intensive. But
cloud bandwidth is shared by the Virtual machines.
Performance of application can be enhanced by considering
the network bandwidth as one of the criteria for selecting the
machines. The selection is done by considering the average
bandwidth between the VMs. We have observed that the
VMs that are selected by the proposed method is
approximately same as the result of brute force technique

REFERENCES

[1] Jaliya Ekanayake and Geoffrey Fox, High Performance


Parallel Computing with Clouds and Cloud Technologies, First
International Conference CloudComp on Cloud Computing
October 19 - 21, 2009, Munich, Germany.
[2] Raihan Masud, High Performance Computing with
Cloud,ix.cs.uoregon.edu/~raihan/HPC_with_Clouds_Raihan_Ma
sud.pdf.
[3] http://www.hpcintheclouds.com
[4] Danien Warneke and Odej Kao, Exploiting Dynamic Resource
Allocation for Efficient Parallel Data Processing in the Cloud,
Journal IEEE Transactions on
Parallel and Distributed Systems (TPDS), Special Issue on Many-
Task Computing, 2011.
[5] Hyunjeong Yoo, Cinyoung Hur, Seoyoung Kim, and Yoonhee
Kim, An ontology based resource allocation service on Science
Cloud, International journal of Grid
and Distributed Computing, Vol.2 , No.4, December , 2009.
[6] Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim

38
Authorized licensed use limited to: Nirma University Institute of Technology. Downloaded on October 03,2024 at 07:16:44 UTC from IEEE Xplore. Restrictions apply.

You might also like