Skip to Main Content
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.