resource virtualization methodology for on-demand...

24
SOCA (2013) 7:77–100 DOI 10.1007/s11761-011-0092-9 SPECIAL ISSUE PAPER Resource virtualization methodology for on-demand allocation in cloud computing systems XiaoJun Chen · Jing Zhang · Junhuai Li · Xiang Li Received: 22 December 2010 / Revised: 25 July 2011 / Accepted: 18 October 2011 / Published online: 5 November 2011 © Springer-Verlag London Limited 2011 Abstract The resources’ heterogeneity and unbalanced capability, together with the diversity of resource require- ments in cloud computing systems, have produced great con- tradictions between resources’ tight coupling characteristics and user’s multi-granularities requirements. We propose a resource virtualization model and its on-demand alloca- tion oriented infrastructure mainly providing computing ser- vices to solve that problem. A loosely coupled resource environment centered on resource users is created to com- plete a mapping from physical view of resources to logic view of resources. Heuristic resource combination algo- rithm (HRCA) is proposed to transform physical resources to logic resources, which meets two requirements: random- ness in combination and fluctuation control to the size of resources granularities. On the basis of the appraisal indexes presented for the on-demand allocation, resource matching algorithm (RMA), targeting at resource satisfaction with the highest resource utilization, is designed to reuse resources. RMA can satisfy users’ requirement in limited time and keep resource satisfaction in the highest level in the condition of logic resources granularities being less than their required size. Resource reconfiguration algorithm (RRA) is presented to implement resource matching in the condition that vir- tual computing resource pool cannot match granularities of resource requirements. RRA assures the lowest resource refusal rate and the greatest resource satisfaction. We verify the effectiveness, performance and accuracy of algorithms in X. Chen (B ) · J. Zhang · J. Li · X. Li School of Computer Science and Engineering, Xi’an University of Technology, Xi’an, China e-mail: [email protected] J. Zhang State Key Laboratory for Manufacturing Systems Engineering, Xi’an Jiaotong University, Xi’an, China implementing the goal of resource virtualization centered on resource users and on-demand allocation. Keywords Cloud computing · Resource virtualization · On-demand allocation · Resource management · Resource matching · Resource reconfiguration 1 Introduction As a new computing mode, cloud computing systems pro- vide various resources to users in the form of services, of which infrastructure is the most basic services. Infrastruc- ture as a service (Iaas) makes the resources be available to users through network. The rapid development of computer hardware and software technology promotes the increas- ing capability of infrastructure resource in cloud computing systems, while there emerges diversified requirements from users. Then, the expanding of resources produces increas- ing ability and range, but rapid growth of computing ability does not bring the upgrade of resource utilization because computing system is increasingly complex. Widespread het- erogeneity in cloud computing systems enables resources configuration more and more difficult and inconvenient for users. Especially, serious problems such as misuse of lots of resources and lack of services become difficult to adapt the users’ flexible application requirements [1]. Solutions to those problems by using the increasingly powerful resource to meet users’ flexible application in cloud computing systems depend on the emergence of virtual- ization technology. The primary problem to be solved in cloud computing systems is the virtualization technology involving computer architecture, system software, paral- lel and distributed processing and human interface. Virtu- alization can dynamically organize a variety of resources in a higher efficiency and isolate the close dependency 123

Upload: others

Post on 12-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100DOI 10.1007/s11761-011-0092-9

SPECIAL ISSUE PAPER

Resource virtualization methodology for on-demand allocationin cloud computing systems

XiaoJun Chen · Jing Zhang · Junhuai Li · Xiang Li

Received: 22 December 2010 / Revised: 25 July 2011 / Accepted: 18 October 2011 / Published online: 5 November 2011© Springer-Verlag London Limited 2011

Abstract The resources’ heterogeneity and unbalancedcapability, together with the diversity of resource require-ments in cloud computing systems, have produced great con-tradictions between resources’ tight coupling characteristicsand user’s multi-granularities requirements. We propose aresource virtualization model and its on-demand alloca-tion oriented infrastructure mainly providing computing ser-vices to solve that problem. A loosely coupled resourceenvironment centered on resource users is created to com-plete a mapping from physical view of resources to logicview of resources. Heuristic resource combination algo-rithm (HRCA) is proposed to transform physical resourcesto logic resources, which meets two requirements: random-ness in combination and fluctuation control to the size ofresources granularities. On the basis of the appraisal indexespresented for the on-demand allocation, resource matchingalgorithm (RMA), targeting at resource satisfaction with thehighest resource utilization, is designed to reuse resources.RMA can satisfy users’ requirement in limited time and keepresource satisfaction in the highest level in the condition oflogic resources granularities being less than their requiredsize. Resource reconfiguration algorithm (RRA) is presentedto implement resource matching in the condition that vir-tual computing resource pool cannot match granularitiesof resource requirements. RRA assures the lowest resourcerefusal rate and the greatest resource satisfaction. We verifythe effectiveness, performance and accuracy of algorithms in

X. Chen (B) · J. Zhang · J. Li · X. LiSchool of Computer Science and Engineering,Xi’an University of Technology, Xi’an, Chinae-mail: [email protected]

J. ZhangState Key Laboratory for Manufacturing Systems Engineering,Xi’an Jiaotong University, Xi’an, China

implementing the goal of resource virtualization centered onresource users and on-demand allocation.

Keywords Cloud computing · Resource virtualization ·On-demand allocation · Resource management · Resourcematching · Resource reconfiguration

1 Introduction

As a new computing mode, cloud computing systems pro-vide various resources to users in the form of services, ofwhich infrastructure is the most basic services. Infrastruc-ture as a service (Iaas) makes the resources be available tousers through network. The rapid development of computerhardware and software technology promotes the increas-ing capability of infrastructure resource in cloud computingsystems, while there emerges diversified requirements fromusers. Then, the expanding of resources produces increas-ing ability and range, but rapid growth of computing abilitydoes not bring the upgrade of resource utilization becausecomputing system is increasingly complex. Widespread het-erogeneity in cloud computing systems enables resourcesconfiguration more and more difficult and inconvenient forusers. Especially, serious problems such as misuse of lots ofresources and lack of services become difficult to adapt theusers’ flexible application requirements [1].

Solutions to those problems by using the increasinglypowerful resource to meet users’ flexible application in cloudcomputing systems depend on the emergence of virtual-ization technology. The primary problem to be solved incloud computing systems is the virtualization technologyinvolving computer architecture, system software, paral-lel and distributed processing and human interface. Virtu-alization can dynamically organize a variety of resourcesin a higher efficiency and isolate the close dependency

123

Page 2: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

78 SOCA (2013) 7:77–100

between hardware architecture and software system bycreating the virtual machine for resources on-demand allo-cation in dynamic environment. Thus, computing environ-ment that satisfies a variety of applications is establishedto improve the efficiency of resources. Previous researchesrelated to virtualized resource management focus on theresource management in hardware virtualization mode [2],resource management in virtualized operation system [3,4],resource management in para-virtualization [5], virtualiza-tion methodology [6–11] and virtual machines schedulingin different hosts [12–21]. Some researches have solvedthe virtualization methods and management problems, butresources diversity and their capability imbalances, togetherwith the diversity of user’s resource requirement, have pro-duced a contradiction between tight coupling characteristicsof resources and users’ multi-granularity resource require-ments. It is known that the lack of computing environmentfitting for natural features of cloud computing systems isstill a bottleneck to restrict the effective use of resources. Asa result, a goal constructing a harmonious, secure, transpar-ent, strong resource management framework is still far fromachieving in cloud computing systems. It is a primary chal-lenging issue that we integrate a variety of heterogeneousphysical resources into unified logic view of resources withvirtualization and evaluate the performance of heterogeneousresources to form a stable use environment satisfying users’requirements. It is a core issue that we aggregate and orga-nize resources for comprehensive utilization to maximize theeffectiveness of limited resources and to improve the valuefor unit resource.

Some results show that the virtualization can enhance sys-tem functionality, but it also wastes resources because even apreviously designed technology to save IT resources wouldwaste resources inadvertently [22]. The contribution of thispaper is that a resource virtualization methodology basedon heuristic resource combination algorithm (HRCA) is pre-sented to complete the transformation from physical resourceto logic resource through the construction of resource map-ping model. Resource virtualization can shield the hetero-geneity of resources and form a logic view of resourcescentered on users’ requirement to provide a use environ-ment in a higher efficiency. Furthermore, two algorithmssuch as resource matching algorithm (RMA) and resourcereconfiguration algorithm (RRA) are presented to achievethree resource on-demand allocation goals: higher meetingrate of resource requirements, lower average waiting cycleand higher overall resource utilization. The rest work of thispaper is organized as follows: we make problems defini-tion in Sect. 2, present resource virtualization scheme inSect. 3, design on-demand allocation algorithms for virtu-alized resource in Sect. 4 and make simulation experimentsin Sect. 5. Finally, we make the conclusions and future workin the last part of this paper.

2 Problems definition

We firstly present the main problem of resource manage-ment in cloud computing systems and propose the inadequateof virtualized resource management technologies in virtualcomputing resource pool. Then, we focus on resource allo-cation methodologies. The mainstream resource allocationpolicies are summered and compared to determine the short-comings of them. Based on such problems, we present a newidea of resource virtualization as a better way for resourceallocation in cloud computing systems. Key problems aboutresource virtualization and on-demand allocation that requiresolving are proposed in the final of this section.

2.1 Iaas of cloud computing system overview

The typical cloud architecture is divided into infrastructurelayer, platform layer and application layer, of which infra-structure layer is the set of hardware resources and theirmanagement functions after virtualization. The basic func-tions of infrastructure layer are resource abstraction, resourcemonitoring, load management, data management, resourcedeployment, security management and billing management[23–26]. Infrastructure layer abstracts physical resource byvirtualization technology and achieves the automation withinthe process by optimizing resource management to pro-vide dynamic and flexible infrastructure services to exter-nal resource users [27].Compared with platform as a service(Paas) and software as a service (Saas), infrastructure layerprovides Iaas at low levels [28]. In order to achieve high lev-els of resource management, we should abstract the physicalresource when building the infrastructure layer with great-scale hardware, such as hosts, storage devices and network.Resource abstraction is a basic operation to construct infra-structure layer [29]. Iaas suggests that the amount and the usestatus of resources are both taken to calculate the resourcesexpenditure such as CPU, memory, storage devices and net-work. Cloud computing systems charge users in a certainperiod of time. In such charging mode, as long as resourcescan meet the QoS requirements, users always wish to pay thelowest cost [30].

Cloud computing service providers expect to improvethe resource utilization for on-demand allocation to pro-vide more services to users [31]. First content for resourceson-demand allocation is that the virtual computing resourcepool not only can satisfy users’ requirements but also pro-vide simple and convenient services quickly. Second contentfor resources on-demand allocation is to provide appropri-ate amount of resources for users to reduce their cost andwaiting time and ultimately improve the resources utiliza-tion efficiency. It is obvious that first content is the basis ofsecond content. But so far, there are many difficulties to besolved to improve the meeting rate of resource requirements,

123

Page 3: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 79

users’ average waiting cycle and resource utilization in cloudcomputing systems.

2.2 Virtualized resource management overview

Infrastructure is delivered to users through automated resou-rce deployment. There are different methodologies forresource deployment in different infrastructure layers. It isgreatly different for server virtualization infrastructure andtraditional non-virtualized infrastructure. The former paysmore attention to the configuration of virtual machines asresource users mean the virtual machines in cloud com-puting systems. Amazon EC2, a typical example based onXen virtualization in underlying architecture, provides theresources to users in the form of virtual machines [22].Some researches on server virtualization are concentrated onvirtualized resource management. Literature [2] presents aresource management framework in hardware virtualization.Hardware virtualization completes genuine partition isola-tion for different virtual machines, but each partition can onlytake up part of system resources. The independent comput-ing resource is allocated to virtual machine in each partition,and thus, the resources in a virtual machine cannot be shared,which make the system fail to achieve the dynamic resourcescheduling. Resource management of virtualized operationsystem presented in [3,4] shows that a hypervisor is added toa host operation system to host several virtual machines withshared kernel. Virtualized servers, another method realizedin a physical server, are isolated by dynamic partition inde-pendent server resources [5]. Computing system can greatlyimprove the resource utilization with virtualization [14].Mainstream server virtualization provides a series of tools tomake resource scheduling, including independent resourcesharing, dynamic migration, server pausing and recovery[12]. Common virtual machine scheduling algorithms areEDF, SEDF and Credit [13]. Literature [15] researches on areconfigurable virtual machine that can be migrated as a real-time service in physical server. Mobile agent technology anddistributed virtual machine technology are presented to findout optimal strategy for services to migrate virtual machinein reconfigurable distributed virtual machine. Literature [16]thinks that operation system and applications running in avirtual machine can be migrated from a physical machineto another physical machine when encountering load imbal-ance. Meanwhile, guest operation system and applicationscan keep running continually uninterrupted without down-time. Virtual operating environment migration centered ondata achieves remote migration and seamless reconstructionin user operating environment [17,18]. Literature [19] dis-cussed the virtual machine migration across physical serv-ers and automated management of virtual servers. AndrewWhitaker provides a control technology for management pro-gram to make the distributed computing resource migrate

