[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Priority revisited: a new primitive

Adrian, ...

Coming from a hardware implementation angle, I still have difficulty with
"PRI PAR" which appears to be a complete oxymoron.

Its behaviour (in the non-preemptive case - not that there is any indication
of preemptive or not, it's left to the implementation) is:

    SEQ i=0 FOR number of "parallel" processes
      Choose the highest priority process
	Do it and disable it

Which doesn't look very "PAR" to me!

Pre-emptive is better, but still encapsulates one part running at a time -
an interleaved SEQ (I can't think of a simple way to re-write similar to the

On hardware with truly concurrent processes (or a multi-processor system)
the PRI is used to sequentialise and slow down everything, not an intuitive
outcome of declaring "PAR".

There is, clearly, a need to control sequentialisation on a single processor
but I'm not convinced PRI PAR is the right answer. [Yes, it is the usual
approach and maybe the best so far, but it it is too easy to find situations
that aren't handled well with the current approaches to believe that we have
the right answers already.]

I will observe that the thing that makes a parallel component active and
hence start competing for priority is an event (channel or timer) and I do
wonder if "event driven" is worth considering. I'll also admit that I just
haven't given it enough thought to even begin to make a case for it.

Summary: Whatever the long-term outcome of what we really need, can we,
please, find a better (more accurate) name for "PRI PAR"?


| Barry M Cook, BSc, PhD, CEng, MBCS                                         |
| Senior Lecturer,                           Department of Computer Science, |
| Chartered Information Systems Engineer.    Keele University,               |
|                                            Keele,                          |
| Phone: +44 1782 583411                     Staffordshire,                  |
| FAX:   +44 1782 713082                     ST5 5BG,                        |
| email: barry@xxxxxxxxxxxxxx                UK.                             |