The performance of a precedence-based queuing discipline

A queuing system with infinitely many servers, and with the following queuing discipline is considered: For any two jobs <italic>i</italic> and <italic>j</italic> in the system, such that <italic>i</italic> arrived later than <italic>j</italic>, there is a fixed probability <italic>p</italic> that <italic>i</italic> will have to wait for <italic>j</italic>'s execution to terminate before <italic>i</italic> starts executing. This queuing system is a very simple model for database concurrency control via “static” locking, as well as of parallel execution of programs consisting of several interdependent processes. The problem of determining the maximum arrival rate (as a function of <italic>p</italic>) that can be sustained before this system becomes unstable is studied. It is shown that this rate is inversely proportional to <italic>p</italic>, and close upper and lower bounds on the constant for the case of deterministic departures are found. The result suggests that the degree of multiprogramming of multiuser databases, or the level of parallelism of concurrent programs, is inversely proportional to the probability of conflict, and that the constant is small and known within a factor of 2. The technique used involves the computation of certain asymptotic parameters of a random infinite directed acyclic graph (dag) that seem of interest by themselves.