Sie sind auf Seite 1von 5

Presence-aware Optimum Resource Allocation for Virtual Collaboration Web 3.

0 Environments
Department

Michael G. Kallitsis , Robert D. Callaway , Michael Devetsikiotis and George Michailidis


IBM

of Electrical and Computer Engineering, NC State University, Raleigh, North Carolina 27695 Datapower SOA Appliances, IBM, Research Triangle Park, North Carolina 27709 Department of Statistics, University of Michigan, Ann Arbor, Michigan 48109 kallitsis@ncsu.edu, rcallawa@us.ibm.com, mdevets@ncsu.edu, gmichail@umich.edu

AbstractIn this paper, we present a system that optimally and dynamically allocates the available computing resources to virtual machines that support virtual collaboration environments. Such environments are emerging fast via on-line social networks, virtual worlds, and the Web 3.0 or collaborative Web paradigm. We use a utility-based framework to differentiate the applications hosted by the virtual machines based on both their relative protability and their social distance information. We dene social distance as the importance of social interaction between the participants of a virtual environment that utilize a particular application and this interaction is a function of their presence status. Presence is affected by the physical distance, the underlying network and the social or business relationship of the participants. We use graph theory tools to represent users connectivity and extract the social distance information. Our optimization model involves a variation of the 2D Knapsack problem and a nonlinear programming one.

I. I NTRODUCTION Combined advances in high speed networking, application sharing, virtual world technologies and large scale event processing are converging to create a new world of ubiquitous presence of users, which offers tremendous potential for social interaction. The communication networking and computing requirements of this converged human-centric environment are also increasing at an accelerated pace. In this new environment, it is imperative that the much-needed networking and computing resources align closely with the needs and patterns dictated by the applications, social networks, and indeed, by the upper-most human layer. It is believed that the success of such socio-technical systems will hinge on the way they capture and interact with human presence and location, in all of its physical and virtual aspects. We anticipate a cloud computing trend of hosting multiple virtual machines responsible for several Online Social Networks (OSN), as well as virtual worlds for education or business collaboration purposes. We elaborate more using the example of a popular virtual world platform, the Qwaq Forums. The suggested system architecture presents the Qwaq server [3] hosted on a virtual machine which can be hosted on a cloud (e.g., Amazon EC2 [1]). The cloud can support several virtual machines that correspond to different virtual worlds (i.e., Qwaq virtual rooms). Figure 1 shows a typical scenario: a cloud is responsible for three different virtual rooms of NCSU that serve different purposes and are visited by different groups of people. Since resources are scarce, we need to answer

Fig. 1.

Running multiple virtual worlds in the same cloud.

questions like which virtual machine to place for execution and how to allocate the excess resources to those virtual machines. Other educational worlds that can share resources of a cloud include the Second Classroom [4] world in Second Life, and the Virtual Northstar project [2] based on Suns Wonderland. In order to move towards presence-aware networks and applications, we formulate and quantify key measures of sociotechnical presence and distance and their necessary interplay with the control of the computing infrastructure. We introduce the metric of social distance that represents the social interaction between the participants of a virtual environment that utilize a particular application. We build a utility-based framework that considers the social distance and the price of each application, and optimally allocates the available computing resources. Social distance is a function of the presence status of each user; presence is inuenced by the physical distance (captured as round trip delay in our model), the underlying network and the business distance of the participants. As an example, consider the scenario in Figure 2. Assume that A is the supervisor of B, they are communicating from somewhere in the same city and they reside on a high-speed optical network. On the other hand, C is just a regular colleague of D, they have an interstate communication and D is connected via a wireless network. Therefore, the business relationship of the

978-1-4244-5626-0/09/$26.00 2009 IEEE

Fig. 2. Allocation of resources based on our social distance awareness model.

end QoS constraints and distributed optimization algorithms are proposed. Resource allocation for virtual world environments is considered in [6], [12]. In [6], the authors propose the introduction of users computers to support the computational demands as the virtual worlds population rises. In [12], an economic based resource allocation is approached, in which surplus resources can be exchanged between collaborative peer-topeer environments. Optimization techniques for enhancing the quality of experience in a virtual environment are addressed in [5], [11]. The organization of the paper is as follows: in Section II, we start by describing construction and use of the connectivity graph that yields the required social distance information. In Section III, we discuss our optimization problem formulation and in Section IV we present a case-study and some numerical results. Finally, we conclude and discuss some future work in Section V. II. S OCIAL DISTANCE AND THE CONNECTIVITY GRAPH