together with virtual machine in real time and improve themigration performance [20]. A common hardware abstrac-tion layer is designed to realize the migration of virtualmachines [21].

It is obviously that virtualization technology has simpli-fied the resource management in cloud computing systems[32]. In general, dynamic resource scheduling is taken toconstruct a virtual computing resource pool. The amount ofresources and resource utilization for each virtual machinecan be controlled and adjusted according to the requirementthat the applications take to the performance. But perviousproposed technologies in virtual computing resource pool areso far from intelligent resource management, and the futurework of virtual computing resource pool will be focused ondynamic resource scheduling technology.

2.3 Resource allocation policies overview

Most of the present resource allocation methodologies(whether static or dynamic resource allocation algorithms)emphasize on such resource allocation factors: the deter-mined resource requirements and their granularities. Mean-while, it is assumed that the total resources in systemsare fixed [33]. These prerequisites used by resource alloca-tion methodologies do not meet the characteristics of cloudcomputing systems, because the resource requirements donot tend to be determined. Iaas and billing managementboth depend on resource amount and time used by usersin virtual computing resource pool. Such resource alloca-tion algorithms are not fitful for cloud computing systemsto increase the efficiency of resources, because they try toimprove resource utilization for each application [34]. Pres-ent resource allocation methodologies often cut out a partof resource satisfying SLA from the overall resource, leav-ing behind the rest part in virtual computing resource pool.Most of the resource algorithms assume that all resourcerequirements are determined in advance [35–39]. But infact, resource requirements in cloud computing systems areunable to predetermine because the resources are distrib-uted one after another with the time going. Previous resourceallocation methodologies can complete resource distributionaccurately in small-scale servers. But when facing thousandsof servers in cloud computing systems, those resource alloca-tion algorithms will become very complicate [40–43]. Pre-vious resource allocation algorithms often assume that theresources are isomorphic, and each resource would be treatedin the same way. But actually, there existed a great num-ber of heterogeneous resources in cloud computing systems,which cannot be treated in the same way. It is becoming a hotspot that we set a resource allocation policy to compare thecapability of heterogeneous resources [44]. There are threeresource allocation policies in cloud computing systems now,which is the base of policy.

123

Page 4: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

80 SOCA (2013) 7:77–100

Policy1: When the resource requirement arrives, cloudcomputing systems scan the resource use status based on SLAin all servers to find out the remaining resources satisfyingSLA and then allocate them to users. The disadvantages ofpolicy1 are as follows: (1) if there are many different kinds ofservers in data center, the scanning for each server would bevery time-consuming and would lead to worse real respond-ing and lower resource allocation performance. (2) When thenumber of resources users increases within a period of time,resource allocation for each requirement by scanning eachrequirement separately would greatly increase waiting timeand lead to a lower system efficiency. Overall, resource aver-age waiting cycle in policy 1 is longer than other policies.

Policy2: Dynamic information of physical resources isrecorded in resource management center. Cloud computingsystems scan the changes of resources in each server in reg-ular time through daemon program and then update their usedata. When resource requirement arrives, the resource usedata are searched and resources are allocated if resources sat-isfying the SLA have been found out. A better way for policy2 is that the best resources in remaining resources matchingresource requirements are found out and allocated to theirresource users. Policy 2 can greatly improve the responsivetime and reduce users’ average waiting cycle, but its disad-vantages of policy 2 are as follows: the lack of coordinatedplanning for overall resource allocation would lead to theunsatisfied follow-up resource requirement before pursingbig-size resource because of the resource allocation policy inaccordance with a first-come first served. Policy 2 still makesthe meeting rate of resource requirements lower and the rejec-tion rate of resource requirements higher than other policies.

Policy3: On the basis of policy 2, when a great numberof resources users arrive in a certain time, the requirementsare sorted by SLA. Cloud computing systems firstly satisfythe requirements which need greater granularity of resourcesand then satisfy the requirements that need smaller granular-ity of resources. Furthermore, the most suitable resources inremaining resources that match the resource requirement arefound out and allocated to resource users. The rest parts ofthem remain in virtual computing resource pool continually.Policy 3 can improve the meeting rate of resource require-ments greatly, but its disadvantages of policy 3 are as follows:(1) the change law of resource requirement based on SLA isalmost unconsidered and QoS is still very low. Especially,user’s resource average waiting cycle is significantly increas-ing because of the queuing process. (2) The lack of accuracyin resource allocation would lead to excessive fragmentationof resources and the waste of resources with lower resourceutilization, because resources satisfying SLA are allocated toresource users strictly from remaining resources in order toimprove the meeting rate of resource requirements.

Previous resource allocation policies are not centeredon resource users and their resource allocation process is

passive, so the contradiction between tight coupling charac-teristics of resources and users’ multi-granularity resourcerequirements exists. In order to solve this contradiction, wemust seek new ways to achieve a higher meeting rate ofresource requirements with their lower average waiting cycleand higher resource utilization.

2.4 A better way

Our research aims to achieve three goals: higher meet-ing rate of resource requirements, lower average waitingcycle and higher resource utilization. Our resource allocationpolicy aims to achieve the resource management centeredon resource users through resource virtualization and on-demand allocation toward virtualized resource. Our resourceallocation methodology is constructed on policy 3. All phys-ical resources are divided into atomic physical resourceswhich have the smallest size, and then, we construct a logicview of resources in the form of resources combination.We define the size for each logic resource in logic view ofresources whose granularity distribution satisfies the law ofSLA distribution of tasks that cloud computing systems faces.When we allocate the logic resource to a resource require-ment queue, the suitable resources in remaining resourcesare found out and allocated to resource users based on somealgorithms. We consider two cases: resource matching andresource reconfiguration. Resource virtualization can reducethe coupling between physical resources and resource users.Good resources combination can provide a good referencefor users to determine the quantity of resources which theyshould purchase, thus to improve their combination effi-ciency.

Generally, there are two infrastructure services: com-puting service and storage service. The infrastructure ser-vices mainly providing computing services are taken as theresearch object in this paper. There are many differencesbetween computing service and storage service. The lat-ter stresses the performance of external storage, e.g., harddisks whose capacity decides the ability of services pro-vision. But the infrastructure mainly providing computingservices stresses the appropriate combination proportionsamong CPU, memory, storage device and network resources.The balance in resource combination decides the size of logicresource and the capability that unit logic resource owns.It is so vital that we improve the most optimal performancethrough the coordination among all kinds of infrastructureresources.

3 Resource virtualization methodology

In cloud computing systems, first content for resource on-demand allocation is to form an environment centered on

123

Page 5: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 81

resource users and we take the resource virtualization as asolution to this problem. On the basis of introducing the con-cept and principle of resource virtualization, we present analgorithm to achieve resource virtualization.

3.1 The concept of resource virtualization

Based on essential and use characteristics of resources, wedivide resources into physical resources and logic resourcewhich show the form of material and the form centered onresource users, respectively. Physical view of resources is theset of physical resources and their relationships. Logic viewof resources is the set of logic resources combined by severalphysical resources. Because of non-tight coupling betweenlogic resource and resource users, the complexity of logicresource is lower than physical resource from the view ofresource users.

3.1.1 Physical view of resources

Definition 1 (Physical view of resources): Physical view ofresources is a tuple CRPM = (server, PRS, PRR, interface),where server is the set of servers in cluster, PRS is the setof physical resources formed by the essential characteristics,and P RS = (pr1, pr2, . . .prn), whose element pr is a phys-ical resource. PRR is the set of relationships between phys-ical resources reflecting the composability among physicalresources in PRS. P R R = {pri ⊗ pr j |pri ∈ P RS ∧ pr j ∈P RS∧i �= j}, in which pri⊗ pr j is the relationship betweenpri and pr j , and interface is the operating interface of phys-ical resources.

Physical resource in physical view of resources refers toan atomic physical resource with the minimal form. Atomicphysical resource, a resource entity, cannot be further dividedby function or shape. In this paper, the granularity of atomicphysical resource is set as 1 whose significance are as fol-lows: (1) we can obtain the capability difference (comput-ing capability, storage capability, communication capability)causing by heterogeneous physical resources easily. For het-erogeneous physical resources, in order to make them to becomparable, we should determine that the capability of oneatomic physical resource is the same as those of atomic phys-ical resources with different kinds of heterogeneous. Billingstandard is unified after atomic physical resources are ableto be comparable with each other. (2) As the same as thememory paging in operation system which takes the page asallocation unit, atomic physical resources are facilitated tobe access to improve their reusability. (3) Resources can bescheduled easily despite a great number of resources. Phys-ical resources used by resource users are integer of atomicphysical resources, so resource scheduling can be achievedaccurately when they are required to adjust. (4) Atomic phys-

ical resources distributed in different locations can be usedby same resource users and their resource use statuses arerecorded more conveniently.

Definition 2 (Atomic physical resource): atomic physicalresource is a tuple pr =(ID, type, device, features, capabil-ity), and for short, we call it as physical resource, where IDis its identifier, type is the type of CR property, device is thesource device that physical resource belongs to, and capabil-ity is quantitative value of computing ability. For example,we set the following capability as a unit standard: 1G mem-ory size of memory device and 1GHZ frequency of CPUdevice with single-core inside a processor. Other heteroge-neous memory devices or CPUs are determined based on 1unit standard. Feature is the set of external features whichphysical resource shows, features= {layer, space, time}, ofwhich layer is the division level, and space is closely relatedwith time and layer. Let layer= {0, 1, 2}, of which 0 repre-sents physical device itself which means that this device isindivisible, 1 represents parts of space after the space deviceis divided (space is the address description of spatial loca-tion), and 2 represents the further division of time slice basedon space division (time is size description of time slice).

Space granularity means the space structure is dividedaccording to their linear address. The formal expression ofatomic physical resource set is prs = Y pri part O f Spacepro∧ pri ∩ pr j = φ∧ i �= j , where partOfSpace representsthe space division. Generally, the devices with space divisionare multicore processor (based on the core of CPU, a multi-core processor is divided into several virtual CPUs with inde-pendent core) and memory (contiguous memory address isdivided into several partial shadow memories). Sharing prob-lem for atomic physical resources does not existed in spacedivision process.

Time granularity means the time structure is dividedaccording to the users’ use frequency in time span. The for-mal expression of atomic physical resource set is prs =Y pri part O f T ime pro ∧ pri ∩ pr j = φ ∧ i �= j ,where partOfTime represents the time division. Generally, thedevices with time division are processor (a CPU is dividedinto several virtual CPUs based on time span and virtualCPUs are bound to physical CPU in turn) and networkdevice(network device is divided into several virtual networkdevice based on time span used by virtual machine rotation-ally). Sharing problem for atomic physical resources doesexist in their use process.

3.1.2 Logic view of resources

We propose the logic view of resources centered on resourceusers because of following reasons: (1) a variety of atomicphysics resources should be provided to a resource user whorequires the computing service. If resource users use atomic

123

Page 6: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

82 SOCA (2013) 7:77–100

physical resource directly, the system should compute theamount of resource before they are used. That process wouldbe much time-consuming and optimal allocation is not easyto achieve when facing a great number of resource users.Generally, resource requirements belong to a certain distri-bution law in cloud computing systems and atomic physicalresources are combined into logic resource in accordancewith this law, so the logic resource can be directly and eas-ily used by resource users. (2) There are different effectsfor the combination of different types of physical resources.We obtain the logic resources which have the maximum sizewith the least atomic physical resources through optimizationcombination. (3) The mapping from physical resources tologic resources can also shield the heterogeneity of resources,and thus, the logic resources in virtual computing resourcepool can serve to resource users as a uniform interface.

Definition 3 (Logic view of resources): logic view ofresources is a tuple CRVM=(servers,PVS,PVR, interface),where server is the set of computing nodes in cluster andPVS is the set of logic resources formed by characteristicsof resource users. We let PVS=(pv1, pv2, …pv n) and pvis a logic resource. PVR is the set of relationships betweenlogic resources in PVS. We let PV R = {pvi ⊗ pv j |pvi ∈PV S ∧ pv j ∈ PV S ∧ i �= j}, pvi ⊗ pv j is the relationshipbetween pvi and pv j . Interface is the operation interface oflogic resources. Logic resource is a tuple pv =(ID, function,sp, G), where ID is its identifier; function is the usage of logicresource, sp is the vector of quantitative values of static attri-butes which describe the capacity of logic resource, sp =(sp1,sp2, …,spN). The dimension of sp is the number of physicalresources that combine with logic resource. N is number ofresource types, G is the quantitative value of logic resourcesgranularities, which describe the effect that static attributeshave on the dynamic combination.

The purpose of resources virtualization is to provide aresource utilization environment with a higher efficiency

and solves the contradiction between tight coupling char-acteristics of resources and users’ multi-granularity resourcerequirements. The on-demand allocation of virtualizedresources enables the cloud computing systems provide theresources with optimal cost and improve the reusability ofresources with more flexible resource management.

