Implementation and Performance of Munin
Munin is a distributed shared memory DSM system that allows shared memory parallel programs to be executed eciently on distributed memory multiprocessors Munin is unique among existing DSM systems in its use of multiple consistency protocols and in its use of release consistency In Munin shared program variables are annotated with their expected access pattern and these annotations are then used by the runtime system to choose a consistency protocol best suited to that access pattern Release consistency allows Munin to mask network latency and reduce the number of messages
required to keep memory consistent Munins multiprotocol release consistency is implemented in software using a delayed update queue that buers and merges pending outgoing writes A sixteenprocessor prototype of Munin is currently perational We evaluateits implementation and describe the execution of two Munin programs that achieve performance within tenpercent of message passing implementations of the same programs Munin achieves this level of performance
with only minor annotations to the shared memory programs