Re: [sv-ec] [sv-bc] Semaphore question

From: Steven Sharp <sharp_at_.....>
Date: Thu Sep 15 2005 - 16:04:49 PDT
>From: Gordon Vreugdenhil <gordonv@model.com>

>This issue is why counting semaphores traditionally only
>allow a single request even though you can do a multiple
>release.  Allowing a multi-request can cause process
>starvation if you have high-frequency single requests
>that never allow the count to reach the number of the
>multi-request.  Allowing only single requests means
>that a request for N iterates and could block multiple
>times but will eventually succeed if progress is being
>made in the system.

Though of course it can lead to a deadlock, where multiple
processes are holding a subset of the keys they need, and
none can make progress.

>I don't like the semantics that Arturo is suggesting.  Do
>we really want to increase the chances of starvation
>in sytems?

I am willing to acknowledge that I don't know the use-model
for which these are intended.  It may be that there is a
reason why a "greedy" arbitration is preferred to a "fair"
one for some common testbench purpose.  What concerns me
is the inconsistency here.  If a "greedy" algorithm is
preferable for some reason, then why is it abandoned in
favor of a "fair" algorithm for processes that happen to
have waited?

Steven Sharp
sharp@cadence.com
Received on Thu Sep 15 16:04:58 2005

This archive was generated by hypermail 2.1.8 : Thu Sep 15 2005 - 16:05:53 PDT