Online Convex Optimization for Online Job Scheduling

Zhibo Yang
Abstract:Job scheduling/resource allocation problem has been a classical genre of problem in many fields for decades. In this problem, usually each job requires some certain amount of resource and also may have certain constraints (e.g., time). The goal is usually find a schedule for these jobs that optimizes some objective function (e.g, maximize overall system throughput and minimize the overall flow time of all jobs). Toward this end, researchers have developed many types of algorithms to solve it, e.g., greedy algorithm. But most of these algorithms are designed under a offline setting–information about these jobs are known beforehand. However, reality is often the opposite–jobs keep coming in the system and the decision needs to be made online. Therefore, in this project, I will work toward this online job scheduling problem and using relatively new technique, called Online Convex Optimization (OCO), to solve it and see how it performs by comparing it with classical greedy algorithm. Experimental results show that OCO approach achieves better performance than the shortest-job-first method and reduces the overall flow time by 33.3% in my experiments. The source code is released at https://github.com/ouyangzhibo/CSE592-Online-Convex-Optimization.
Computer Science
What problem does this paper attempt to address?