Theoretical Computer Science - Special issue on dynamic and on-line algorithms
SIAM Journal on Computing
How Useful Is Old Information?
IEEE Transactions on Parallel and Distributed Systems
An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster
IEEE Transactions on Parallel and Distributed Systems
The Power of Two Choices in Randomized Load Balancing
IEEE Transactions on Parallel and Distributed Systems
Diffusive Load-Balancing Policies for Dynamic Applications
IEEE Concurrency
Improved Strategies for Dynamic Load Balancing
IEEE Concurrency
Methodical Analysis of Adaptive Load Sharing Algorithms
IEEE Transactions on Parallel and Distributed Systems
FOCS '02 Proceedings of the 43rd Symposium on Foundations of Computer Science
IEEE Transactions on Parallel and Distributed Systems
SPAND: shared passive network performance discovery
USITS'97 Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems
On fully distributed adaptive load balancing
DSOM'07 Proceedings of the Distributed systems: operations and management 18th IFIP/IEEE international conference on Managing virtualization of networks and services
Cost aware adaptive load sharing
IWSOS'07 Proceedings of the Second international conference on Self-Organizing Systems
Distributed oblivious load balancing using prioritized job replication
Proceedings of the 8th International Conference on Network and Service Management
Hi-index | 0.07 |
Monitoring is an essential part of any self-adaptive management loop. While providing the necessary information for making management decisions, monitoring itself incurs a cost in terms of the system and network resources committed to this management task. Thus, one can pose a generic question: what is the right amount of monitoring that maximizes its utility for management? This question turns out to be difficult to answer in general. In this paper we focus on quantifying the utility of monitoring for self-adaptive load sharing, where a stream of jobs arrives at a collection of n identical servers. We propose a novel model, that we dubbed an Extended Supermarket Model (ESM) to study the tradeoff between the usefulness of the monitoring information and the cost of obtaining it. We show that for each service request rate, there exists an optimal number of servers that should be monitored to obtain minimal average service time at an optimal cost. Using these findings, we present self-adaptive load-sharing algorithms both for centralized and fully distributed settings and evaluate these algorithms using simulations and a real testbed. Our results show that in realistic scenarios, where monitoring cost is not negligible, the self-adaptive load balancing is clearly superior to any cost-oblivious load-sharing mechanisms. We also demonstrate that in a fully distributed setting, where no dedicated monitoring component is employed, our self-adaptive heuristics perform very well with respect to the current common practice.