Resource Allocation Strategies for Multiple Job Classes
Resource management for a data center with multiple job classes is investigated in this thesis. We focus on strategies for allocating resources to an application mix such that the service level agreements (SLAs) of individual applications are met. A performance model with two interactive job classes is used to determine the smallest number of processor nodes required to meet the SLAs of both classes. For each class, the SLA is specified by the relationship: Prob(response time≤x)≥y. Two allocation strategies are considered: shared allocation (SA) and dedicated allocation (DA). For the case of FCFS scheduling, analytic results for response time distribution are used to develop a heuristic algorithm that determines the allocation strategy (SA or DA) that requires fewer processor nodes. The effectiveness of this algorithm is evaluated over a range of operating conditions. The performance of SA with non-FCFS scheduling is also investigated. Among the scheduling disciplines considered, a new discipline called probability dependent priority (PDP) is found to have the best performance in terms of requiring the smallest number of nodes. Furthermore, we extend our heuristic algorithm for FCFS to three job classes. The effectiveness of this extended algorithm is evaluated. As to priority scheduling, the performance advantage of PDP is also confirmed for the case of three job classes.