Вы находитесь на странице: 1из 5

World appl. programming, Vol(6), No (1), March, 2016. pp.

5-9

TI Journals

ISSN:

World Applied Programming

2222-2510

www.tijournals.com

Copyright 2016. All rights reserved for TI Journals.

Investigating a Benchmark Cloud Media Resource Allocation and


Optimization
Masoud Nosrati *
Department of Computer Engineering, Collage of Engineering, Kermanshah Branch, Islamic Azad University, Kermanshah, Iran.

Ronak Karimi
Department of Computer Engineering, Collage of Engineering, Kermanshah Branch, Islamic Azad University, Kermanshah, Iran.
*Corresponding author: minibigs_m@yahoo.co.uk

Keywords

Abstract

Optimization
Cloud
Media resource
Resource allocation

The essence of high performance computing systems emerged with the extension of big data issues and it
entailed to cloud and other HPC systems to come into existence. A challenging issue in designing such
systems is resource allocation, which explicitly affects the total efficiency of system by involving factors
like the number of nodes, geographical distance, communication latencies, etc.
In this study, authors will take a look at resource allocation issue in HPCs especially in clouds. Due to it,
after a short introduction, different challenges are investigated. Then, one of the most common methods
of resource allocation through resource broker is probes. Resource broker is an entity that allocates the
resources to the applicants based on the policies of the system. For instance, it might allocate the
resources with the lowest price to the applicants with the highest budgets. Prices and budgets are also
calculated according to the policies of the system, e.g. based on the media resources computing ability,
media resources lowest and highest prices, etc. For this purpose, resource broker constructs probability
matrix P and do the resource allocation based on it. Also, the way of optimizing the matrix P is explained.
Results of this method will be the balancing the workload of resource nodes with the number of
applicants.

1.

Introduction

Distributed systems came into existence for integrating the potential of the coherent systems in order to facilitate the processing the larger
amount of workload. Generally, High Performance Computing Systems (HPC) are defined as a collection of single coherent systems that are
interconnected through a high speed network, to provide facility of high performance computing [1], and they are implemented for following
reasons [2]:
1.
2.
3.

Distribution: it is the nature of distributed systems that is stemmed from the interconnection of its nodes.
Parallelism: it provides the facilities for parallel execution programs.
Reliability: distribution entails to more reliability because of decentralizing data and computation.

High performance computing systems are especially generated for processing huge amounts of loads [3][4]. Classic textbooks categorize the
distributed computing systems to clusters, grids and clouds. Although, they distinguish the clusters and grids with homogeneity and
heterogeneity of nodes, respectively, many implementations of clusters with heterogeneous nodes are presented [5]. Accordingly, [2] HPCs
based on their resource allocation features. Figure 1 shows the HPC categorization.
Modeling of cloud systems rely upon different factors like the number of virtual machines, types of applications, workload, etc. Researchers in
[2] inspect the cloud systems from the spectacle of 11 features. They are:
1.
2.

Goals of system: each system concentrates on particular purposes. For instance, Amazon EC2 is designed for infrastructure servicing.
Types of services: cloud services include a gamut of Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a
Service (IaaS), as shown in figure 2.
3. Virtualization: resources are modeled as computation nodes. It eases the load balancing via the migration of virtual machines.
4. Dynamic QoS negotiation: the function of specifying the QoS in the run time is called dynamic QoS negotiation. It is done in cloud
systems by a devoted process or a coherent entity.
5. User interface: user interfaces are commonly implemented via command line, query bases, console bases and graphical user interfaces.
6. Web APIs: web API refers to the web services that are used for combining different services to form a new application [6].
7. Adjunct services: these are the services that come up with profits like promotion of system, attracting new users and preserving former
users.
8. Structure of implementation: structure of implementation and the utilized programming language is considered as an important factor.
Because it can attract the positive regards of users against the system.
9. Virtual machine migration: the purpose of virtual machine migration are achieving better performance, fault tolerance, workload
management and balancing. These issues made the virtual machine migration one of the most important aspects of cloud systems.
10. Pricing: pricing is commonly set based on the services and QoS.
11. Correlation of cloud features and resource allocation strategies: gaining the pros of clouds return to the suitable resource allocation
strategies, so they should be highly pondered when designing the system.

Masoud Nosrati *, Ronak Karimi

World Applied Programming Vol(6), No (1), March, 2016.