Definition 4 (Resource virtualization model): Resourcemodule located at the low layer provides an interface namedas virtual resource interface to top resources module, andthus, the expecting use environment of resource module isconsistent with original system, which makes top resourceusers use the virtual resource interface indirectly and usersrun in a virtual environment. Resource virtualization modelis shown in Fig. 1.

Levels of resource virtualization model in Fig. 1 includethe following: (1) Five entities such as user, CRVM, resourcemapping (RM), CRPM and devices; (2) The interfacebetween resource users and logic resources in CRVM; and(3) Interface between devices and physical resource inCRPM.

Resource Mapping: The transformation from CRPMto CRVM. Resource Mapping is a tuple RM=(CRPM,CRVM, method, MRS), where method is the set of meth-ods used by CRPM and CRVM. MRS is the set of map-ping relationships among elements between CRPM andC RV M, M RS = {prsi → pvs j |prsi ∈ P RS′ ∧ pvs j ∈PV S′}, whereP RS′ = ϒprsi ⊆ C R P M.P RS, PV S′ =ϒpvsi ⊆ C RV M.PV S. In order to construct MRS, we mustintegrate physical resources based on the division of physi-cal resources and then establish physical resources semantic(discussion in following chapter) for optimal combinationaccording to the requirements from resource users.

Resource Interface: The set of interfaces provides theresources operation functions used by CRPM and CRVM.The interface used by CRPM is physical resource inter-face which provides operation functions to RM, such as

Fig. 1 Resource virtualizationmodel

pr1 pr6 prn-1pr5 prnpr4pr3pr2 ...pr7

RM

pv1 pv5 pvmpv4pv3pv2 ...

user1 user2 user3 user4 user5 user6 ... Userk

pv6

user7

Use Forming Combination Interaction

CPVM

CPRM

Devices in cloud center servers

123

Page 7: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 83

resources increase, resources reduction, resources refresh-ing, resources initialization, resources opening, resourcesallocation, resources access, resources utilization, resourcesrecycling and resources releasing. The interface used byCRVM is the logic resource interface which provides opera-tion functions to resource users, such as resources formation,resources reconfiguration, resources allocation, resourcesaccess, resources utilization and resources recycling. Thesponsors of resource interface are resource users. Whenlogic resources are used by logic resource interface, phys-ical resources are operated synchronously by RM.

3.2 The implementation of resource virtualization

We study on infrastructure resources mainly providing com-puting service mentioned in previous section. Because thebalance is strongly stressed on by infrastructure mainly pro-viding computing service, logic resource is combined by avariety of physical resources. It is very important to findout a proportion coefficient to improve the optimal perfor-mance for each unit resource. We should satisfy resourceusers through optimal combined resources to raise serviceability in cloud computing systems. The key methodology ofresource combination algorithm is to assure the logic viewof resources satisfies the distribution law of resource usersand to obtain the maximum resources computing capability.

3.2.1 The hypothesis for resources utilization environment

The premise of resources combination is that the combina-tion process has strong operability after the atomic phys-ical resources are divided based on the law of resourcerequirements. In order to achieve the mapping from phys-ical resource to logic resource, we make three hypothesesfor resources utilization environment.

Hypothesis 1 (Physical resources semantic): In order tomake our algorithms easterly design, we describe a group ofphysical resources semantics to create the semantic relationsbetween different types of resources. All semantic descrip-tions we create for physical resources are reflected in PRSand PRR, including unary semantic and binary semantic. Wedefine unary semantic as “begin” which means that if a phys-ical resource pri has semantic “begin”, pri is necessity tobe the first allocated physical resource before we allocateother kinds of physical resources. We define pr.type=CPUas the physical resource semantic for pr which has “begin”.We define binary semantic as “paralleluse” which means thatthe use of pri will lead to the use of pr j inevitable at the sametime for any two different types of physical resources pri andpr j . They are defined as the successive distribution relation-ship strictly. If we use aunits of pri and b units of pr j , thecombination proportion coefficient is λ = a/b.λ is different

if resources have different usages. But λ appears relativelystable in specific cloud mainly providing computing service.To meet this requirement, we determine the atomic physicalresources as λ = 1. For example, if the quantitative value ofCPU atomic physical resource is 1GHZ in single-core pro-cessor and the quantitative value of memory device is 1Gmemory, we should allocate 1 unit memory resource afterwe allocate 1 unit CPU resource.

Hypothesis 2 (Logic resource granularity): The size of logicresource granularity reflects the capability of logic resourcemainly providing computing services. It can also refer to thetimeliness satisfaction that 1 unit task runs for a period of timewhen a resource user use a logic resource. Logic resourcegranularity G is closely related to its quantitative value of sta-tic attribute sp. As sp has described the capability itself and spis relatively stable, we can appraisal the size of logic resourcegranularity with the number of atomic physical resources.We assume that all physical resources combining into logicresource are used, and thus, the physical resources combin-ing into pv are prs=(pr 1 ,pr 2, … ,pr N) based on the binarysemantic relationships, where pr1, pr2, . . . , prN are the usequantity of atomic physical resources (sp1, sp2. . .spN ), andN is the number of resources types. Then, G is defined as

G = η. N√

π Nj=1sp j .

where η is proportional coefficient reflecting the changein granularity after physical resources combine into logicresource. It relates to the overall performance of devices incloud computing systems which show that the higher perfor-mance is, the greater η is in general.

The expression G shows the geometric mean of atomicphysical resources. It is taken as the metric of logic resourcegranularity under the condition of fixed η. The reasons usedgeometric means are as follows:(1) we assume that all kindsof physical resource must be used in infrastructure mainlyproviding computing services, and (2) the binary semanticof physical resource defined above has assume that the bestcombination proportion for the atomic physical resource isλ = 1, so geometric mean expression can meet these twoassumptions and has no contradiction with the content oflogic resource granularities.

Hypothesis 3 (Resource requirement description): Therequirement that resource user takes to resource is gener-ally the demand to performance configuration and the quan-tity of physical resource, such as CPU, memory, externalstorage device and network device. After resource virtual-ization, logic view of resources is taken as the use object incloud commuting systems. The system should transfer therequirement of physical resources into the requirement oflogic resources in order to optimize the use of resources.

Definition 5 (Requirement from resource users): Require-ment from resource users is a tuple VCR =(sp,G, t),

123

Page 8: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

84 SOCA (2013) 7:77–100

where sp is the vector of static attribute of logic resource,sp=(sp1, sp2. . ., spN ), whose dimension is the minimumvalue of all kinds of atomic physical resources combininginto logic resource, N is number of resource types, G is thequantitative value of granularity of logic resources, and t isthe time required to complete the task. Based on the contentof logic resource granularity mentioned in previous chap-ter, we think that for the amount of tasks determined byVCR, the shorter the t that VCR asks for, the greater thesize G is.

The requirements that resource users take to resourcesare random in general, and it is concluded that the statis-tics of size granularity of resource requirements fits the nor-mal distribution in cloud computing systems because therandom event belongs to normal distribution in the longrun. Because of the limited resources, resource requirementswithin a short time are more difficult to grasp for us. Themethodology of resource combination is that the size dis-tribution of logic resource granularity formed by resourcecombination should satisfy the resource requirement withrandomness within a short time as much as possible. Butwhen we face the situation that the resource requirementsare unable to be matched, resource reconfiguration will beexecuted for their greater size granularity (discussion in fol-low-up chapter), so the randomness distribution of resourcegranularity is considered firstly when resources combines.We should also take into account the characteristics ofresource granularity changes within a short time. In nextsection, the statistical method is used to compute themean, maximum, minimum and standard deviation forresources granularities, and we then determine approxi-mate range of VCR.G. Let VCR. G ∼ (μ, σ ), where, μ

is the mean which reflects the normal resource require-ment, and σ is deviation which reflects the fluctuationof requirements. We determine the resource combinationprinciple as follows: based on the resource granularity μ,the physical resources are randomly combined into logicresources in virtual computing resource pool. The gran-ularity G has a certain degree of random fluctuation, sowe should control the size in the scope of μ − σ/2 ≤G ≤ μ + σ/2 for most of the logic resources granular-ity.

3.2.2 The resource combination algorithm

The mapping from physical resources to logic resourcesis the combination of atomic physical resources. In orderto construct a virtual computing resource pool satisfyingVCR.G ∼ (μ, σ ), we propose a heuristic resource combi-nation algorithm(HRCA) which randomly extracts parts ofphysical resources and then completes the combination. Thecombination guarantees that granularities of logic resources

are controlled in the scope of μ − σ/2 ≤ G ≤ μ + σ/2.HRCA can fulfill two principles of resource combinationmentioned above and its combination process is carriedout until all pending atomic physical resources are beingextracted from virtual computing resource pool. Based onhypothesis 3, we determine the standard quantitative valuefor each atomic physical resource satisfying normal distribu-tion G ∼ (μ, σ ) : spμ = μ/η, where spμis rounded. HRCAtakes CPRM. P RS, μ, σ and η as the input parameters andits pseudo-code is described in algorithm 1:

Algorithm 1(HRCA):Heuristic ResourceCombination Algorithm

Input: CPRM.PRS, μ, δ, η

Output: CPVM. PVS1 Computespμ for λ←12 Foreach serverin CPRM.server3 PRS←getPRSfromServer (CPRM.PRS,server);4 BeginSet ← {pri |pri ∈ P RS ∧ begin(pri )};5 Done=true;6 While done do7 prs←getPrsFromBeginSet (BeginSet, spμ)

8 if prs.length=0 then9 Done←false10 else11 pv←new pv();pv.add(prs);12 pv←SearchPrsbyParallelUse

(PRS, prs[0],spμ,pv);13 if pv.G>0 then14 CPVM.PVS.add(pv);15 PRS.remove(pv)16 End if17 End if18 End while19 End for20 Procedure SearchPrsbyParallelUse

(PRS,pr0, spμ, pv)21 Begin22 prs←getParallelusePrs(PRS,pr0, spμ)

23 if prs.count==0then24 Return pv25 end if26 pv.add (prs)27 SearchPrsbyParallelUse(PRS, prs[0], spμ,pv);28 Return pv29 End30 Foreach serverin CPRM.server31 PRS←getPRSfromServer (server);31 Le f t Set ← ϒpri ∈ prs ∧ pri /∈ C PV M.PV S.

prs Mapping()

32 Foreach pr in LeftSet33 pv←SearchPVfromCPVM(server,pr)

123

Page 9: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 85

34 pv.add (pr);35 End for36 End for37 Foreach serverin CPVM.server38 Define NoBalancePVS as a set which is

unbalance for G in pvc39 PVS←getPVS(server)40 Foreach pvi in PVC41 If isNotBalance(pvs,pvi ) then42 NoBalancePVS.add(pvi );43 End if44 End for45 Foreach pvi in NoBalancePVS46 If pvi .G<u-σ /2 then47 Decomposite(pvi )

48 else49 pv j ←SearchPVNotinNoBalancePVS

(NoBalancePVS,pvi )

50 If pv j <>nullthen Combine(pvi ,pv j )End if51 End if52 End for53 End for

The process of HRCA is as follows: (1) rows 2–29: forall servers, atomic physical resources are searched from PRSbased on the standard quantitative value spu . The searchingprocess is carried out according to their physical resourcesemantic relationships until the number of physical resourcesin beginset is 0.The granularity of elements in PVS formedis G = μ or G ≈ μ. (2) In rows 30–36: for all servers,the remaining atomic physical resources are merged into themost suitable element in PVS. (3) In rows 37–53: for all serv-ers, the set of logic resources in the scope of G <u-σ/2 orG>u+σ/2 are taken to complete the merging or decompo-sition based on the range of granularities u − σ/2 ≤ G ≤u + σ/2.

In HRCA, the main function getPRSfromServer is toobtain the set of physical resources PRS belonging to cur-rent server from physical view of resources CPRM.PRS.BeginSet is the set of physical resources which has thesemantic “begin” belonging to current server. The mainfunction getPrsFromBeginSet is to obtain the set of physi-cal resources which has resources spμ from BeginSet. If thenumber of BeginSet is lower than spμ, the set of physicalresources in BeginSet returns. SearchPrsbyParallelUse is arecursive function whose internal implementing function get-ParallelusePrs achieves the combination of logic resource pvwith spμ physical resources from PRS via the binary seman-tic relationship of pr0. The function SearchPVfromCPVMis to merge the elements in PVS in server and pr in turnand combines the pr and pv existed in PVS which has themaximum changing granularity for all logic resources. Thefunction isNotBalance is to judge whether the pvi in pvs is

balance or not, and if it is unbalance and G < u − σ/2 orG > u + σ/2 establishes, the size of logic resource is to beadjusted. The function Decomposite is to decompose the pv j

into two logic resources that satisfy u−σ/2 ≤ G ≤ u+σ/2based on the principle of uniform distribution. The functionof SearchPVNotinNoBalancePVS is to combine the elementsin NoBalancePVS with pvi in turn, and then, if the combinedresources satisfy u − σ/2 ≤ G ≤ u + σ/2, current pvi willbe selected to achieve combination.

