[comp.realtime] Priority Inheritance Semaphores

dstewart@fas.ri.cmu.edu (David B Stewart) (03/01/90)

For all you real-time wizards, put on your thinking caps for this one:

It is generally accepted by real-time experts that "Priority Inheritance
Semaphores" are an acceptable solution for the priority inversion problem.

After looking at these semaphores carefully (we have intentions on
incorporating them into our Real-Time OS), we have one major problem
to deal with:

Our scheduler uses dynamic priorities (i.e. the priority of a task
is a function of time, and can change at every time quantum) based
on a task's deadline and laxity.  My question is the following:

Priority Inheritance Semaphore solutions currently proposed only work
with static priorities.  How can they be modified to work with 
dynamic priorities?  For example, how are deadlines and laxities
inherited?  Add them?  Subtract them?  Take the shortest or longest?
etc.?

I honestly have no answers to the above questions yet.  If you do,
or know of any papers on that subject, I would like to know about
them.  If you are doing any kind of research related to real-time
semaphores or resource allocation, then they are questions you
should consider, in which case I would like to hear your thoughts,
even if you don't have any solutions.

Feel free to either send email or to post, which would enhance
further discussion on the subject.

~dave

-- 
David B. Stewart, Dept. of Elec. & Comp. Engr., and The Robotics Institute, 
	Carnegie Mellon University,  email: stewart@faraday.ece.cmu.edu 
The following software is now available; ask me for details
        CHIMERA II, A Real-time OS for Sensor-Based Control Applications