Figure 1. Categorization of HPCs based on their resource allocation features

Figure 2. Different types of cloud services with examples

2.

Challenges of resource allocation in HPCs

The challenges that were talked can clearly indicate the delicacy and toughness of resource allocation in Cloud systems. Accordingly, [7]
classifies the recent studies in cloud resource allocation in 3 types:

Researches focusing on processing resources like [8] and [9].


Researches focusing on network resources like [10] and [11].
Researches focusing on power and energy resources like [12] and [13].

Also, [7] states that challenges are internal or external. External challenges include regulative and geographical challenges (it is about the issues
that distribution of system will cause in geographical location, and regulative and security) and charging model issues (it is about the charges for
customers to subscribe the Cloud system). On the other hand, internal challenges include the data locality: combining compute and data
management; reliability of network resources inside a data center; and Software Defined Networking design challenges inside the data centers.
SDN is a networking paradigm that puts the forwarding plane and software control in different layers. Figure 3 and figure 4 show the external
and internal challenges [2][14].
One of the important challenges in real world implementation of distributed systems is the power and energy consumption. Different strategies
are introduced for optimizing the energy consumption. Most of them try to aggregate the resources on smaller number of servers, in order to shut

Investigating a Benchmark Cloud Media Resource Allocation and Optimization


World Applied Programming Vol(6), No (1), March, 2016.

down the non-busy ones. Resource aggregation has a trade-off with the performance of whole system. Also, it may cause a bottle neck on the I/O
of the running servers. It can affect the Quality of Service of system, too. Average response time will be increased, respectively. So, the
researches that aim at improving both performance and optimizing the energy consumption are needed to be conducted.
As the conclusion of this section, it should be restated that in every resource allocation method, all the up-mentioned factors including
processing capabilities, network resources and energy consumption must be considered. Regarding the trade-off among these items, the best
configuration should be found and set according to the requirements of system. Besides, other issues like the portability and fault-tolerance
should be paid attention, respectively. Recent researches go through these issues separately and many approaches for optimization of resource
management are offered by them.

Figure 3. External challenges of resource allocation [7]

Figure 4. Internal challenges of resource allocation [7]

Figure 5. Cloud resources allocation environment

3.

Resource allocation via resource broker

In this section, a common resource allocation method is talked that many researches like [15], [16] and [17] utilized it for their resource
allocation optimization. In this method, a resource agent is considered as the entity that performs the resource allocation. As it is shown in figure
5, both resource owners and resource applicants send their costs to resource broker. General policy of resource broker is to sort the requests and
resources and totally allocate the applicants with highest budget to the resource with lowest price [18].
Let U = {u , u , u , , u } be the set composed of m Resource applicants, each task of resource applicant ui is ti, so the task set of U can be
described as = { , , , , }. And ti has four attributes = {
, , , }, where tidi is the ith tasks identify, l i is the ith tasks length, bi
th
is the i tasks budget, and d i is the deadline of the task.
Let = { , , , , } be the set composed of n resource owners, each resource of resource owner oj is rj, so the resource set of O can be
described as = { , , , , }. And rj has five attributes =
,
, , , , where rid j is the jth media resources identify, cpuj is
the jth media resources computing ability of solving the task, st j is the start time to deal with a new task (i.e. the current workload of resource rj),
lpj is the jth media resources lowest price, and hpj is the jth media resources highest price.
The media resources allocation probability matrix is shown as P which each pij is the probability of resource j to be allocated to applicant i:

Masoud Nosrati *, Ronak Karimi

World Applied Programming Vol(6), No (1), March, 2016.

1 ,

s.t.

=1 ,

=1

Before any decision about resource allocation, the budget of applicant and the price of resource should be calculated and submitted to resource
broker. It is important to consider the following point all the time:
Resource must be capable enough to process the request of applicant in the deadline:

The price of resource must be less than or equal to the applicant: /