Proposition 1 HRCA will converge in the limited time.

Proof We divide the HRCA into three stages: rows 2–29,rows 30–36 and rows 37–53. If three stages can termi-nate normally, the HRCA will converge in the limited time.The necessary conditions of function termination in rows2–29 are as follows: (1) “prs.length=0” establishes and(2) “prs.count=0” establishes in recursive function Search-PrsbyParallelUse. Firstly, the function getPrsFromBeginSetobtains spμ resources from BeginSet via cycle process inturn. It is obvious that the prs will be null after the finalsp ≤ spu physical resources are obtained from BeginSet.Secondly, the function getParallelusePrs in SearchPrsbyPar-allelUse searches the physical resources based on the binarysemantic “ paralleluse” of current pr0. It is obvious thatprs will be null after pr0 has no physical resources withbinary semantic “ paralleluse”(pr0 is defined as the phys-ical resource assigned in final) or corresponding physicalresource cannot be find out from PRS (they have been usedup on previous cycle), so the first stage can terminate. Inrows 30–36, remaining physical resources are traversed tobe allocated to the logic resource which has the maximumgranularity change. It is obvious that the second stage willterminate after the final remaining physical resource has beenallocated. In rows 37–53, the logic resources formed aboveare traversed to find out those whose granularities are in thescope of G < u−σ/2 or G > u+σ/2 to achieve the combi-nation or decomposition operations. The third stage will beterminated after the final logic resource is disposed whethercombination and decomposition can be carried out success-fully or not. In short, it is known that HRCA will converge inthe limited time. ��Proposition 2 Let L be the quantity of servers, N be thequantity of resources’ kinds, M1 be the quantity of physi-cal resources which have the greatest number of resources’kinds with semantic “begin” in all servers, M2 be the quan-tity of physical resource which has the greatest numberof resources’ kinds, and M3 be the quantity of physicalresources which have the smallest number of resources’kinds, then the time complexity of HRCA is O((M2 − M3)

(ηM1/μ+ 1).N .L).

Proof In rows 2–29 of HRCA, N types of physical resourcesare needed to form a unit of logic resource, and the quantity

123

Page 10: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

86 SOCA (2013) 7:77–100

of physical resources that have the greatest number ofresources’ kinds with semantic “ begin” in all servers decidesthe quantity of logic resources formed in this stage. The max-imum quantity of logic resources formed in each server is(M1/spu+1), so the maximum implementation steps in rows2–29 is (M1/spu + 1).N .L .In rows 30–36, the maximumremaining quantity of physical resources for each server isM2 − M3 and the converge of a physical resource needs tosearch (M1/spu + 1) logic resources formed in first stage,so the maximum implementation steps in rows 30–36 is(M2 − M3).N .(M1/spu + 1).L . In rows 37–53, we assumethat the maximum quantity of logic resources in the scopeof G < u − σ/2 or G > u + σ/2 is a, then the maxi-mum quantity of logic resources searched by system will beM1/spu + 1 − a, so the maximum implementation steps inrows 37–53 is (M1/spu + 1).L . Thus, the maximum imple-mentation steps of HRCA is:

f (L , N , M1, M2, M3) ≤ (M1/spu + 1).N .L

+(M2 − M3).(M1/spu + 1).N .L + (M1/spu + 1).L

= [N + (M2 − M3)N + 1].(M1/spu + 1).L

≤ 3.(M2 − M3)(M1/spu + 1).N .L ,

So, the time complexity of HRCA isO((M2−M3)(ηM1/μ+1).N .L). ��

4 Virtualized resources on-demand allocation

In cloud computing systems, second content for resourceon-demand allocation is to provide the appropriate resourcegranularity to resource users to reduce their cost and aver-age waiting time, and then to achieve the goal of reducingresource consumption rate and improve the use efficiency ofresources. The algorithms of on-demand allocation are solu-tions to solve this problem. On the basis of presenting a serialof on-demand allocation concepts and appraisal indexes, wedesign three on-demand allocation algorithms.

4.1 Appraisal indexes for on-demand allocation

In cloud computing systems, logic resources construct avirtual computing resource pool, in which virtual machinesare their resource users. We determine the on-demand allo-cation goals from following appraisal indexes:

Definition 6 (Meeting rate that resource takes to resourcerequirement): It is seen from VCR expression that the meet-ing rate that resource pv takes to resource requirement VCRcan be measured with sp and G. Meeting rates of sp andG are recorded, respectively, as s fsp.V C R→pv, s fG.V C R→pv ,for short s fsp, s fG . Their determination methods are:

s fsp =∑N

j=1 pv.sp j

N∑N

j=1 V C R.sp j, s fG = pv.G

V C R.G.

Definition 7 (Resource matching): In virtual computingresource pool, if the requirement that resource takes toresource users can be satisfied or exceeded, that is s fsp ≥1∧ s fG ≥ 1, then we call this situation as complete resourcematching. If s fG ≥ 1 establishes, we call this situation as thelowest resource matching. If s fG < 1 establishes, we call thissituation as resource non-matching. If s fsp = 1 ∧ s fG = 1establishes in the process of resources utilization, we call thissituation as idea resource matching. Because of the lowerprobability for idea resource matching, s fG = 1 is thoughtas the idea resource matching. The final goal of resourceon-demand allocation iss fG > 1 ∧ lim s fG = 1, of whichlim s fG = s fG−εs f , where εs f is the ability bias determinedby the goal of on-demand computing. We try to achievelim s fsp = 1 in lim s fG = 1. For any V C Ri and pv j ,the expression of resource matching is < V C Ri , pv j >=∀V C Ri ∈ V C RS → ∃pv j ∈ PV S ∧ s fG.V C Ri→pv j ≥ 1.The set of resource requirements queue is named as Y1<i<n <

V C Ri , pv j >.

Proposition 3 It is necessary that cloud computing systemswill produce excessive resource meeting capability that logicresource takes to resource requirement in the process of idearesource matching.

Proof s fsp reflects the meeting rate of static attributesthat logic resource takes to resource requirement. Whenwe achieve the idea resource matching: s fG > 1 ∧lim s fG = 1, it is concluded that cloud computing systemswill produce excessive resource meeting capability. Thus,if

∑Nj=1 pv.sp j >

∑Nj=1 V C R.sp j establishes, s fsp > 1

would establishes. Therefore, proposition 3 will be proved aslong as we prove s fG > 1⇒ s fsp > 1. Based on the defini-tions of s fsp, s fG and G, because∀sp j ∈ pv.sp∩V C R.sp >

0, then:

s fsp =∑N

j=1 pv.sp j

N∑N

j=1 V C R.sp j= 1

N

N∑

j=1

pv.sp j

V C R.sp j

≥ N

√π N

j=1pv.sp j

V C R.sp j= N

N√

π Nj=1 pv.sp j

N√

π Nj=1V C R.sp j

= Npv.G

V C R.G= s fG > 1,

above-mentioned “≥”establishes if (and only if)∀i, j ∈ N ∧i �= j , and pv.spi

V C R.spi= pv.sp j

V C R.sp j. ��

It is called as resource matching that the resources are usedby successive resource scheduling among several resourceusers.

123

Page 11: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 87

Proposition 4 Sufficient and necessary conditions of resou-rce matching are the following:

(1) Y1<i<n < V C Ri , pv j >

