Minimum Cost Maximum Flow Algorithm for Dynamic Resource Allocation in Clouds

Authors: Makhlouf Hadji, Djamal Zeghlache
Venue:  ICCC 2012 (International Conference on Cloud Computing)

This paper presents a cloud resource allocation formulated as a graph, which can be solved optimally by applying a min-cost, max flow algorithm. The exact formulation in previous work suffers from scalability due to its NP-hard formulation. In contrast, MCMF is itself a polynomial algorithm with exact correctness. The real magic of how this works is actually a subtlety which related bin-packing to max-flow. I am not 100% clear on exactly how this problem is reduced from an NP-hard assignment problem to a polynomial, but Google's OR-tools provides a decent high-level description:

"How does the min cost flow problem above represent an assignment problem? First, since the capacity of every arc is 1, the supply of 4 at the source forces each of the four arcs leading into the workers to have a flow of 1.
Next, the flow-in-equals-flow-out condition forces the flow out of each worker to be 1. If possible, the solver would direct that flow across the minimum cost arc leading out of each worker. However, the solver cannot direct the flows from two different workers to a single task. If it did, there would be a combined flow of 2 at that task, which could not be sent across the single arc with capacity 1 from the task to the sink. This means that the solver can only assign a task to a single worker, as required by the assignment problem.
Finally, the flow-in-equals-flow-out condition forces each task to have an outflow of 1, so each task is performed by some worker."

The paper describes how the graph is built and formulated and provides good empirical results.

Comments

Popular posts from this blog

Fundamental Latency Trade-offs in Architecting DRAM Caches (Alloy Cache)

ZCOMP: Reducing DNN Cross-Layer Memory Footprint Using Vector Extensions

AutoFDO: Automatic Feedback-Directed Optimization for Warehouse-Scale Applications