rst couple is stronger, their round trip delay is smaller and their network connection faster. Hence, their social interaction is higher than the one of the other couple and this implies a smaller social distance (see denition in Section II). Based on our optimization framework, the application that users A and B are working with would be assigned more resources than the one of users C and D because their social distance is smaller. The aforementioned framework is realized by our measurement based optimal resource allocation (MBORA) system, which is responsible for utilizing the information collected from the social environment and allocating the available resources. The employed system is comprised of three components: (i) the measurement module, (ii) the optimization module and (iii) the resource orchestrator module. The modules interact amongst themselves in the following way: the measurement module gathers information about the social environment (see Section II). The optimization module receives this information and calculates the optimal allocation of resources by solving various optimization problems discussed in Section III. Finally, the calculated optimal solution is fed to the resource orchestrator. The concept of MBORA has been introduced in our earlier work [7], where we studied the optimization issues of network elements in service oriented networks (SON) and suggested a distributed algorithm for optimal allocation of network resources in directed acyclic network topologies. In the current work, MBORA represents a hypervisor that manages the computing resources (CPU, memory) of virtual machines. Related work on resource management and qualityof-service (QoS) regarding virtual machines can be found in [10]. Optimization problems similar to the ones we study in this work appear in [8], [9]. In [8], the authors study algorithms for dynamic placement of Web applications that maximize the satised demand by solving a variant of the Class Constrained Multiple-Knapsack Problem. In [9], another Knapsack-type problem arises involving services composition under end-to-

We describe next a framework that extends the more traditional network utility maximization to include presence and distance-awareness in virtual collaboration environments (VCEs) and similar social settings and goes beyond our previous work on SONs. In this context, the presence aware connectivity graph from which the users social distance information will be obtained plays a crucial role. Let G = (V, E) denote a weighted graph with node and edge set V and E, respectively, where the nodes correspond to the users (e.g., users i, j) and the edges to their connectivity in social space (see Figure 3(a)). The edge weights, wij > 0, are calculated so as to reect the following factors: application used, bandwidth capabilities, physical and business/interpersonal distance. We elaborate next on these factors: (i) Application factor: vertices of users accessing the same application (or, more generally, the same virtual space) are connected; i.e. eij E. (ii) Bandwidth availability of each user: the faster the network connection of a participating user, the larger the allocation they should get. Assuming that user-i has a connection of Ci Mbps and user-j one of Cj Mbps, then the corresponding edge weight should be proportional to the minimum of those values, i.e.: wij min1 (Ci , Cj ). The intuition is that it is pointless to allocate large amounts of resources to connections with poor bandwidth capabilities. (iii) Round trip delay (imitates real world distance), i.e.: wij dij . The reasoning is that we do not want to allocate more than the absolutely necessary resources to a session of users that are far apart, since such connections usually experience larger endto-end delays (e.g., propagation, queueing delays) and thus MBORA should prefer to allocate more resources to users that are closer to each other. (iv) Business/interpersonal distance: we want the social distance to be smaller when we deal with an employee-manager communication, rather than an employee1 employee communication, i.e., wij rij where rij takes discrete values that represent the relationship between useri and user-j. For example, rij {, , } with < <

to accomplish. An out-of-control signal is generated at time slot n when i (n) > U CL or i (n) < LCL. At that moment, an update of distance information will be pushed to MBORA.
i w ij j
(a) The connectivity graph used to represent each virtual world. Note that the graph should be complete; for visual brevity, here it is not. Fig. 3. (b) Passing the presence information of the graph. The database pushes information to MBORA only when social distance changes.

III. O PTIMUM A LLOCATION OF M ULTIPLE R ESOURCES In principle, multiple computing and communication resources might have to be allocated, including CPU cycles and memory to the virtual machines (VM) running the required applications (or, more generally, the virtual machine that hosts the virtual environment that users belong to). Our proposed optimization framework consists of the following two components: (i) A variation of the 2D Knapsack optimization problem that decides which VMs would be placed for execution according to the available resources and their pricing parameters, (ii) a nonlinear programming problem that allocates the excess resources to the VMs placed for execution. We discuss next the rst problem. We are given a set of virtual machines, K, with each machine possessing amount of memory and amount of CPU power available. With 0 each virtual machine, we associate its demand values, k 0 and k , which correspond to the machines memory and CPU requirements, respectively. With each virtual machine we also relate its social pricing parameter, pk , which is a function of the applications price, k (either a real price or just a priority indication), and the social distance, dk . In summary, we have S pk = pk (k , dk ) = k /dk . S S The placement problem is to nd a vector I, where Ik is 1 if the virtual machine is running on that host and 0 otherwise, such that (a) allocation requirements are met, (b) capacity limits are observed and (c) the social prot is maximized. The problem can be formally stated as follows:

Connectivity graph and data mining.

should depict someones relationship with an unknown person, a friend and her/his manager correspondingly. Given the above factors, the proposed edge weights are given by wij = dij + L/ min(Ci , Cj ) rij (1)

where is a normalization constant and L is the size of a dummy package. Other parameters (like the in-world population or in-world distance) and other formulas for the edge weights could also be considered and this constitutes ongoing research. The social distance between two nodes in the social networking environment S is dS (i, j) = wij . This holds only in the case of two users collaborating in the same application. In a multi-user, multi-application scenario we can use the diameter of the graph, dened as the average shortest distance between two vertices. Alternative metrics (e.g., clustering coefcient or network ow) could also be used, if appropriate. Given a database that contains the user connectivity patterns, the MBORA system needs to acquire that information through a publisher-subscriber model (Figure 3(b)). We propose to use a push model, so that MBORA will not have to update the database. Since the distances amongst users would change fairly frequently, the database needs to monitor them and push updated information to MBORA only when signicant changes occur, so as to avoid excessive updates. We propose to use exponential weighted moving average (EWMA) control charts for this monitoring purpose. Such charts have proved useful in previous work [7] for monitoring signicant changes in trafc parameters. Suppose that time is divided into sequential intervals (tn , tn+1 ), n = 0, 1, 2, . . . of duration . The sampling module has to sample distance information every interval in order to obtain the sequence of distance variations {i (1), i (2), . . .}. The EWMA statistic is i (n + 1) = i (n) + (1 )i (n), where i (n + 1) is the one-step-ahead predictor of i (n + 1) and 0 < 1 represents the weight that the most recent estimation is assigned. The lower/upper control limits are given as LCL/U CL = i ci 2 where parameter c > 0 is a tuning variable that combined also with parameter can set the sensitivity level that the provider needs

max
k

Ik pk subject to
0 Ik k , Ik binary, k k

(2)

0 Ik k and k

This is an integer programming problem and the solution can be found using branch and bound type algorithms. Once we have placed the subset of virtual machines on the host system, we can solve a nonlinear optimization problem, so as to optimally allocate the excess resources of memory and CPU power to the running virtual machines. Our objective function is chosen to be a logarithmic one due to (a) the concavity property of the function, and (b) our intentions for a proportional fairness allocation scheme [7]. The optimization problem formulation is: max
k

pk log(k ) and max


k

pk log(k ) k ,
k

(3)

subject to
k

k and

0 0 k k , k K and k k , k K

IV. P ERFORMANCE E VALUATION In this section, we present the results of a numerical study for our framework based on a simple case study. The scenario includes three different sets of users. We assume that each member of the set is collaborating on the same application via a virtual world that is hosted by a particular virtual machine. The goal of MBORA is to optimally allocate the resources (CPU, memory) to the three aforementioned virtual machines (K = 3). In our scenario, each set consists of three collaborators that cooperate from various geographic locations and may have different bandwidth capabilities and/or business relationships. We examine MBORAs behavior under diverse: (a) resource demands, (b) social graph characteristics and (c) pricing of the required applications. Our connectivity graphs consist of three different 3-node, complete graphs. In the rst scenario, we assume that the connectivity database contains the information depicted in Table I. These data are needed for calculating the social dik ameter (named as S henceforth) of each graph. For example, regarding application-, the graph weights wij of each edge are equal to wij = 1+1/10 = 2.2 (in this case study we set 5 = 100, L = 1) and the diameter (dened as the average shortest path length (SP) between all nodes of our graph) can SPij be found by S = 2 {i,jV,i=j,i<j} = SP12 +SP13 +SP23 = |V ||V 1| 3 2.2+2.2+2.2 = 2.2. 3 Table II illustrates the optimal allocation as provided by MBORA. From the rst 5 rows we see that resources are allocated to all three virtual machines; this is because the available resources are able to accommodate the minimum requirements of each machine. However, in the last two rows, we see that resources are allocated only to VM- and VM; MBORA could not place all VMs for execution. Note that the choice of VM- and VM- is arbitrary; VM- could have been selected as well due to the fact that the social price pk of all applications is identical. Finally, notice that in all cases, the excess resources are optimally allocated so as to maximize our objective functions (3). In the second scenario, we evaluate our model by changing parameters of the social graph that affect its diameter. Specically, we alter the delay between user-1 and user-2 of application-. Initially, dk = 5, i, j {1, 2, 3}, i = j and ij k {, , }. The remaining parameters are described in the second row of Table I and the computing demands are depicted in Table III. Figure 4 consolidates our results and should be read as follows: the upper-left chart shows the values of delay (and diameter) for our scenario. We ran our optimization algorithm for a sequence of 7 different events. The resource demand for each event is found by inquiring Table III. The remaining three charts depict the optimal allocation that our algorithm would assign to each VM. We observe that as the delay, d , decreases, the diameter of graph- decreases too 12 (upper-left panel). This means that VM- should be allocated more resources. Also, note the different placement of VMs between sequences 6 and 7 of the corresponding plots (upperright and bottom ones). This occurs because the diameter of
8 7 6 5 4 3 2 1 0 Delay/Diameter