(2) Let PV S = {pvi |pvi ∈ Y1<i<n < V C Ri , pv j >, thenumber of elements in PVS be r, then r ≤ n establishes.

Proof If r = n, it is obvious that proposition 4 establishesbased on proposition 3, so we only need to prove r < n.Sufficient condition: if Y1<i<n < V C Ri , pv j >, it is showedthat each element in VCRS can find out a logic resource inPVS which matches its granularity requirement. Because thenumber of elements in PVS is r < n, the number of elementsin VCRS is n, it is proved that at least one pv ∈ PV S makestwo or more than two V C Ri ∈ V C RS match pv. In this situa-tion, it is necessary that there are resources scheduled amongseveral resource users, so the sufficiency establishes. Neces-sary condition: when resource matching establishes in cloudcomputing systems, there existed at least a logic resourceused by several resource users, which means that the numberof elements in PVS must be lower than that in VCRS. Thenumber of elements in VCRS is n, so there must be r < n,and the necessity establishes. ��Definition 8 (Resource fragment granularity): In resourcematching process that logic resource takes to resource users,we call the static attributes with overcapacity as resourcefragment granularity. In this section, rd is used to measurethe size of resource fragment granularity and the value thatV C Ri takes to pv j is

rdV C Ri→pv j = pv j .G − V C Ri .G

Definition 9 (Resource utilization): Let m be the quantityof logic resources in virtual computing resource pool andresource requirements from n resource users be VCR1 ,VCR2

…,VCRn . Let all resource fragment granularities be rd1 ,rd2

…,rdn . If their resource requirements can be satisfied andresource matching can be achieved, then the computingmethod of resource utilization for virtual computing resourcepool is

ru = 1−∑n

i=1 rdi∑ni=1 pvi .G

,

where, l < n;m >= n

Definition 10 (Resource refusal rate): Let the resourcerequirements from n resource users be V C R1, V C R2. . .,

V C Rn, if resource requirements V C R1, V C R2. . ., V C Rl

can be satisfied by resource matching(l is the quantity ofresource requirements which achieve resource matching).The resource requirements V C Rl+1, V C Rl+2. . ., V C Rn

cannot be satisfied as the lowest resource matching via

resource matching in resource allocation process, the resourcerefusal rate is

r j = n − l

n, where, l<n

Meanwhile, 1-rj is thought as resources acceptance rate.We should try our best to reach rj=0 in resource use pro-cess. If not, resource reconfiguration is executed to form logicresources with greater size in granularity and rj=0 is achievedin final.

Definition 11 (Resource average waiting cycle): Let resourcerequirements be V C R1, V C R2. . ., V C Rn , and let resourcerequirements V C R1, V C R2. . ., V C Rr (r < n) are matchedby resource matching in one time. The waiting time ofresource requirements V C Rr+1, V C Rr+2. . ., V C Rn iswaittimer+1, waittimer+2. . ., waittimer+n , then theresource average waiting cycle is:

rwc =∑n

i=1 V C Ri .t +∑ni=r+1 waittimei∑n

i=1 V C Ri .t

Definition 12 (Resources satisfaction): Resources satisfac-tion (for short rs) is the satisfaction that resource users take tovirtual computing resource pool. The rs is proportional to rubecause cloud computing services providers charge for thequantity of resources used by resource users. The higher theresource utilization is, the less the resource fragment is andthus the fewer the resources needed to purchase are. The rs isalso proportional to 1- rj because the higher resource refusalrate is, the more satisfied users are. The rs is inversely propor-tional to rwc because the longer the resource average waitingcycle is, the more unsatisfied users are, so the resources sat-isfaction is:

rs = α.ru.(1− r j)

rwcwhere α is the proportional coefficient reflecting the prefer-ence characteristics of resource users (we let α be 1 in belowsection in order to calculate resources satisfaction conve-niently).

4.2 Resource matching algorithm

Resource matching policy refers to that there are insufficientlogic resources. Cloud computing systems will satisfy partsof resources in priority, and then, after previous resourceusers have completed their access to resources, resourcesare be allocated to other resource users who cannot be allo-cated in first time. There are many resource matching pol-icies in virtual computing resource pool in the conditionof resource matching. We call the policy with the lowestresources refusal rate, the shortest resource average waitingcycle and greatest resource utilization successively as the bestpolicy of resource matching. As resource satisfaction consid-ers resources refusal rate, resource average waiting cycle and

123

Page 12: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

88 SOCA (2013) 7:77–100

resource utilization at the same time, so it can satisfy the goalof on-demand allocation. Firstly, cloud computing servicesproviders and users both pay attention to resource refusal ratewhich makes the goal be achieved for both sides, so resourcerefusal rate is settle as 0 as much as possible. Secondly, inthe premise of resource refusal rate being 0, users are moreconcentrated on the resource average waiting cycle. Cloudcomputing services providers wish to provide more servicesin unit time. Thirdly, cloud computing services providers andusers both focus on resource utilization mentioned above.

Let requirements that resource users take to resources beV C RS = (V C R1, V C R2. . ., V C Rn) and logic resources bePV S = (pv1, pv2. . ., pvm). The resource matching prob-lem will be solved by a bipartite graph. We construct a bipar-tite graph G(U, V ), of which all elements in VCRS are putinto the vertex set U, and all elements in PVS are put intothe vertex set V . The determination approach of edge setin bipartite graph is as follows: for ∀V C Ri ∈ V C RS, if∃pv j ∈ pvs satisfying < V C Ri , pv j > can be found, thenwe create an edge ei =< ui , u j > which takes the resourcefragment granularity as the weigh. We create all the edges setE(G, U ) in bipartite graph by analogy. For G(U, V ), U =(u1, u2. . ., un) and V = (v1, v2. . ., vm), resource matchingalgorithm can help us find out the policy ep composed of theset of ei called {Y1<i<nei } in bipartite graph with the lowestresources refusal rate, the shortest resource average waitingcycle and greatest resource utilization successively.

In ep = {Y1<i<nei }, each ei in ep is reduced to the cor-responding relationship < V C Ri , pv j >, and thus, pvs′ ={pvi |pvi ∈ Y1<i<n < V C Ri , pv j >}. For each ∃pvi ∈pvs′, the set of resource users who match pvi ∈ PV S isV C RSet = {V C R j |V C R j ∈ Y1<i<l < V C Rl , pvi >.For several resource users sharing a pvi , the running time offrontier resource users is thought as the waiting time of latterresource users, then the waiting time of element j V C Ri. j ∈V C RSeti takes to pvi is

waittimeV C Ri. j→pvi =j∑

k=1

V C Ri.k .t .

The pseudo-code is described in Algorithm 2:

Algorithm 2(RMA):Resource Matching AlgorithmInput: U,VOutput: ep,ru,rwc,rs1 Sort U order by G desc, V order by G asc2 Foreach uiin U3 Foreach vjin V4 If < ui, uj > then VSeti .add(vj) End if5 End for6 End for7 ep←new ep()8 DisposeU (1,ep)

9 Procedure DisposeU(I,ep)10 Begin11 Find VSetik .in VSeti for min(VSetik-ui)that

VSetik is used at the least times12 v j ←VSetik13 ep.add(ui v j );14 if i>=U.lengththen15 return16 else17 VSeti+1.addUsedTime(v j );18 DisposeU (i+1)19 End if20 End21 Transfer ep = {Y1<i<nei } into

Y1<i<n < V C Ri , pv j >

22 pvs′ = {pvi |pvi ∈ Y1<i<n < V C Ri , pv j >}23 waittimeep ←024 runtimeep ←025 For i=1to pvs’.count26 V C RSeti = {V C Ri. j |V C Ri. j ∈ Y1<l<i

< V C Rl , pvi >;27 For j=1to VCRSeti.count28 waittimeep+← waittimeV C Ri. j→pvi

29 runtimeep+ = V C Ri. j .t30 End for31 End for32 rwc = waittimeep.k/runtimeep.k

33 Foreach v j in V34 Vsum+←v j .G35 End36 rd ← 037 For i=1to n38 rd+← rde.i. j

39 End for40 ru ← 1− rd/V sum41 rs ← ru/rwc

The process of RMA is as follows: U and V are sorted byascending order in row 1. In rows 2–6, each ui ∈ U, v j ∈ Vsatisfying < ui , v j > is successively found out and put intothe binary array VSet. DisposeU(i,ep) is a recursive functionto find out a best Vj for each Ui . Row 8 shows that DisposeUis recursively called from vertex u1. In function DisposeU,row 11 finds out the element from V Setik which has theminimum difference value with ui , and at the same time, thiselement is not be used by above ui by traversing V Seti . Rows12–13 find out V Setik that corresponds to v j and constructthe matching form of uiv j , and then, the path of uivk is addedinto current matching policy. In row 17, if vi is used in RMA,the used times of vi will plus one by calling function add-UsedTime. In row 11, the matching object v j for ui is foundout by traversing V Seti in turn based on minimum use timesused by above ui and the minimum differential value between

123

Page 13: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 89

V Setik and ui . Resource average waiting cycle for resourcematching policy is computed in rows 21–32, and then, theresource utilization for resource matching policy is computedin rows 33–44. The resource satisfaction is determined basedon resource average waiting cycle and resource utilization inrows 41 in final. The bipartite graph that ep corresponds withedge set {Y1<i<nei } is reduced to < V C Ri , pv j >, and then,we obtain the resource matching approach.

Proposition 5 Let resource requirements have the same run-ning time required to complete, if the elements in VCRS andPVS satisfy the condition of resource matching, ep returnedby RMA is necessarily to the best policy for resource match-ing.

Proof In order to prove Proposition 5, we only need toprove three propositions: (1) RMA can convergence, (2) epreturned by RMA is necessarily to include U . length ele-ments, and (3) ep has the maximum resource utilization inall resource matching policies. For (1), we know that theprocedure DisposeU would terminate after the condition “i>=U.length” establishes because i becomes i + 1 for eachrecursive calling, so the DisposeU can terminate in a limitedtime and RMA can convergence.. Based on the definitionof resource matching, there must exists ep.length=U.length,so elements in VCRS can satisfy elements in PVS and theresource refusal rate is necessarily to be 0. In the premise ofresource requirements having the same running time requiredto complete for each task in each time,v j having has theminimum use times used by above ui is firstly searchedfrom V Seti . It can assure that the resource allocation pro-cess has the shortest resource average waiting cycle in row11 of RMA. On the basis of them, v j having has the mini-mum differential value between V Setik and ui is secondlysearched from V Seti . We can obtain the resource matchingpolicy with maximum resource utilization proved in Proposi-tion 5, so ep returned by RMA is necessarily to the best policyof resource matching with the lowest resources refusal rate,the shortest resource average waiting cycle and the greatestresource utilization successively. ��Proposition 6 Let the dimension of set U be N, the dimen-sion of set V is M, then the time complexity of RMA is O(M2).

Proof U and V are sorted by selection sorting algorithmin row 1 of RMA, thus the implementation steps number isN 2 + M2. In rows 2–5, each ui ∈ U can find its match-ing object and the searching number is MN. In rows 9–20,each ui finds itsv j which is not be used by above ui , so thesearching number for each ui is M in the worst conditions,and the implementation steps number is MN. In rows 21–24,the size of vi is summed up and the implementation stepsnumber is M . In rows 26–28, the size of resource fragment issummed up and the implementation steps number is N . Then,

we obtain the total implementation steps number of RMA isf (N , M) ≤ N 2+M2+M N +M + N . As M > N , M2 >

N 2, M2 > M N > M > N and f (N , M) ≤ 4.M2 in thecondition of resource one-time matching, then the time com-plexity of RM A is O(M2).

In our research, resource utilization is taken as one ofappraisal indexes for resource matching, and the resource sat-isfaction is taken as next appraisal index for resource match-ing. Because RMA is to find out the element from set V Setiwhich has the least number of used time and minimum dif-ferential value between V Setik and ui , it is obvious that ifthe resource matching can be satisfied, the element in V Setiwith the least number of used time will be the element unusedby above ui in V Seti . In the condition of resource matching,there is waittime=runtime which means rwc=1, so the RMAis able to solve all kinds of resource matching problem. ��

4.3 Resource reconfiguration algorithm

If there existed the resource non-matching in virtual com-puting resource pool, we let the set of resource user’srequirements that cannot be matched is V C RN E Set ={V C Ri |∃V C Ri ∈V C RS→∀pv j ∈ PV S∧s fG.V C Ri→pv j <

1}.In order to match the elements in VCRNESet, we assurethat some logic resources should have the ability of resourcereconfiguration which makes their corresponding physicalresource recombine to form the set of logic resource pvs’ withmore greater granularity. Thus, it would satisfy the require-ment which is unable to be matched before. There are threereconfiguration opportunities for a group of logic resources:(1) in initial process of resources allocation: if there existedVCRNESet, the elements in VCRNESet will be taken as thereconfiguration goal, then we achieve the reconfigurationfor logic resources unused. (2) We firstly run the resourcematching algorithm to satisfy the elements in V C RE Set ={V C Ri |V C Ri ∈ V C RS ∧ V C Ri /∈ V C RN E Set}, andthen, the resource reconfiguration will be achieved after theuse of resources in VCRESet have completed. (3) In thedynamic resources utilization process, based on unused ele-ments in VCRS, the logic resources which have been yetassigned to resource requirements should be reconfigured tosatisfy the elements unfinished in VCRNESet. The (3) oppor-tunity is actually the intermediate process of opportunity (1)and (2), so (1) and (2) are the special status of reconfigurationopportunity (3).

We take opportunity (3) as the study object. The resourcereconfiguration algorithm assures that all resource require-ments should be satisfied after resource reconfiguration com-pletes. Let the set of reconfigurable logic resources beN Epvs ⊆ PV S, and let RPS be the set of reconstruction pol-icies expressing as RPS= {RP1 , RP2 , RPn}. We get a groupof logic resources from reconstruction policies in RPS. Letpvsi be the set of logic resources formed by reconstruction

123

Page 14: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

90 SOCA (2013) 7:77–100

policy R Pi . As resource matching algorithm is compati-ble with resource matching algorithm, resource satisfactionis fitful to be the appraisal index of resource reconfigura-tion (resource satisfaction considers the resource utilization,resource refusal rate and resource average waiting cycle).After resource matching policies are obtained based onresource satisfaction, the algorithm finds out the best resourcereconfiguration policies with maximum resource satisfac-tion for each R Pi in RPS. The pseudo-code is described inAlgorithm 3.

Algorithm3 (RRA):Resource Reconfiguration AlgorithmInput: NEpvs,VCRNESet, η

Output: ep,rs1 Foreach serverin CPRM.server2 prs=getNEprsFromNEpvs(server,NEpvs)3 Determine μmax for maximum G in VCRNESet4 Determine δmax between minimum G and

maximum G in VCRNESet5 i←16 For μ = μmax − δmax to μmax

7 NEpvsi ←Call Algorithm HRCA(prs, μ, δmax , η)

8 If ∀V C R j ∈ V C RN E Set → ∃pvk

∈ N Epvsi∧ < V C R j , pvk > then9 RPi ←pvsi

10 RPS.add(RPi )

11 i←+112 End if13 End for14 End for15 pvs1 ←RPi

16 ep1 ← Call Algorithm RMA (VCRNESet, pvsi )

17 maxrs←ComputeRS (ep1);index←118 For k=2 to EPS.Count19 pvsi ←RPi

20 epk ← Call Algorithm RMA (VCRNESet, pvsk)

21 if ComputeRS(epk) > maxrs then22 maxrs←ComputeRS(ep1);index←k23 End if24 End for25 ep←epindex

26 rs←maxrs

The process of RRA is as follows: reconfigurable resourcesin each server are reflected to obtain their prs from NEp-vs by getNEprsFromNEpvs(server,NEpvs) in row 2. In rows3–4, maximum size μmax and maximum difference δmax

of resource requirements granularities are obtained. In rows6–13, HRCA is called from iterations μ = μmax -δmax toμmax in turn to form all reconfiguration policies, and then,reconfiguration policies satisfying resource matching con-dition are put into the PRS. In rows 15–24, reconfiguration

policies in EPS are taken in turn to run RMA, and then, thebest resource reconfiguration policy is determined by com-paring their resource satisfaction, where ComputeRS is usedto compute resource satisfaction for resource matching pol-icy. The bipartite graph that ep corresponds with edge set{Y1<i<nei } is reduced to < V C Ri , pv j >, and then, weobtain the resource reconfiguration matching approach.

Proposition 7 ep returned by RRA is the best resourcereconfiguration policy in the condition that physical resour-ces corresponding to NEpvs are able to meet VCRNESet fully.

Proof Rows 1–14 in RRA traverses every server in CPRM.server, where rows 6–13 traverses μmax -δmax elements inthis server, and rows 18–24 traverses EPS.Count elements fortheir granularities. The algorithm will terminate after the finalelement is achieved, so RRA can convergence. In resourcerecombination process, resource reconfiguration policies ingranularity interval μmax -δmax ≤ μ ≤ μmax are producedin turn, so at least a resource reconfiguration policy epi cansatisfy VCRNESet in all resource reconfiguration policiesEPS. Therefore, in the condition that physical resources cor-responding NEpvs are able to fully meet VCRNESet, at leasta pv ∈ pvsi for epi makes pv.G ≥ μmax. We conclude thatepi is necessity to meet the condition of resource matching,so EPS is a non-empty set, and ep is necessity to be foundout. We know that ep has the maximum resource satisfac-tion after comparing results in rows 15–24, so ep returned byRRA is the best resource reconfiguration policy based on itsdefinition.

Proposition 8 For physical resources which map from NEp-vs, let L be the number of servers, N be the quantity ofresources’ kinds, M1 be the quantity of physical resourcewhich has the greatest number of resources’ kinds withsemantic “begin” in all servers, M2 be the quantity of phys-ical resources which have the greatest number of resources’kinds, and M3 be the quantity of physical resource whichhas the smallest number of resources’ kinds. Then, let MaxGbe the maximum size of resource granularity in VCRNESetand MinG be the minimum size of resource granularity inVCRNESet, thus the time complexity of RRA is

O((M2 − M3).N .L .(MaxG − MinG)(ηM1/MinG + 1)2)

Proof In rows 1–14 of RRA, the number of resource recon-figuration policies is MaxG-MinG. In row 8, to determinewhether E Ri can satisfy resource matching refers to judgingwhether the maximum logic resource granularity from pvsi

is greater than MaxG, so the implementation steps number isηM1/MinG + 1 under the worst conditions. From proposi-tion 2, it is thought under the worst conditions that the imple-mentation steps number of HRCA is [N + (M2 − M3)N +1].(ηM1/MinG+1).L , so the implementation steps number

123

Page 15: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 91

in rows 1–14 is [N + (M2 − M3)N + 1].(ηM1/MinG +1).L .(MaxG − MinG). In rows 6-24, resource matchingfor each reconfiguration policy in EPS is finished with thetime complexity of RM AO((ηM1/μ + 1)2), then the totalimplementation steps number of RRA is

f (L , N , M1, M2, M3, MaxG, MinG, Nv)

≤4.(M2−M3).N .L .(MaxG−MinG)(ηM1/MinG|! +1)2,

so we conclude that the time complexity of RRA isO((M2−M3).N .L .(MaxG − MinG)(ηM1/MinG + 1)2).

��

5 Experimental evaluation

5.1 HRCA experiment

Our experiment assumes that there are 1000 high perfor-mance hosts in a cloud computing systems, where theyare divided into 4 kinds whose numbers are 200, 400, 300and 100, respectively. There existed different configurationand heterogeneity in each kind of server for each kind ofinfrastructure resource, so different servers have differentperformance differences. We set λ = 1 to determine theatomic physical resources and create the physical view ofresources CRPM to shield the differences from differentkinds of infrastructure resources, and then make the infra-structure resources to be comparable. We calculate out theatomic physical resources from 1,000 servers and they arelisted in Table 1, where the numbers of CPU, Memory, Diskand Network are the quantities of atomic physical resources

Table 1 Distribution of physical resources

Resource The quantity CPU Memory Disk Networkkinds of servers

A 200 100 100 200 100

B 400 40 100 40 80

C 300 40 80 40 40

D 100 200 80 80 200

for CPU, memory, hard disk and network in each server.Then, we determine the semantic description for each kindof atomic physical resource. CPU is taken as the resourcewith “begin” semantic. We set CPU “ paralleluse” Memory,Memory “ paralleluse” Disk, Disk “ paralleluse” Memoryand Disk “paralleluse” Network in binary semantic.

The data in Table 1 are taken as the HRCA experimentdata. This experiment is to achieve three goals: (1) the effectthat parameter η has on heuristic resource combination. (2)The effect that parameter μ has on heuristic resource com-bination. And (3) the effect that parameter δ has on heuristicresource combination. We describe resource requirement asV C R ∼ (μ, δ) which assures that resource users use thelogic view of resources directly. We divide this experimentinto 3 phases:

(1) Let V C R ∼ (μ, δ) = (20, 10) and η be 0.2,0.4,0.6,0.8,1 and 1.2, respectively. After we complete HRCA,the distribution of the numbers for logic resources withthe size of granularity is shown in Fig. 2. It is seenfrom Fig. 2 that the weight of the numbers for logicresources distributing in G ≈ μ makes up a greatproportion, and most of them belongs to GC- (10, 30)because of the constraint condition u − σ/2 ≤ G ≤u + σ/2. With the increase in η, the total number oflogic resources produced by HRCA will increase. Thegreater η is, the greater logic resources granularitiesare. When η = 0.2, the total number is 1,000, butthe total number increases to 4,200 after η = 1.2,which equates the theory based on the definition ofG. With the increase in η, the weight of the num-ber for logic resources distributing in great size rangeincreases. When η = 0.2, the weight which GC- (20,30)belongs to is 300/1,000 = 30%, but the weight whichGC- (20,30) belongs to increases to 2,700/4,200≈64%after η = 1.2. It is concluded that the weight has a closerelation with the resource combination: the greater η is,the greater logic resources granularities are.

(2) Let η = 1.2 and V C R ∼ (μ, δ) be (20,10), (30,10),(40,10), (50,10) and (60,10), respectively. After wecomplete HRCA, the distribution of the numbers for

300 400 300

1000600

800

1400

700 500

1300

2500

100

700

1500

300

2600

800

2400

3200

300

1200

2700

4200

0500

10001500200025003000350040004500

0~10 10~20 20~30 30~40 total

η=0.2η=0.4η=0.6η=0.8η=1.0η=1.2

N

G

Fig. 2 Resource combination in different η

123

Page 16: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

92 SOCA (2013) 7:77–100

300

1200

2700

4200

100

7001100

700

2600

700

100

900

400200

2300

200

700 600

1500

400800

100

1300

0500

10001500200025003000350040004500

0~10 10~20 20~30 30~40 40~50 50~60 60~70 70~80 80~90 90~100 total

µ=20µ=30µ=40µ=50µ=60

N

G

Fig. 3 Resource combination in different μ

logic resources with the size of granularity is shown inFig. 3. It is seen from Fig. 3 that the weight that the num-bers of logic resources distributing in G ≈ μ makes upa great proportion. When μ = 20, the weight GC- (10,30) is (1,200+2,700)/4,200 ≈ 93%, but the weightG C- (10, 30) belongs to increases to (1,100+700)/2,300≈ 78% after μ = 30. With the increase in μ, the totalnumber of logic resources produced by HRCA willdecrease. When μ = 20, the total number is 4,200,but the total number decrease to 1,300 after μ = 60.It is concluded that the greater μ is, the smaller thesame quantity of physical resources is, which equatesthe theory.

(3) Let η = 1.2 and V C R ∼ (μ, δ) be (40,10), (40,20)(40,30), (40,40) and (40,50), respectively. After wecomplete HRCA, the distribution of the numbers forlogic resources with the size of granularity is shownin Fig. 3. It is seen from Fig. 4 that the weight thatthe numbers of logic resources distributing in G ≈ μ

makes up a great proportion and the weight thatGC- (40,50) belongs to is greater than that in otherintervals. With the increase in δ, the change in thetotal number of logic resources is non-monotonic. Ourexperiment result shows that when δ = 30, the totalnumber reaches to 2,700 and the total number is lowerthan 2700 after δ > 30 or δ < 30. The distribution ofthe total number with δ is similar to normal distributionand the distribution in each interval is much more bal-anced for any δ. For example, when the range belongsto GC- (10,20),GC- (20,30),GC- (40,50) and G C- (50, 60),the total number of logic resources is comparativelymore balanced if δ is settle as 10, 20, 30, 40 and 50,and there are little differences for each group of colum-nar in Fig. 4. It is concluded that μ is taken as the basisfor resource combination and δ only plans the role ofcontrolling the size of logic resource granularity. Theeffect that δ has on heuristic resource combination isnot more than μ.

It is seen from three stages of HRCA experiment thatHRCA can make the resource combination results present

the randomness, and the size of logic resources granularityis controlled in the scope of u−σ/2 ≤ G ≤ u+σ/2. HRCAcan be used to cloud computing systems and complete themapping from physical view of resources to logic view ofresources.

5.2 RMA experiment

We assure that VCRS and PVS produced by random datasatisfy the requirement of resource matching. We producerandom data used by RMA via algorithm 4, whose input vari-ables are η, QRU (the quantity of resource users) and theweight of scheduling resources percent.

Algorithm 4: Producing RMA DataInput: η,QRU,percentOutput: VCRS,PVS1 Begin2 GV= random()*100;3 CPU←GV(1+random());Memory

← GV(1+random())4 Disk← GV(1+random());Network

← GV(1+random())5 VCRS←new VCR[QRU]; pvs←new PV[QRU]6 number← QRU(1-percent)7 For i←1to number8 r← random()9 a←CPU * r; b←Memory* r; c←disk* r;

d←network*r10 VCRS[i].G← η.pow(a*b*c*d,0.25);

VCRS[i].t←111 a←cpu+GV* r; b←Memory+GV * r;

c← disk+GV * r; d←network+GV *r12 PVS [i].G← η.pow(a*b*c*d,0.25)13 End For14 Select average G, cpu, memory, disk, network15 For i← number+1to QRU16 a←CPU; b←memory;c← disk; d←network17 VCRS[i].G← η.pow(a*b*c*d,0.25);

VCRS[i].t←1

123

Page 17: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 93

700

100

900

400200

2300

700

100400

900

400

2500

700

100400

900

400

2500

400100

400600 700

2200

400100

600 700

200

2000

0

500

1000

1500

2000

2500

3000

10~20 20~30 30~40 40~50 50~60 60~70 total

δ=10δ=20δ=30δ=40δ=50

N

G

Fig. 4 Resource combination for different δ

18 r← random()19 a←CPU -GV* r; b←memory-GV* r; c← disk-

GV* r; d← network-GV* r20 PVS [i].G← η.pow(a*b*c*d,0.25)21 End For22 End

In Algorithm 4, we use the function random () again toproduce random data [0,1] used for resource granularity ofCPU, Memory, Disk and Network in rows 2–5. The QRU(1-percent) resource requirements are produced in rows7–13. In rows 14–21, we compute the mean of logic resourcesgranularities produced above and then obtain QRU-numberlogic resources based on their mean by subtracting GV* r foreach group of CPU, Memory, Disk and Network. With theassurance pv j .G ≥ V C Ri .G, resources would be sched-uled for several times.

After producing the data RMA algorithm needs, we testthe effect of RMA. This experiment is to achieve two goals:(1) the effects that parameter QRU has on the performance ofRMA, rs,ru and rwc, and (2) the effects that parameter percent

has on the performance of RMA, rs, ru and rwc. We assumethat η = 1.0 in this section. The experiment steps are: (1)input variable percent is settle as 0.1, 0.2, 0.3 and 0.4, respec-tively, in algorithm 4, and 4 groups of data can be producedwith which VCRS matches PVS. (2) The input variable QRUis settle as 100, 200 …, 2,000 in algorithm 4, and each GVin step (1) produces 20 groups of data with which VCRSmatches PVS. (3) We run RMA for 10 times via above dataand draw the trend graph by computing their means. Afterwe input the data into RMA for each time, we record the time(milliseconds) required to complete the matching betweenVCRS and PVS, and then, RMA returns rs,ru and rwc. In dif-ferent percent, the trend of completion time with the quantityof resource users is shown in Fig. 5, the trend of ru with QRUis shown in Fig. 6, the trend of rwc with QRU is shown inFig. 7, and the trend of rs with QRU is shown in Fig. 8.

It is seen from Fig. 5 that percent has no effect onthe performance of RMA. With the increase in resourceusers, the time required completing the matching increasescontinuously and the increasing speed is accelerating. Theseconclusions are consistence with the expressions of the timecomplexity O(M2) of RMA shown in proposition 6.

0

5000

10000

15000

20000

25000

30000

100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

percent=0.1percent=0.2percent=0.3percent=0.4

milliseconds

The quantity of resource users

Fig. 5 The trend of completion time with the quantity of resource users

0.75

0.8

0.85

0.9

0.95

1

100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

percent=0.1 percent=0.2 percent=0.3 percent=0.4

ru

The quantity of resource users

Fig. 6 The trend of ru with the QRU

123

Page 18: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

94 SOCA (2013) 7:77–100

0.90.95

11.05

1.11.15

1.21.25

1.3

100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

percent=0.1 percent=0.2 percent=0.3 percent=0.4

rwc

The quantity of resource users

Fig. 7 The trend of rwc with the QRU

0

0.2

0.4

0.6

0.8

1

100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

percent=0.1 percent=0.2

percent=0.3 percent=0.4

The quantity of resource users

rs

Fig. 8 The trend of rs with the QRU

0

0.2

0.4

0.6

0.8

1

1 2 3 4 5 6 7 8 9 10 11 12 13

QRU=50 QRU=100 QRU=150

QRU=200 QRU=250

rs

iterations

Fig. 9 The trend of rs with the iterations of resource reconfiguration in GV = 20

050

100150200250300350

1 2 3 4 5 6 7 8 9 10 11 12 13

QRU=50 QRU=100 QRU=150

QRU=200 QRU=250

pv number

iterations

Fig. 10 The trend of pv number with the iterations of resource reconfiguration in GV = 20

It is seen from Figs. 6, 7 and 8 that under the conditionof logic resources fully satisfying the resource matching, thefluctuation curves of ru, rwc and rs are comparatively flatand essentially unchanged. It is concluded that RMA can findout the best policy for resource matching with the goal of thelowest resource refusal rate, the highest resource utilizationand the shortest resource average waiting cycle, while keepresource satisfaction in the highest level whichever QRU andpercent take. It is seen from Fig. 8 that with the increasein resource users, resource utilization decreases because the

resources reuse times increase with the increase in the weight.It is seen from Fig. 9 that with the increase in resource users,resource average waiting cycle increases because the waitingtime of latter resource users prolongs in the running time offrontier resource users. And in this situation, the resourcesreuse process is performed. It is seen from Fig. 10 that withthe increase in resource users, resource satisfaction decreasesbecause the effect that resource average waiting cycle has onthe quantity of resource users is less than that of resourceutilization. In fact, the best policy is the resource matching

123

Page 19: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 95

Table 2 Atomic physical resources for NEpvs

Resource The quantity CPU Memory Disk Networkkinds of servers

A 20 100 100 200 100

B 40 40 100 40 80

C 30 40 80 40 40

D 10 200 80 80 200

policy with maximum resource satisfaction. Based on theexperiment results of RMA, it is concluded that the perfor-mance of RMA has less overhead and it achieves the goal ofresource matching.

5.3 RRA experiment

In this section, we use the data listed in Table 1 to describe theservers’ configuration in cloud computing systems. Firstly,we let the input variable NEpvs in RRA be 10 percent of serv-ers used in HRCA experiment. The number of correspondingatomic physical resources for NEpvs is listed in Table 2 byreflecting NEpvs.

The data of VCRNESet used by RRA experiment are pro-duced by the random data [0, 1] in algorithm 5 whose pseudo-code is as follows. The input variables of algorithm 5 are η,QRU (the quantity of resource users) and GV whose impli-cations are similar to that in Algorithm 4.

Algorithm 5:producing RRA DataInput: η,QRU,GVOutput: VCRNESet1 Begin2 CPU←GV*(1+random());Memory

← GV*(1+random())3 Disk← GV*(1+random());Network

← GV*(1+random())4 VCRS←new VCR[QRU]5 For i←1to QRU6 VCRS[i].G← η.pow(CPU*Memory

*Disk*Network,0.25)7 VCRS[i].t←random()*1008 End For9 End

After we produce the data RRA needs in algorithm 5,we make RRA testing experiment. This experiment is toachieve two goals: (1) the effects that parameter QRU andGV have on rs, and (2) the effects that parameter QRU andGV have on the recombination results of resource reconfigu-ration. The whole performance of devices in cloud computingsystems is assumed to be η = 1.0 again. We divide the exper-iment into two stages:(1) the put variable GV is settle as fixedvalue 20 in algorithm 5, and QRU is settle as 50, 100 …, 250,

respectively, thus 5 groups of data that VCRS matches PVSare produced. We execute RRA for 10 times and their meansof running results are taken to draw the trend graphs. (2) Theput variable QRU is settled as fixed value 150 in algorithm 5,and GV is settled as 10,20,. . . 60, respectively, thus 6 groupsof data that VCRS matches PVS are produced. We execute theRRA for 10 times and their means of running results are takento draw the trend graphs. After we input the data into RRA foreach time, we record the quantity of resource reconfigurationpolicies, resource satisfaction of all resource reconfigurationpolicies and the number of logic resources for each E Pi inEPS, and then, RRA returns the best policy of resource recon-figuration and its resource satisfaction. The results are listedin Table 3.

It is seen from Table 3 that RRA can find out the bestpolicy with maximum resource satisfaction for each QRUand GV within finite times of iterations. We make conclu-sions as follows based on the data in Table 3: under the sameconditions of GV, with the increase in QRU, rs decreases,rwc increases, and the number of one-time matching alsoincreases. But ru, pv number and total number of iterationswill not change with the change in QRU. Under the sameconditions of QRU, with the increase in GV, rs decreases,rwc increases, pv number decreases, and the number of one-time matching also decreases. But total number of iterationsincreases and ru will not change with the change in GV. Wedraw the trend graphs according to the data in Table 3 and intheir running process. In different QRU, the trend of rs withthe iterations of resource reconfiguration is shown in Fig. 9,and the trend of pv number with the iterations of resourcereconfiguration is shown in Fig. 10. In different GV, the trendof rs with the iterations of resource reconfiguration is shownin Fig. 11, and the trend of pv number with the iterations ofresource reconfiguration is shown in Fig. 12.

It is seen from Fig. 9 that under the same conditions of GV,if the simulation experiment has the same iterations number,the smaller QRU is, and the greater rs is. It is concludedthat smaller number of elements in VCRNESet will producesmaller resource fragment and the resource utilization willbe greater. Resource satisfaction will also be greater becauseresource utilization has more important effect on resourcesatisfaction than resource average waiting cycle. The overalltrend of resource satisfaction is decreasing whichever QRUtakes and QRU almost has no effect on the total number ofiterations. It is seen from Fig. 10 that pv number will notchange with the change in QRU.

It is seen from Fig. 11 that GV has a great effect on thetotal number of iterations in resource reconfiguration. In gen-eral, the greater GV is, the greater the total number of iter-ations is. Whichever GV takes, rs will decrease in overalltrend. It is seen from Fig. 12 that with the increase in thetotal number of iterations, pv number will decrease in overalltrend whichever GV takes. Under the same conditions of total

123

Page 20: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

96 SOCA (2013) 7:77–100

Table 3 Running results for multiple groups of input data

QRU GV Total number Iteration rs ru rwc pv number Numberof iterations returned of matching

50 20 13 3 0.920 0.920 1.000 260 50

100 20 12 2 0.917 0.917 1.000 280 100

150 20 11 6 0.786 0.786 1.000 270 150

200 20 12 5 0.683 0.819 1.257 270 143

250 20 13 1 0.689 0.913 1.325 280 164

150 10 5 1 0.888 0.888 1.000 560 150

150 20 11 6 0.786 0.786 1.000 270 150

150 30 16 1 0.812 0.906 1.115 280 130

150 40 16 1 0.569 0.880 1.548 130 72

150 50 26 1 0.313 0.890 2.846 130 32

150 60 27 3 0.292 0.849 2.904 120 30

00.10.20.30.40.50.60.70.80.9

1

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 26 27

GV=10 GV=20 GV=30

GV=40 GV=50 GV=60

rs

iterations

Fig. 11 The trend of rs with the iterations of resource reconfiguration in QRU = 150

0

100

200

300

400

500

600

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 26 27

GV=10 GV=20 GV=30

GV=40 GV=50 GV=60

pv number

iterations

Fig. 12 The trend of pv number with the iterations of resource reconfiguration in QRU = 150

number of iterations, the less gv is, the greater pv number is.Based on the experiment results of RRA, it is concluded thatthe performance of RRA has less overhead and it achieves thegoal of resource reconfiguration matching.

5.4 Comparison with related algorithms

For traditional real-time resource allocation algorithms, Ear-liest Eligible Virtual Deadline First (EEVDF) focuses onreal-time tasks and is also classified as a proportional sharereal-time algorithm [45]. SMART [46] dynamically inte-grates a real-time scheduler and a conventional schedulerdepending upon priorities and admission control. Resourcereservations and precomputed scheduling graphs are usedfor scheduling real-time applications in the Rialto operating

system [47]. BERT effectively schedules multimedia andbest-effort jobs, but its implementation depends on a pre-diction mechanism that is tied to the scout operating system[48].For traditional non-real-time resource allocation algo-rithms, the studies are focused on FCFS, SJF and PRIORITY[49]. The Parallel Depth First (PDF) approaches have beenproposed for cache sharing as well as for Work Stealing (WS)[50].

The resource allocation in cloud computing systems tendsto include the determination of resources requirements, thesetting of interrupt cycle and the selection of diversity sched-uling algorithms. The mainstream allocation algorithms areas follows: (1) BVT algorithm [51]: BVT set a weight toeach of the domains in systems to allocate the time slicesof CPUs in their proportion, and it is applied to the occasion

123

Page 21: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 97

oriented real-time demand. (2) SEDF algorithm [52]: SEDFalso allocates the time slices of CPUs in their proportion, buta domain cannot occupy all CPUs resources in a time and wecan reserve a part of them for the services in other domains,and it is applied to the occasion with the demand of real time.(3) Credit algorithm [53]: Credit, designed for SMP hosts, isused as the resource scheduling algorithm in Amazon EC2,etc. In Credit algorithm, each CPU manages a local queue ofVCPUs.

In this section, CloudSim is used as the experimental plat-form to compare the performance of our resource allocationalgorithm RMA with above-related algorithms: Credit, SEDFand BVT. CloudSim, developed by The Gridbus Project at theUniversity of Melbourne, provide a generalized and extensi-ble simulation framework that enables modeling, simulationand experimentation of emerging virtualized infrastructuresand application services, allowing users to focus on specificsystem design that they want to investigate, without gettingconcerned about the low level details related to cloud-basedinfrastructures and services. We install CloudSim2.1.1 tool-kit in a PC host of one Intel Xeon 3.40GHz processor withtwo cores , 2GB MEMORY and 160GB SCSI hard disk. Theprocessor brings a 16KB cache and 1024KB secondary cache.The operation system installed in this machine is WindowsServer 2003. CloudSim toolkit requires a Java developmentKit (JDK). We install jdk1.6.0 in Windows Server 2003 andset the environment path for CloudSim2.1.1.

Before the experiments are performed in CloudSim, wefirstly make a CloudSim toolkit2.1.1 extension. The bestscheduling algorithms implemented in cloud computing sys-tems are Credit, SEDF and BVT. We create these algorithmsand RMA in the open-source of CloudSim. In the implementa-tion of these algorithms, a new class Cloudet_task extendedfrom Cloudlet of CloudSim is designed, which is taken asresource users. The class DatacenterBroker in CloudSimdoes the resource scheduling. Besides to them, a new classStatistics with the function execute () is designed to record thetime expenditure, resource utilization, and resource waitingcycle, and resources satisfaction of algorithms in CloudSim.The input data of algorithms are produced by algorithm 4.We set percent=0.1 in RMA, as it has the best performancein above RRA experiment. After all these algorithms run forfive times, we sum their average values and show them inFig. 13.

Figure 13a shows the comparison of four algorithms incompletion time, which reflects the general performance ofthese four algorithms. It is seen from Fig. 13a that the com-pletion time is 26,406, 38,319, 50,465 and 32,775 ms, respec-tively, after resources are allocated to 2,000 resource users.Because of the shortest completion time, RMA algorithm hasthe best performance of four algorithms, and the next one isCredit algorithm used widely by cloud computing systemsbased on Xen, such as Amazon EC2. BVT and SEDF algo-rithms have the worse performance of all, as they tress on

(a) The completion time comparison (b) Resource satisfaction comparison

(c) Resource utilization comparison (d) Resource waiting cycle comparison

0

10000

20000

30000

40000

50000

60000

RMABVTSEDFCredit

milliseconds

The quantity of resource users

0

0.2

0.4

0.6

0.8

1

RMA BVT

SEDF Credit

The quantity of resource users

rs

0.75

0.8

0.85

0.9

0.95

1

RMA BVT SEDF Credit

ru

The quantity of resource users

0.95

1

1.05

1.1

1.15

1.2

200 400 600 800 1000 1200 1400 1600 1800 2000

RMA BVT SEDF Credit

rwc

The quantity of resource users200 400 600 800 1000 1200 1400 1600 1800 2000

200 400 600 800 1000 1200 1400 1600 1800 2000 200 400 600 800 1000 1200 1400 1600 1800 2000

Fig. 13 The experimental results of four algorithms in CloudSim

123

Page 22: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

98 SOCA (2013) 7:77–100

real-time and neglect the systematic plan. It is seen fromFig. 13a that with the increase in resource users, the com-pletion time presents the trends of increase with paraboliccurve. Figure 13b shows that the comparison of four algo-rithms in resource satisfaction. It is seen from Fig. 13b thatresource satisfaction fluctuates in a certain small-scale scopefrom 200 to 2,000 resources users (the centerlines of fluctua-tion are, respectively, 0.93, 0.78, 0.70 and 0.87). RMA algo-rithm has the highest resource satisfaction, and the next one isCredit, BVT and SEDF. Figure 13c shows the comparison offour algorithms in resource utilization. Based on the definedapproach of resource utilization in this paper, resource uti-lization also fluctuates in a certain small-scale scope from200 to 2000 resources users (the centerlines of fluctuationare, respectively, 0.97, 0.88, 0.85, and 0.92). RMA algorithmhas the highest resource utilization 0.978, and the next oneis Credit (0.939). BVT and SEDF algorithms have the low-est resource utilization (0.896 and 0.865). Figure 13d showsthe comparison of resource waiting cycle. The resource wait-ing cycles are still fluctuating in a certain small-scale scopefor four algorithms(the centerlines of fluctuation are, respec-tively, 1.04,1.11,1.17,1.07 and 1.13), where SEDF has thelongest resource waiting cycle, but RMA has the shortest one.Four subfigures in Fig. 13 conclude that RMA algorithm hasgreat advantages in the time expenditure, resource utiliza-tion, and resource waiting cycle, and resources satisfaction,so it is better than Credit, SEDF and BVT in cloud computingsystems.

5.5 The discussion

Present resource allocation studies have provided the favor-able platforms and structures for the rational use of resources.The more attentions are paid to rational planning of phys-ical resource, and they attach less importance to resourceabstraction. Our research is very different from that: theresource virtualization model is created to integrate differ-ent kinds of heterogeneous resources to appraisal the capa-bility of resources conveniently by constructing logic viewof resources centered on resource requirements, which laysout a solid foundation for the allocation of resources in on-demand utilization.

Besides to that, the SLA tends to be well negotiatedbetween providers and customers before system execution,and the SLA specifies items about the performance provided.Customers are required to well estimate the demand of theirapplications for providers and make a capacity planning priorfor application deployment. Our research is different fromPoisson distribution base on SLA and QoS, because we donot assume the time distribution. We assume that the size oflogic resources granularities follows the normal distributionin long term, and then, the mean and fluctuation range ofresources granularities are computed by statistics law. Our

assumption is more consistent with cloud computing sys-tems.

Thirdly, static resource allocation algorithms listed inrelated work assume that resource requirements and amountsare determined in advance. In the determination of resourcerequirements and resource amounts, static resource alloca-tion algorithms can carry out overall planning to improve theperformance of application and resource utilization, but it isimpossible that the resource requirements are determined inadvance. Therefore, those algorithms are not very fit for cloudcomputing systems. Our research is also different from thedynamic resource allocations which propose that the quan-tity of resources is determined and allocated after require-ments have arrived. We assume that the resource require-ment satisfies a distribution law. The logic resources requiredto allocate are predesignated in virtual computing resourcepool. When a resource requirement arrives, the resourcesneeded are matched to determine its quantity used quickly.We adopt the combination policy for physical resources andmake logic resources allocation on the basis of the combina-tion. The reasons that we do not use the after-arriving alloca-tion for requirements are as follows: (1) The performance is amainly considered problem, because the system might spenda lot of consumption for each requirement after they arrive.(2) The change law of resource users cannot be determined,so the local combination policy would lead to the great costin this time and produces much more resource fragments.The resource refusal rate increases and the overall resourcesallocation efficiency is less than that with our methodology. Itis concluded that our methodology can avoid the emergencyof the coexistence phenomenon with the waste of resourcesand resource non-matching.

6 Conclusions

Resource virtualization for on-demand allocation in cloudcomputing systems is studied in this paper. We define thephysical view of resources and construct the logic view ofresources by the mapping from physical resources to logicresources. The methodology of constructing logic view ofresources is the combination of atomic physical resources.We propose a heuristic resource combination algorithm(HRCA) which satisfies two demands: the randomness ofresource requirements and the control range of resourcesgranularities fluctuation. A serial of appraisal indexes includ-ing resource fragment, resource utilization, resource refusalrate, resource average waiting cycle and resource satisfactionfor virtualized resource on-demand allocation are presented.We design a resource matching algorithm (RMA) which tar-gets at the resource refusal rate, resource average waitingcycle and resource utilization in the condition that logicresources size are less than the required size. The experiments

123

Page 23: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

SOCA (2013) 7:77–100 99

show that RMA can satisfy users’ requirements in limitedtime and keep the resource satisfaction in the highest level.Resource reconfiguration algorithm (RRA) which targets atthe resource satisfaction is put forward to complete the itera-tions with the difference in maximum and minimum resourcegranularities. The experiments show that RRA can obtain thebest policy of resource reconfiguration, the lowest resourcerefusal rate and the greatest resource satisfaction. Finally,we have verified the effectiveness of four algorithms’ per-formance and accuracy in achieving the goal of resourcevirtualization centered on resource users and on-demandallocation. The results show that HRCA, RMA and RRA haveless overhead in cloud computing systems than Credit, BVTand SEDF.

This research aims at the infrastructure mainly provid-ing computing services in cloud computing systems, whichstress the balance of all kinds of resources, and it is verydifferent from the infrastructure providing storage servicesin three hypotheses presented in the paper. Our future work isto study infrastructure mainly providing storage services andthe application of the algorithms to cloud computing systems.Furthermore, the dynamic resource reconfiguration problemwill be deeply studied to improve their performances andpracticalities.

Acknowledgments We thank the State 863 projects of China (No.2007AA010305) and the excellent doctor degree dissertation fundof Xi’an University of technology (No.102-211007) to support thisresearch.

References

1. Hai J, Xiaofei L (2008) Virtualization technology for computingsystem (in Chinese). China Basic Sci 10(6):12–18

2. Barham P, Dragovic B, Fraser K et al (2003) Xen and the Art ofVirtualization. In: Proceedings of 19 ACM symposium operatingsystems principles. ACM Press, pp 164–177

3. Fraser Keir A, Hand Steven M, Leslie Ian M et al (2003) The Xenserver computing infrastructure. Technical Report UCAM-CL-TR-552. University of Cambridge, pp 31–41

4. Nelson M, Lim B-H, Hutchins G (2005) Fast transparent migrationfor virtual machines. In: Proceedings of USENIX’05 (USENIX2005), pp 67–74

5. Waldspurger Arl A (2002) Memory resource management inVMware ESX server. In: The symposium on operating systemsdesign and implementation, pp 181–194

6. Sotomayor B, Keahey K, Foster I (2006) Overhead matters: a modelfor virtual resource management. In: First international workshopon virtualization technology in distributed computing, pp 5–8

7. Huang Y-F, Chao B-W (2001) A priority-based resource allo-cation strategy in distributed computing networks. J Syst Softw58(3):221–233

8. Andrzejak A, Ceyran M (2005) Characterizing and predictingresource demand by periodicity mining. J Netw Syst Manag13(2):175–196

9. Xiaoying W, Zhihui D, Chen Y et al (2008) Virtualization-basedautonomic resource management for multi-tier Web applicationsin shared data center. J Syst Softw 81(9):1591–1608

10. Stillwell M, Schanzenbach D, Vivien F et al (2010) Resourceallocation algorithms for virtualized service hosting platforms.J Parallel Distrib Comput (Article in Press)

11. Yuan D, Yang Y, Liu X, Chen J (2010) A data placement strategyin scientific cloud workflows. Future Gener Comput Syst (in Press)

12. Grit L, Irwin Aydan Y el al (2006) Virtual Machine hosting for net-worked clusters: building the foundations for autonomic orchestra-tion. In: First international workshop on virtualization technologyin distributed computing, pp 55–62

13. Foster I, Zhao Y, Raicu I, Lu S (2008) Cloud computing and gridcomputing 360-degree compared. In: Proceedings of grid comput-ing environments workshop, pp 1–10

14. Cherkasova L, Gardner R (2005) Measuring CPU overhead forI/O processing in the Xen virtual machine monitor. USENIX 2005annual technical conference. Anaheim, CA, pp 12–24

15. Menon A, Renato Santos J et al (2005) Diagnosing perfor-mance overheads in the xen virtual machine environment, VEE’05,Chicago

16. Vrable M, Justin M, Chen J et al (2005) Scalability, fidelity, andcontainment in the potemkin virtual honeyfarm. ACM SIGOPSOper Syst Rev 39(5):62–65

17. Barham P, Dragovic B, Fraser K et al (2003) Xen and the art ofvirtualization. In: Proceedings of the ACM symposium on operat-ing systems principles, Bolton, pp 164–167

18. Li Q, Huai J, Li J et al (2008) HyperMIP: hypervisor controlledmobile IP for virtual machine live migration across networks.In: Proceedings of high assurance systems engineering symposium,pp 3–5

19. Whitaker A, Shaw M et al (2002) Scale and performance in theDenali isolation kernel. In: Proceedings of the 5th symposiumon operating systems design and implementation, Boston, MA,pp 195–209

20. Wiegert J, Regnier G, Jackson (2007) Challenges for scalable net-working in a virtualized server. In: Proceedings of 16th inter-national conference on computer communications and networks,pp 13–16

21. Van HN, Tran FD, Menaud JM (2009) Autonomic virtual resourcemanagement for service hosting platforms. In: Proceedings of soft-ware engineering challenges of cloud computing, pp 23–33

22. Edward W (2008) Benchmarking Amazon EC2 for high-perfor-mance scientific computing. http://www.usenix.org/publications/login/2008-10/benchmark_results.tgz

23. Gmach D, Roliaa J, Cherkasova L et al (2009) Resource pool man-agement: reactive versus proactive or let’s be friends. Comput Netw53(17):2905–2922

24. Mukherjeea T, Banerjeea A et al (2009) Spatio-temporal ther-mal-aware job scheduling to minimize energy consumption invirtualized heterogeneous data centers. Comput Netw 53(17):2888–2904

25. Garga Saurabh K, Yeo Chee S et al (2010) Environment-consciousscheduling of HPC applications on distributed Cloud-oriented datacenters. J Parallel Distrib Comput (in press)

26. Kanta K (2009) Data center evolution-A tutorial on state of the art,issues, and challenges. Comput Netw 53(17):2939–2965

27. Begnum K (2010) Simplified cloud-oriented virtual machine man-agement with MLN. J Supercomput 0920-8542 (in press)

28. Murphy Michael A, Abraham L, Fenn M et al (2010) Autonomicclouds on the grid. J Grid Comput 8(1):1–18

29. Zou D, Du S, Zheng W, Jin H (2009) Building automatedtrust negotiation architecture in virtual computing environment.J Supercomput, 0920-8542

30. Kumar S, Talwar V, Kumar V et al (2010) Loosely coupled coor-dinated management in virtualized data centers. Clust Comput,pp 1386–7857

31. Zhao M, Zhang J, Figueiredo Renato J (2006) Distributed filesystem virtualization techniques supporting on-demand virtual

123

Page 24: Resource virtualization methodology for on-demand ...home.ufam.edu.br/hiramaral/04_SIAPE_FINAL_2016/SIAPE_Bibliotec… · Xen virtualization in underlying architecture, provides the

100 SOCA (2013) 7:77–100

machine environments for grid computing. Clust Comput 9(1):45–56

32. Zhao M, Zhang J, Figueiredo R (2004) Distributed file system sup-port for virtual machines in grid computing. In: Proceedings of the13th IEEE international symposium on HPDC, pp 202–211

33. Luis R-M, Vaqueroa Luis M, Gilb V et al (2010) From infrastruc-ture delivery to service management in clouds. Future Gener Com-put Syst (Article in Press)

34. Bicocchi N, Mameia M, Zambonellia F (2010) Handling dynamicsin diffusive aggregation schemes: an evaporative approach. FutureGener Comput Syst 26(6):877–889

35. Rosenthala A, Mork P, Lia Maya H et al (2010) Cloud comput-ing: a new business paradigm for biomedical information sharing.J Biomed Inform 43(2):342–353

36. Buyya R, Shin Yeo C, Venugopal S et al (2009) Cloud computingand emerging IT platforms: vision, hype, and reality fordeliveringcomputing as the 5th utility. Future Gener Comput Syst 25(6):599–616

37. Truong H-L, Dustdara S (2010) Composable cost estimation andmonitoring for computational applications in cloud computingenvironments. Procedia Comput Sci 1(1):2169–2178

38. Grossman Robert L, Yunhong G, Sabala M (2009) Compute andstorage clouds using wide area high performance networks. FutureGener Comput Syst 25(1):179–183

39. Song F (2010) Failure-aware resource management for high-avail-ability computing clusters with distributed virtual machines.J Parallel Distrib Comput Arch 70(4):384–393

40. Alonso-Calvoa R, Cespoa J, Garc’ia-Remesala M et al(2010) On distributing load in cloud computing: a real appli-cation for very-great image datasets. Proc Comput Sci 1(1):2663–2671

41. Richarda B, Maillardb N, César AF et al (2005) The I-clustercloud: distributed management of idle resources for intense com-puting. Parallel Comput 31(8–9):813–838

42. Khargharia B, Hariri S, Yousif MS (2008) Autonomic power andperformance management for computing systems. Clust Comput11(2):167–181

43. Miljani Z, Spasojevi P (2008) Resource Virtualization with Pro-grammable Radio Processing Platform. In: Proceedings of the 4thannual international conference on wireless internet. Maui, Hawaii,pp 6–11

44. Xu J, Zhao M, Fortes J et al (2008) Autonomic resource man-agement in virtualized data centers using fuzzy logic-basedapproaches. Clust Comput 11(3):213–227

45. Lehoczky J, Sha L, Ding Y (1989) The rate monotonic schedulingalgorithm: exact characteristics and average case behavior. In: Pro-ceedings of the IEEE real-time systems symposium, pp 166–171

46. Nieh J, Lam M (1997) The design, implementation, and evaluationof smart: a scheduler for multimedia applications. In: Proceed-ings of the sixtheenth symposium on operating system principles.St. Malo, pp 184–197

47. Jones MB, Rosu D, Rosu M-C (1997) CPU reservations and timeconstraints: efficient, predictable scheduling of independent activi-ties. In: Proceedings of the sixteenth symposium on operating sys-tem principles, St. Malo, pp 198–211

48. Bavier A, Peterson LL, Moseberger D (2008) BERT: a schedulerfor best effort and realtime tasks. Technical Report, Department ofComputer Science, Princeton University

49. Shi L, Sun Y, Wei L (2007) Effect of scheduling discipline on CPU-MEM load sharing system. Sixth international conference on gridand cooperative computing, Xinjiang, pp 242–249

50. Rawat Sandeep S (2009) Experiments with CPU scheduling algo-rithm on a computational grid, 2009. In: IEEE internationaladvance computing conference (IACC 2009), Patiala, pp 71–75

51. Duda KJ, Cheriton DR (1999) Borrowed-virtual-time(BVT) sched-uling: supporting latency-sensitive threads in a general-purposescheduler. In: Proceedings of the 17th ACM SOSP, pp 454–459

52. Song F, Cheng-Zhong X (2006) Stochastic modeling and analysisof hybrid mobility in reconfigurable distributed virtual machines.J Parallel Distrib Comput 66(11):1442–1454

53. Gupta D, Cherkasova L, Gardner R et al (2006) Enforcing perfor-mance isolation across virtual machines in Xen. In: Proceedings ofthe 7th international middleware conference, Melbourne, pp 342–362

123