Designing a load balancing algorithm for compilation servers

Daniel Sunde · NORA - Norwegian Open Research Archives · 2015

This thesis presents a prototype of a dynamic load balancing algorithm designed for compilation servers. The algorithm takes a user ID and finds the optimal compilation server for the user based on the historical CPU and RAM load of the user. It includes a monitoring tool for gathering user and server resource usage at a process level. The data is stored in a historical database and the historical data is used to predict load on servers. A compilation sever system is monitored over time and the results are analysed to find potential bottlenecks in the system. The data gathered by the monitoring script is used to make a custom tailored load balancing algorithm. This paper presents the reasoning behind the design of the monitoring tool and the load balancing algorithm prototype.

Read the paper · More papers on PaperTik