Heuristics Considered Harmful or Using Mathematical Optimization for Resource Management in Distributed Systems
Distributed systems often pose difficult to resolve resource management problems. These problems typically involve the partitioning of a critical resource, such as bandwidth, storage, or computational elements, between competing tasks. Traditionally, such problems are resolved using custom, domain-specific heuristics. Yet heuristics are neither robust to uctuations in load characteristics nor do they enable the system designer to reason definitively about the emergent properties of the system after deployment. In this paper, we argue for a more principled approach to resource management in distributed systems. Namely, we propose that resource allocation problems are ideally suited for mathematical optimization. We outline a gen- eral approach based on analytical modeling, optimization, and practical implementation. We describe how we have applied this technique to several diverse domains, to yield qualitative improvements in performance and achieve strong guarantees.