Decentralized resource allocation is a key prob lem for large-scale autonomic (or self-managing) computing systems. Motivated by a data center scenario, we explore efficient techniques for re solving resource conflicts via cooperative nego tiation. Rather than computing in advance the functional dependence of each element's utility upon the amount of resource it receives, which could be prohibitively expensive, each element's utility is elicited incrementally. Such incremen tal utility elicitation strategies require the evalu ation of only a small set of sampled utility func tion points, yet they find near-optimal allocations with respect to a minimax regret criterion. We describe preliminary computational experiments that illustrate the benefit of our approach. The long-term goal of autonomic computing is to develop systems that can manage themselves with little or no human intervention [7] . Such systems must possess the ability to configure themselves, monitor performance and adapt to changing circumstances, self-optimize, and diagnose and repair problems. In large, distributed computing systems, such autonomy will generally require the continuous allo cation and re-allocation of resources (e.g., compute cycles or storage) to distinct computing elements. As we elaborate below, the reasoning required to support optimal resource allocation is necessarily distributed, thus requiring some form of cooperative negotiation among the computing el ements that have conflicting needs for critical resources. To motivate our approach, we consider the task of an au tomated resource manager, or provisioner, allocating re sources to various workload managers (WMs). Each WM, given a specifi c allocation of resources, must decide how best to use those resources to service various client con tracts. As a result, the utility of a specifi c allocation level to a WM often depends on the solution of a complex op timization problem. The provisioner's task is to allocate resources to the WMs in a way that total (organizational) utility is maximized. However, since the individual WM utility functions are complex and have no closed form generally, even the computation of a single utility point in the WM function is complex and very expensive-it is in feasible to communicate entire utility functions directly to the provisioner. We develop a model for distributed, cooperative negotia tion in which the provisioner interacts with WMs through a form of incremental utility elicitation. In our model, the provisioner asks WMs for samples of their utility function at certain critical allocation levels. We describe techniques by which the provisioner can allocate resources based on this partial utility information. Because distributional in formation over utility functions is hard to obtain, we use a distribution-free model, maximum regret, to measure the quality of such an allocation. We describe computational methods for computing max regret, as well as methods for computing (and approximating) allocations with minimal max (minimax) regret. We also describe several elicitation methods that are guaranteed to offer improvement in deci sion quality in the worst case, and that, in practice, improve worst-case decision quality very quickly. The remainder of the paper is organized as follows. In Section 2 we describe the resource allocation problem for a data center with multiple WMs, using this to motivate the more general model that follows. We argue that this problem should viewed as a form of cooperative negoti ation, and solved using incremental utility elicitation, in Section 3. In Section 4, we formalize our model, and present exact and approximate algorithms to compute allo cations with minimax regret given a set of partially known WM utility functions. In Section 5, we describe incremen tal elicitation strategies designed to reduce minimax regret, and present results demonstrating the effectiveness of these strategies in Section 6 using the data center model. We conclude in Section 7 with a discussion of future research directions.
Rather, the motivation of REF is to find near-optimal allocations of resources to distinct computing elements in large, distributed computing systems.
Cooperative Negotiation in Autonomic Systems using Incremental Utility Elicitation
ArXiv
ArXiv
Mathematics Computer Science