Delay d12 CPU/Mem allocation Diameter S

VM allocation 0.5 0.45 0.4 0.35 0.3 CPU 1 Mem 1


* *

3 4 5 6 Sequence #

3 4 5 6 Sequence #

VM allocation CPU/Mem allocation CPU/Mem allocation 0.5 0.45 0.4 0.35 0.3 1 2 3 4 5 6 Sequence # 7 CPU Mem
* 2

VM allocation 0.5 0.45 0.4 0.35 0.3 1 2 3 4 5 6 Sequence # 7 CPU *


3 *

* 2

Mem 3

Fig. 4.

Sensitivity on the delay (physical distance).

graph- becomes larger than the diameter of the other two graphs and, thus, the social price for application- is less than the social price of the competing applications. In other words, VM- gets no resources because the round trip delay has been increased.
TABLE III D EMAND FOR SCENARIOS 2, 3 Sequence # 1 2 3 4 5 6 7
0 0 (1 , 1 ) (0.2, 0.2) (0.2, 0.2) (0.2, 0.2) (0.2, 0.4) (0.4, 0.4) (0.4, 0.4) (0.4, 0.4) 0 0 0 0 (2 , 2 )=(3 , 3 ) (0.2, 0.2) (0.2, 0.2) (0.2, 0.2) (0.2, 0.2) (0.4, 0.4) (0.4, 0.4) (0.4, 0.4)

The last scenario involves changes in the pricing parameter, , of application- which affects social price p and the ideal/optimal allocations are presented in Figure 5. The remaining modeling parameters are depicted in Table I. Notice that because of the inferior bandwidth capacity of user-1 of application- (see last row, Table I), the diameter of graph is larger than the diameter of the combating graphs (i.e., S = 7, S = S = 1). Therefore, the initial social price, p , is lesser (i.e., p = 1/7, p = p = 1). This plays a role in the placement of virtual machines as well as in the allocation of the excess resources. For example, in Figure 5, we perceive how the allocation changes as price gets larger (rst 4 sequences) combined with the fact that S = 7. The reader should also recognise the distinction between cases 6 and 7; VM- gets placed since its social price has surpassed the social price of VM- and VM- due to the considerable increase of the pricing parameter .

TABLE I C ONNECTIVITY GRAPH PARAMETERS FOR APPLICATION -k, k {, , } Delay (distance units) dk = dk = dk = 1 12 23 13 dk = dk = dk = 5 12 23 13 dk = dk = dk = 1 12 23 13 Bandwidth (Mbps) k k k C1 = C2 = C3 = 10 k k k C1 = C2 = C3 = 10 k C1 = 1 else Cj = 10 Business distance
k k k r12 = r23 = r13 = 5 k k k r12 = r23 = r13 = 10 k k k r12 = r23 = r13 = 10

Price k = 1 k = 1 k = 1

Scenario 1 Scenario 2 Scenario 3

TABLE II 0 0 S ENSITIVITY ON RESOURCE DEMAND (i , i )


0 0 (1 , 1 ) 0 0 (2 , 2 ) 0 0 (3 , 3 )

(0.1, (0.2, (0.3, (0.4, (0.4, (0.4, (0.2,

0.1) 0.1) 0.1) 0.1) 0.2) 0.4) 0.4)

(0.1, (0.1, (0.1, (0.2, (0.35, (0.4, (0.2,

0.1) 0.1) 0.1) 0.2) 0.35) 0.4) 0.4)

(0.1, (0.1, (0.1, (0.1, (0.2, (0.4, (0.2,

0.1) 0.2) 0.3) 0.4) 0.4) 0.4) 0.4)

Virtual Machine- (1 , 1 ) (0.33, 0.33) (0.33, 0.33) (0.33, 0.33) (0.4, 0.3) (0.4, 0.25) (0.5, 0.5) (0.5, 0.5)

