Schedule and Distribute Personal Tasks - Remote Distribution of Personal Tasks for Large Game Studios
Haas, T.P. de
MetadataShow full item record
AAA game development studios often use continuous integration to monitor the state of development. The continuous integration processes usually run on a build farm. To prevent faulty changes from reaching the build farm the developers have the option to compile and test their work locally. Developers do not always consistently test. Faulty work can cause company-wide delays. We present a novel framework that distributes and performs these personal tasks on a remote machine. This makes it easier for developers to test their work. Only a limited amount of machines are available for the remote personal tasks. This presents a scheduling problem. We build a framework to facilitate both the distribution and scheduling of these tasks. The framework allows for comparison between different scheduling algorithms, is light-weight, scalable, and can reliably distribute tasks to remote build machines. We ask what scheduling algorithm presents the lowest average time a task spends in the scheduling queue. Three scheduling algorithms are implemented to answer this question. Random scheduling, the Highest Response Ratio Next algorithm (HRRN), and a derivative of the Heterogeneous Earliest Finish Time algorithm (NHEFT). We test these scheduling algorithms to determine which has the shortest average waiting time. Experiments are run using different amounts of build machines and different orders in which requests are made. A second experiment is run using five times the amount of tasks to find further data comparing random scheduling to HRRN. The first experiment shows significantly longer average waiting time for NHEFT compared to both other algorithms. No significant differences are found between HRRN and random scheduling. The second experiment shows significantly shorter average waiting time for HRRN. We conclude that HRRN results in shorter average waiting time than random scheduling. NHEFT was implemented with a bug which caused higher average waiting time. No conclusions can be made regarding NHEFT.