Decentralized and Optimal Control of Shared Resource Pools
Resource pools are collections of computational resources (e.g., servers) which can be used by different applications in a shared way. A crucial aspect in these pools is to allocate resources so as to ensure their proper usage, taking into account workload and specific requirements of each application. An interesting approach, in this context, is to allocate the resources in the best possible way, aiming at optimal resource usage. Workload, however, varies over time, and in turn, resource demands will vary too. To ensure that optimal resource usage is always in place, resource shares should be defined dynamically and over time. It has been claimed that utility functions are the main tool for enabling such self-optimizing behavior. Whereas many solutions with this characteristic have been proposed to date, none of them presents true decentralization within the context of shared pools. In this article, we then propose a decentralized model for optimal resource usage in shared resource pools, providing practical and theoretical evidence of its feasibility.
resource pools algorithms decentralized algorithms decentralized optimization resource management utility maximization