Basic Elements of Scheduling

The Processors
Processors are the "workers" that do the work.
The word 'processor' itself carries an important connotation; namely, processors need not be people.
A processor could be an integrated circuit, a robot, a machine, a computer, an ATM, or even a person.
Notationally, we will use P1 , P2 , P3 ,  . . .  , PN  to represent the set of N processors available to do a job.
And, since scheduling is not much of an issue when there is only one processor, we will concern ourselves only with cases for which the number of processors is 2 or more.

The Tasks
Tasks (or jobs) are the individual 'pieces' of work.
For our purposes, we will define a task as a unit of work that can't (by nature or by specification) be broken down into smaller units of work and is always carried out by a single processor.
A task could be wiring a house, installing a hard drive, baking a cake, or inspecting a hazardous waste disposal site.
For scheduling purposes, tasks must be specified in advance.  For instance, wiring a house might be scheduled as a 16 hour task for a single electrician or perhaps as two separate 7 hour tasks that could be done by two electricians.  The important thing is that a task, once specified, cannot be further sub-divided during the actual scheduling process.

The Processing Times
Every task has a processing time.
It is the amount of uninterrupted time required to carry out the task.
There is a serious complication here.  In many situations it may be the case that the processing time varies depending on which processor carries out the task or that some processors cannot carry out the task at all.
We will only deal with scheduling problems for which we can always assume that:
(1) each processor can carry out each task and
(2) the processing time for a task is the same for all processors and
(3) once a task is started, the processor must execute it without interruption.
Notationally, we may indicate the processing time for a task by putting it in parentheses after the name of the task, e.g., if task A can be completed in 5 hours, we might write 'A(5)'.

The Precedence Relations
These are restrictions on the order in which the tasks can be carried out.
We will use wpe9.jpg (904 bytes) to indicate that task X must precede (come before) task Y.
Of course, if task Y must precede task X, we will write wpeA.jpg (908 bytes) .
If there are no precedence requirements between task X and task Y (X can come before Y or Y can come before X), then we say that the two tasks are independent.
If task X is putting on your socks, task Y is putting on your shoes, and task Z is putting on your shirt, then  wpe9.jpg (904 bytes) since you should always put on your socks before putting on your shoes.   However, tasks X and Z are independent since it doesn't matter whether you put on your socks before your shirt or your shirt before your socks.  Similarly, Y and Z are independent.
Precedence Relations are transitive.  This simply means that if   wpe16.jpg (944 bytes)  and  wpe17.jpg (940 bytes), then wpe18.jpg (914 bytes).  Or, in other words, if task X precedes task Y and task Y precedes task Z, then task X must also precede task Z.

Back