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

Re: Priority revisited: a new primitive



Greetings O occam-volk

>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!
This is not the condemnation I would make. PRI PAR is expressing queue 
semantics - a priority queue, rather than a simple one. The availability 
of N processors would merely allow the first N processes in a priority 
queue to run simultaneously. Remember, however large N is, it may still 
be less than the number of processes. We're covered either way.

I would choose to damn this construct because it introduces a SECOND 
prioritization, and one that is only vaguely defined, even at the 
intuitive level. At best, it might indicate a prioritization of the first 
event of each process. But then we can already prioritize behaviour by 
event using PRI ALT.

I believe priority should be associated with events, and events only. 
That is both intuitively clear and (potentially) semantically more 
tractible. Surely, this is all we need when we design any system - to 
enable response to events according to their priority. If all processes 
truly run in parallel, there is no problem.

A problem only arises when we account for the possibility where there may 
fewer processors than processes. There is then the need for a global 
measure of priority. This is how I model what PRI PAR is doing. But it 
does it very clumsily. In...

  PRI PAR
    A
    B

...response to ALL events in A receive a higher effective priority than 
that to any in B. What if A is our flight control system and B is our 
defence? Think I'd get out and walk!

Over the years, I've missed a lot of the occam discussions due to other 
activities and interests. Have any of the real-time volk previously 
complained, or proposed better solutions?

We seem to be accumulating a wish-list for a new language...

Ian


Dr. Ian Robert East
01865 483635
Room T656, Tonge Building
School of Computing and Mathematical Sciences
Oxford Brookes University

2000/2001 Term 1 Consultation hours:
Tuesday   11.00..12.00; 12.00..13.00
Friday    10.00..11.00; 12.00..13.00