Reconfigurable resource scheduling

Abstract

Multi-core and multi-processor environments are increasingly used to support a wide range of applications. These environments host multiple services simultaneously. The set of processors configured to support a particular service depends upon the associated workload; fluctuations in workload require changes in processor allocation. In these systems, reallocating a processor from one service to another tends to incur a nonnegligible overhead. Motivated by these applications, this dissertation considers a class of scheduling problems that we refer to as reconfiguration resource scheduling. The salient features of this class are as follows: There are jobs of different categories, and resources can be reconfigured to process jobs of a certain category, where a reconfiguration incurs an overhead, in terms of cost or time. In our initial investigation, we study the following subclass of the class of reconfigurable resource scheduling problems. We are given a finite set of resources, each of which has an associated category, and a sequence of requests, each of which is a set of unit jobs. Each job has an associated category, and needs to be executed on a resource of the same category within a specified delay bound of its arrival, or else it is dropped at a specified drop cost. At any time, a resource can be reconfigured to a different category at a specified reconfiguration cost. The goal is to schedule the reconfigurations of the resources, and the executions of the jobs, in a way that minimizes the total cost. We design efficient online algorithms with provably good performance for two main problems in this subclass, one allowing category-specific drop costs, which we refer to as reconfigurable resource scheduling with variable drop costs, and the other allowing category-specific delay bounds, which we refer to as reconfigurable resource scheduling with variable delay bounds. Reconfigurable resource scheduling with variable drop costs is motivated by certain applications in which some jobs are more important than others. We solve this problem using a layered approach, where in each layer we reduce to a scheduling problem defined over a more constrained set of possible inputs. In the first layer, we reduce to the special case in which all job arrivals are batched. In the second layer, we reduce to the special case in which the job arrival rate is limited. In the third layer, we reduce the rate-limited problem to two cases: large reconfiguration cost, and small reconfiguration cost. We use a traffic reshaping technique to smooth out the job arrivals, and thereby reduce the case with large reconfiguration cost to the special case of unit delay, and reduce the case with small reconfiguration cost to the special case of rate-limited unit delay. In the fourth layer, we reduce unit delay with large reconfiguration cost to a caching problem which we refer to as file caching with remote reads, and reduce rate-limited unit delay with small reconfiguration cost to a variant of disk paging problem which we refer to as prefix paging. In the fifth layer, we solve the file caching with remote reads problem by generalizing certain existing work in the area of file caching, and we solve prefix paging using a kind of marking algorithm. Reconfigurable resource scheduling with variable delay bounds is motivated by applications in which jobs are required to be processed within category-specific delay guarantees. Once again, we use a layered approach. The first two layers are analogous to the first two layers in our solution for reconfigurable resource scheduling with variable drop costs, respectively, but are more involved due to the variable delay bounds. In the third layer, we solve the rate-limited problem using a novel combination of the EDF and LRU scheduling principles.Computer Science

    Similar works