Informed Load Balancing

Shengda Hu

Abstract: In distributed computing, the progress of a job is determined by the slowest server that is working on it. To see a well paced progress, we need all the servers proceed at a reasonably matching manner. An overloaded server would not provide reasonable performance, while an underloaded server is not doing what it's supposed to do. In this view, it's important to balance the load on the servers. There can be various schemes of attacking the problem. We'll try to explore the dynamic approach. In order to balance the load online, clients need to know about what is happening on the servers, and servers need to know what is going on on the client side, i.e. we need to get some information across the server-client boundary. In this paper, we will implement and test different schemes on client side to get information and utilize it. As part of the result, we reconfirmed the saying that "stale information is worse than no information".

Available as PS
Link to Code: tarball