LECTURE: ONLINE SCHEDULING AND COMPETITIVE ANALYSIS
Scheduling of events is an important issue
for realtime visualization. Addressing
a thinwire client-server model adds another
dimension to this problem.
INTRODUCTION
Scheduling theory is concerned with allocation
of resources to jobs (or, in these notes, requests. Typical application
in operation systems. A basic subdivision of this
literature is the \dt{offline} versus \dt{online} distinction
among methods of scheduling.
We focus on online scheduling. In such problems, we
are faced with a sequence of \dt{requests}
$$I=(\rho_1, \rho_2 \dd \rho_n)$$
(ordered by arrival time)
and we are to respond to $\rho_i$ before we can see the
next request. (We will slightly modify this
later when we consider reservation problems.)
But how do we analyze and evaluate
online algorithms? We could assume some probabilistic
distribution on the inputs, but this is not
a very realistic situation in most applications.
Instead, we try to compare ourselves to an
{\em optimal offline algorithm} $A^*$ on the same sequence
of inputs. This approach is pioneered by Sleator and Tarjan.
For any algorithm $A$ (offline or online), let the
value of its solution on input $I$ be denoted $val_A(I)$.
Let $val_*(I)$ denote the value of the solution from
the optimal offline algorithm. We assume that the problem
is to maximize $val(I)$. The \dt{competitive ratio} $C_A$
of an algorithm $A$ is defined to be
$$C_A \as \sup_I (val_*(I)/val_A(I)).$$
Note that $C_A\ge 1$. An algorithm $A$ is \dt{competitive}
if $C_A$ is bounded.
We can generalize this to randomized algorithms $A$.
Then $val_A(I)$ is the expected value of
solutions of $A$ on input $I$.
Paging Problem
It is hardly obvious that we can always find competitive algorithms!
The first problem that is shown to competitive algorithms
is a problem of paging.