From: Joanna Muench (joannam_at_spro.net)
Date: Sun Jan 25 2004 - 20:42:08 PST
The paper by Anderson et al (1989) provides an interesting comparison of
alternatives for thread management in a multiprocessor environment. The
authors detail five alternative thread management strategies as well as
three spin-lock management alternatives. They fully discuss the
trade-offs between latency and throughput for the various systems and
develop a simplified queuing model to explain their results.
I found the discussion of free lists as a way to avoid much of the
tradeoff between latency and throughput thought provoking. It fully
brought out the dynamics of the multithread/multiprocessor problem
domain, with the need to efficiently move threads between processors.
The use of free lists appears to move the trade-off between latency and
throughput into other parts of the problem, such as whether performance
should be optimized for idle processors or busy ones. Especially
interesting was the latency dependence of the local ready queue on the
number of runnable threads.
The concept of an Ethernet-style backoff as a solution to the spin lock
problem was also intriguing, both as a powerful solution to a difficult
problem and also the drawbacks of that approach. It is easy to see how
lock unfairness could be problematic to an application. Even with the
drawbacks to the backoff algorithm, it seemed that the performance
enhancement (or rather lack of performance degradation) might make the
unfairness and problems under large numbers of processors worth it.
I would like to see an expanded discussion of the models for bus and
lock contention, since the authors did succeed in capturing the
important dynamics of their management strategies. This would also
highlight some of the assumptions that went into their results. A
sensitivity analysis for the model results would have improved the
modeling section.
This archive was generated by hypermail 2.1.6 : Sun Jan 25 2004 - 20:38:33 PST