Budget of applicant must be at least equal to the average of the price of remaining resources. (

Budget of applicant is calculated from (1), where


has inverse relationship with the number of remaining resources. It means, when
the number of unallocated resources is decreasing, proposed budget of applicant for the resource will be increased, and vice versa. Other
impressing factor that is Average Remaining Time, that [19] calculated it as (2). Total budget based on the (3) is the sum of both (1) and (2) with
the weights of and . Weights might be changed based on the policies of the system.
( )=

+
( )

( )=
( )=

( )=

, 1

( )+

(1)
1
0

( )0

( )

(2)
( )

(3)

In these equations, is the number of remaining resources in the time t, which can be applied by applicant ti, and
is the maximum number
( )=
of resources that might be applied by t i. Remaining time of t i who is utilizing rj is calculated as
/
. Let
be the
maximum time of waiting for ti. Different applicants budget curve can be adjusted by changing and . In figure 6 different values of is
shown. It has the same shape for and (that will be introduced in next parts of paper).
After calculation of the budget of applicant, it is time to calculate the price of the resource. General policy of the resource owner is to service the
applicant with the highest budget, in order to increase the utilizing the resource. In other words:
( )=

+ (

( )

(4)

( )

( ) is the price of resource at time t and ( ) is the current workload or the workload at the start time of the task at time t.
Where,
( ) is
the workload of after the last allocation. In this equation, general trend is to decrease the price of the resource when the allocated resource is
going to finish the task, in order to let other applicants to apply for it easier.
After the calculation of both budget and price, they are submitted to resource broker. It sorts the applicants budgets in descent order and the
resource prices in ascent order. Then, according to (5) final price is calculated as the average of the richest applicant (
) and cheapest
resource (
):
( )=

( )+

()

(5)

Matrix P is then constructed according to the final prices. Resource allocation methods utilize this P for binding the resource to the applicant.
But, an important issue is optimizing the values of matrix P to achieve more valuable goals like green computing.
This section was mostly adopted from [18]; and readers can refer to it for further details about the construction P and strategies of applicant and
resource owners.

Figure 6. Resource applicants price considering remaining resources with different values of

[18]

Investigating a Benchmark Cloud Media Resource Allocation and Optimization


World Applied Programming Vol(6), No (1), March, 2016.

Optimizing the matrix P


Optimization in P causes better performance in accomplishing heavier jobs in the system [20]. Resource broker is responsible for creating the
matrix P and allocating the resources to the applicants according to it. In recent studies, many efforts aimed to optimize the matrix P so that they
can achieve better results in performance, energy consumption, etc. For instance, in [18] matrix P is optimized based on the credibility of the
resources. Credibility is a quality attribute for data and plays an important role in the computer networks. Also, in [21] authors attempt to change
the matrix P in a way that provide dynamic load balancing via statistical gauges like skewness. Or in [22] matrix P is constructed in a way that
lets the system to save more energy. In fact, authors tried to aggregate the virtual machines on smaller numbers of physical machines, in order to
turn off the idle vacant physical machines. Also, [23] optimizes the matrix P in a way that communication latencies are taken into account. Each
resource allocation is accomplished based on the previous records of network latencies and in the condition that there are some similar media
resources in the network, the chance of those resources that had smaller latencies in their previous records is more to be allocated to applicants.
For example, in a cloud system for controlling and processing the data of wireless sensor networks least latencies are considered as a privilege
[24][25].

4.

Conclusion

In this paper, we took a look at resource allocation issue in high performance computing systems especially in clouds. First, we had a brief
introduction of cloud systems and the challenges that frustrate the appropriate resource allocation. Then, one of the most common methods of
resource allocation through resource broker was demonstrated. The policy of resource broker was to allocate the resources with the lowest price
to the applicants with the highest budgets. Prices and budgets were calculated according to the policies of the system, e.g. based on the media
resources computing ability, media resources lowest and highest prices, etc. For this purpose, resource broker constructed probability matrix P
and accomplished the resource allocation based on it. Also, some of the prominent optimizations in the scopes of load balancing, resource
credibility, network latencies and energy efficiency were addressed.

References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]

Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley, Boston (2011) ISBN 0-13214301
Hussain, H., et al.: A survey on resource allocation in high performance distributed computing systems. Parallel Computing 39, 709736 2013.
http://dx.doi.org/10.1016/j.parco.2013.09.009
Masoud Nosrati, Mehdi Hariri. An Algorithm for Minimizing of Boolean Functions Based on Graph DS, World Applied Programming, Vol (1), No (3),
August 2011. 209-214.
Sadeghi, M., Mohammadi, M., Nosrati, M., & Malekian, K. (2013). The Role of Entrepreneurial Environments in University Students Entrepreneurial
Intention. World Applied Programming, 3(8), 361-366.
Tanenbaum, Andrew S.; Steen, Maarten van. Distributed systems: principles and paradigms. Upper Saddle River, NJ: Pearson Prentice Hall, 2007. ISBN 013-239227-5.
D. Benslimane, D. Schahram, S. Amit, Services Mashups: the new generation of web applications, IEEE Internet Computing 12 (5) (2008) 1315.
Sharkh, M.A., Jammal, M., Shami, A., Ouda, A.: Resource Allocation in a Network-Based Cloud Computing Environment: Design Challenges. IEEE
Communications Magazine (November 2013)
Maguluri, S., Srikant, R., Ying, L.: Stochastic Models of Load Balancing and Scheduling in Cloud Computing Clusters. In: Proc. IEEE INFOCOM 2012,
March 2530, pp. 70210 (2012)
Alicherry, M., Lakshman, T.V.: Network Aware Resource Allocation in Distributed Clouds. In: Proc. IEEE INFOCOM 2012, March 2530, pp. 96371
(2012)
Sun, G., et al.: Optimal Provisioning for Elastic Service Oriented Virtual Network Request in Cloud Computing. IEEE GLOBECOM 2012, 25412546
(2012)
Kantarci, B., Mouftah, H.T.: Scheduling Advance Reservation Requests for Wavelength Division Multiplexed Networks with Static Traffic Demands. In:
IEEE Symp. Computers and Commun., July 14, pp. 80611 (2012)
Srikantaiah, S., Kansal, A., Zhao, F.: Energy Aware Consolidation for Cloud Computing. Cluster Computing 12, 115 (2009)
Chase, J.S., et al.: Managing Energy and Server Resources in Hosting Centers. In: 18th ACM Symp. Op. Sys. Principles, October 21, 2001
Zhang, B, Zhao, Y, Wang, R, 2013. A resource allocation algorithm based on media task QoS in cloud computing. In: Proceedings of the 4th IEEE
Internation-al Conference on Software Engineering and Service Science (ICSESS), Beijing, p. 8414.
M. Nosrati, R. Karimi, M. Hariri, K. Malekain, "Edge detection techniques in processing digital images: investigation of canny algorithm and Gabor
method", World Applied Programming, vol. 3, pp. 116-121, March 2013.
Sun D, Chang G, Wang C, et al. Efficient Nash equilibrium based cloud resource allocation by using a continuous double auction. In: Proceedings of the2010
In-ternational Conferenceon Computer Design and Applications (ICCDA), vol.1. IEEE; 2010.p.V1-94V1-99.
Zhang M, Zhu Y. An enhanced greedy resource allocation algorithm for localized SC-FDMA systems. IEEE Commun Lett 2013; 17(7):147982.
Tang R, et al. Credibility-based cloud media resource allocation algorithm. Jour-nal of Network and Computer Applications (2014),
http://dx.doi.org/10.1016/j.jnca.2014.07.018i
Anthony P, Jennings NR. Developing a bidding agent for multiple heterogeneous auctions. ACM Trans Internet Technol 2003; 3(3):185217.
Masoud Nosrati, Ali Hanani Songhor and Koliaei, Ronak Karimi, "Steganography in Image Segments using Genetic Algorithm", Fifth International
Conference on Advanced Computing & Communication Technologies, pp. 102-107
Zhen Xiao, Weijia Song, and Qi Chen. Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment, IEEE TRANSACTIONS
ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 24, NO. 6, JUNE 2013.
Beloglazov, Anton, and Rajkumar Buyya. "Energy efficient resource management in virtualized cloud data centers." Proceedings of the 2010 10th
IEEE/ACM international conference on cluster, cloud and grid computing. IEEE Computer Society, 2010.
Nosrati, Masoud, Abdolah Chalechale, and Ronak Karimi. "Latency Optimization for Resource Allocation in Cloud Computing System." Computational
Science and Its Applications--ICCSA 2015. Springer International Publishing, 2015. 355-366.
Tabatabaee Malazi, H., Zamanifar, K., Pruteanu, A., & Dulman, S. (2014). Gossip-based density estimation in dynamic heterogeneous wireless sensor
networks. International Journal of Autonomous and Adaptive Communications Systems, 7(1), 151168.
Tabatabaee Malazi, H., Zamanifar, K., Pruteanu, A., & Dulman, S. Gossip-based density estimation in dynamic heterogeneous sensornetworks, in
Wireless Communications and Mobile Computing Conference (IWCMC), 2011 7th International, July 2011, pp. 1365 1370.