13 research outputs found
Online Scheduling on Identical Machines using SRPT
Due to its optimality on a single machine for the problem of minimizing
average flow time, Shortest-Remaining-Processing-Time (\srpt) appears to be the
most natural algorithm to consider for the problem of minimizing average flow
time on multiple identical machines. It is known that \srpt achieves the best
possible competitive ratio on multiple machines up to a constant factor. Using
resource augmentation, \srpt is known to achieve total flow time at most that
of the optimal solution when given machines of speed . Further,
it is known that \srpt's competitive ratio improves as the speed increases;
\srpt is -speed -competitive when .
However, a gap has persisted in our understanding of \srpt. Before this
work, the performance of \srpt was not known when \srpt is given
(1+\eps)-speed when 0 < \eps < 1-\frac{1}{m}, even though it has been
thought that \srpt is (1+\eps)-speed -competitive for over a decade.
Resolving this question was suggested in Open Problem 2.9 from the survey
"Online Scheduling" by Pruhs, Sgall, and Torng \cite{PruhsST}, and we answer
the question in this paper. We show that \srpt is \emph{scalable} on
identical machines. That is, we show \srpt is (1+\eps)-speed
O(\frac{1}{\eps})-competitive for \eps >0. We complement this by showing
that \srpt is (1+\eps)-speed O(\frac{1}{\eps^2})-competitive for the
objective of minimizing the -norms of flow time on identical
machines. Both of our results rely on new potential functions that capture the
structure of \srpt. Our results, combined with previous work, show that \srpt
is the best possible online algorithm in essentially every aspect when
migration is permissible.Comment: Accepted for publication at SODA. This version fixes an error in a
preliminary versio
Reallocation Problems in Scheduling
In traditional on-line problems, such as scheduling, requests arrive over
time, demanding available resources. As each request arrives, some resources
may have to be irrevocably committed to servicing that request. In many
situations, however, it may be possible or even necessary to reallocate
previously allocated resources in order to satisfy a new request. This
reallocation has a cost. This paper shows how to service the requests while
minimizing the reallocation cost. We focus on the classic problem of scheduling
jobs on a multiprocessor system. Each unit-size job has a time window in which
it can be executed. Jobs are dynamically added and removed from the system. We
provide an algorithm that maintains a valid schedule, as long as a sufficiently
feasible schedule exists. The algorithm reschedules only a total number of
O(min{log^* n, log^* Delta}) jobs for each job that is inserted or deleted from
the system, where n is the number of active jobs and Delta is the size of the
largest window.Comment: 9 oages, 1 table; extended abstract version to appear in SPAA 201
Improved Online Algorithm for Weighted Flow Time
We discuss one of the most fundamental scheduling problem of processing jobs
on a single machine to minimize the weighted flow time (weighted response
time). Our main result is a -competitive algorithm, where is the
maximum-to-minimum processing time ratio, improving upon the
-competitive algorithm of Chekuri, Khanna and Zhu (STOC 2001). We
also design a -competitive algorithm, where is the
maximum-to-minimum density ratio of jobs. Finally, we show how to combine these
results with the result of Bansal and Dhamdhere (SODA 2003) to achieve a
-competitive algorithm (where is the
maximum-to-minimum weight ratio), without knowing in advance. As shown
by Bansal and Chan (SODA 2009), no constant-competitive algorithm is achievable
for this problem.Comment: 20 pages, 4 figure
Minimizing Flow-Time on Unrelated Machines
We consider some flow-time minimization problems in the unrelated machines
setting. In this setting, there is a set of machines and a set of jobs,
and each job has a machine dependent processing time of on machine
. The flow-time of a job is the total time the job spends in the system
(completion time minus its arrival time), and is one of the most natural
quality of service measure. We show the following two results: an
approximation algorithm for minimizing the
total-flow time, and an approximation for minimizing the maximum
flow-time. Here is the ratio of maximum to minimum job size. These are the
first known poly-logarithmic guarantees for both the problems.Comment: The new version fixes some typos in the previous version. The paper
is accepted for publication in STOC 201
New results on flow time with resource augmentation
We study the problem of scheduling jobs that arrive over time. We consider a non-preemptive setting on a single machine. The goal is to minimize the total flow time. We use extra resource competitive analysis: an optimal off-line algorithm which schedules jobs on a single machine is compared to a more powerful on-line algorithm that has machines. We design an algorithm of competitive ratio O(min(Delta^{1/l,n^{1/l)), where is the maximum ratio between two job sizes, and provide a lower bound which shows that the algorithm is optimal up to a constant factor for any constant . The algorithm works for a hard version of the problem where the sizes of the smallest and the largest jobs are not known in advance, only is known. This gives a trade-off between the resource augmentation and the competitive ratio. We also consider scheduling on parallel identical machines. In this case the optimal off-line algorithm has machines and the on-line algorithm has machines. We give a lower bound for this case. Next, we give lower bounds for algorithms using resource augmentation on the speed. Finally, we consider scheduling with hard deadlines
Extra unit-speed machines are almost as powerful as speedy machines for flow time scheduling
We study online scheduling of jobs to minimize the flow time and stretch on parallel machines. We consider algorithms that are given extra resources so as to compensate for the lack of future information. Recent results show that a modest increase in machine speed can provide very competitive performance; in particular, using O(1) times faster machines, the algorithm SRPT (shortest remaining processing time) is 1-competitive for both flow time [C. A. Phillips et al., in Proceedings of STOC, ACM, New York, 1997, pp. 140-149] and stretch [W. T. Chan et al., in Proceedings of MFCS, Springer-Verlag, Berlin, 2005, pp. 236-247] and HDF (highest density first) is O(1)-competitive for weighted flow time [L. Becchetti et al., in Proceedings of RANDOM-APPROX, Springer-Verlag, Berlin, 2001, pp. 36-47]. Using extra unit-speed machines instead of faster machines to achieve competitive performance is more challenging, as a faster machine can speed up a job but extra unit-speed machines cannot. This paper gives a nontrivial relationship between the extra-speed and extra-machine analyses. It shows that competitive results via faster machines can be transformed to similar results via extra machines, hence giving the first algorithms that, using O(1) times unit-speed machines, are 1-competitive for flow time and stretch and O(1)-competitive for weighted flow time. © 2008 Society for Industrial and Applied Mathematics.published_or_final_versio
Easier Parallel Programming with Provably-Efficient Runtime Schedulers
Over the past decade processor manufacturers have pivoted from increasing uniprocessor performance to multicore architectures. However, utilizing this computational power has proved challenging for software developers. Many concurrency platforms and languages have emerged to address parallel programming challenges, yet writing correct and performant parallel code retains a reputation of being one of the hardest tasks a programmer can undertake.
This dissertation will study how runtime scheduling systems can be used to make parallel programming easier. We address the difficulty in writing parallel data structures, automatically finding shared memory bugs, and reproducing non-deterministic synchronization bugs. Each of the systems presented depends on a novel runtime system which provides strong theoretical performance guarantees and performs well in practice
Minimizing the Flow Time without Migration
We consider the classical problem of scheduling jobs in a multiprocessor setting in order to minimize the flow time (total time in the system). The performance of the algorithm, both in offline and online settings, can be significantly improved if we allow preemption: i.e., interrupt a job and later continue its execution, perhaps migrating it to a different machine. Preemption is inherent to make a scheduling algorithm efficient. While in case of a single processor, most operating systems can easily handle preemptions, migrating a job to a different machine results in a huge overhead. Thus, it is not commonly used in most multiprocessor operating systems. The natural question is whether migration is an inherent component for an efficient scheduling algorithm, in either online or offline setting. Leonardi and Raz (STOC'97) showed that the well known algorithm, shortest remaining processing time (SRPT), performs within a logarithmic factor of the optimal algorithm. Note that SRPT must ..