Virtual Machine- (2 , 2 ) (0.33, 0.33) (0.33, 0.33) (0.33, 0.33) (0.3, 0.3) (0.35, 0.35) (0.5, 0.5) (0.5, 0.5)

Virtual Machine- (3 , 3 ) (0.33, 0.33) (0.33, 0.33) (0.33, 0.33) (0.3, 0.4) (0.25, 0.4) ( -, -) ( -, -)

V. C ONCLUSIONS
1.5 0.8 CPU/Mem allocation Social price 1 0.75 0.5 0.25 0 1 2 3 4 5 6 Sequence # 7 0.6 0.4 0.2 0

VM allocation Social price p=/S 1.25 CPU 1 Mem 1


* *

In this paper, we presented a presence-aware optimization framework that ensures optimal resource allocation of computing resources to virtual machines that host virtual collaboration environments. We introduced the idea of social distance that reects the social proximity of collaborators; smaller social distance implies a higher allocation of resources and vice versa. The premise of this paper is that quantitative modeling and optimization is essential to designing such presenceaware communication systems. Therefore, we model presenceaware networking interactions including the upper, social layers of communication. Such presence-aware cross layering is necessary in order to transform communication networks into integrated socio-technical systems for interaction and collaboration. We expect to see large connectivity graphs, which would make the analysis of the current fully connected graph infeasible. Hence, future work includes the investigation of: (a) sparsication techniques of connectivity graphs that would allow efcient calculation of the social distance in the case of large collaboration groups; (b) more scalable and efcient heuristics for the solution of the placement problem. ACKNOWLEDGMENTS The work of GM is supported by NSF grant DMS-0806094. MK and MD are supported in part by IBM and CACC. R EFERENCES
Amazon Elastic Compute Cloud. http://aws.amazon.com/ec2/. Project Virtual Northstar. http://virtualnorthstar.org/. Qwaq Forums Enterprise Server. http://www.qwaq.com/resources/. Second Classroom, SL. http://secondclassroom.ning.com/. O. Abdul-Hameed, S. Nasir, H. Karim, T. Masterton, and A. Kondoz. Enhancing wireless video transmissions in virtual collaboration environments. Mobile and Wireless Communications Summit., 2007. [6] L. Briceno, H. Siegel, A. Maciejewski, Y. Hong, B. Lock, M. Teli, F. Wedyan, C. Panaccione, and C. Zhang. Resource allocation in a client/server hybrid network for virtual world environments. Parallel and Distributed Processing, IEEE International Symposium on, April 2008. [1] [2] [3] [4] [5]

3 4 5 6 Sequence # CPU 3 Mem 3


* *

VM allocation 0.8 CPU/Mem allocation CPU 0.6 0.4 0.2 0 CPU/Mem allocation
* 2 *

VM allocation 0.8 0.6 0.4 0.2 0

Mem 2

3 4 5 6 Sequence #

3 4 5 6 Sequence #

Fig. 5.

Sensitivity to pricing parameter k of application-.

[7] M. G. Kallitsis, R. D. Callaway, M. Devetsikiotis, and G. Michailidis. Distributed and dynamic resource allocation for delay sensitive network services. Proceedings of 51st Annual IEEE Global Telecommunications Conference (GLOBECOM), November 2008. [8] A. Karve, T. Kimbrel, G. Pacici, M. Spreitzer, M. Steinder, M. Sviridenko, and A. Tantawi. Dynamic placement for clustered web applications. In WWW 06: Proceedings of the 15th international conference on World Wide Web, pages 595604. ACM, 2006. [9] I. Mukhopadhyay and H. Pouyllau. Distributed Optimization Algorithms for X-Domain End-to-End QoS Negotiation. Telecommunications. AICT 08. Fourth Advanced International Conference on, pages 712, 2008. [10] K. J. Nesbit, M. Moreto, F. J. Cazorla, A. Ramirez, M. Valero, and J. E. Smith. Multicore resource management. IEEE Micro, 28(3):616, 2008. [11] N. Peinecke, D. Allerkamp, and F.-E. Wolter. Loading and rendering optimization for networked virtual worlds. Cyberworlds, 2007. CW 07. International Conference on, Oct. 2007. [12] X. Vilajosana, D. L zaro, A. A. Juan, and L. Navarro. Towards a decentralized resource allocation for collaborative peer to peer learning. In CISIS 08: Proc. of the 2008 International Conference on Complex, Intelligent and Software Intensive Systems, pages 501506, 2008.

Das könnte Ihnen auch gefallen