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.