Liang, BenFan, Donney2024-11-132024-11-132024-11http://hdl.handle.net/1807/141333Jobs in computing environments have diverse and heterogeneous resource requirements. This thesis presents a study of online, non-preemptive scheduling algorithms for multiple identical machines. In this environment, users send their job requests to be served by these machines, using their resources to satisfy the requests. With multiple requests to serve, the machines need an inherent scheduling objective to optimize. We study the scheduling objectives of the average weighted completion time, the maximum flow time (which is defined as job completion time minus their release time), and the maximum stretch (the ratio of job flow time and its processing time). The key challenge addressed is resource allocation to jobs with non-uniform demands across multiple resource types, such as CPU, memory, and storage. Further, as the thesis studies the online arrival of jobs, their parameters are not revealed to the schedulers until their arrival time. We use the popular competitive ratio to measure the performance of these algorithms. We first propose an online algorithm, termed Multi-Resource Interval Scheduling (MRIS) that achieves a competitive ratio of 8R(1+ϵ) for the average weighted completion time, where R is the number of resource types. To the best of the authors knowledge, this is the first theoretical competitive analysis under the considered system. We further show that the well-known priority queue algorithms can have arbitrarily bad competitive ratios in this setting. In numerical experiments using production workload traces from Microsoft Azure, the proposed algorithm is shown to significantly outperform priority queue algorithms and other state-of-the-art schedulers. Due to stronger lower bounds, we leverage resource augmentation to provide competitive ratio bounds for algorithms for the maximum flow and maximum stretch. In these relaxed models, our algorithms additional resources compared to the optimal algorithms. Using 10R speed augmentation, we provide an algorithm that obtains no greater maximum flow time than the optimal scheduler. We use the previous algorithm as a subroutine to present an approach that achieves a maximum stretch no greater than the optimal scheduler. These algorithms are enabled by interval scheduling paradigms, where the algorithm exercises patience to wait for additional knowledge of job arrivals before committing to scheduling decisions. Although this simple idea is not novel, we use it to obtain competitive ratios for the algorithms presented.Average weighted completion timeCompetitive RatioIdentical machinesNon-preemptionOnline AlgorithmsResource Constrained Scheduling0984Online Non-preemptive Resource Constrained SchedulingThesis