
Distributed Shared Memory systems are particularly prone to thrashing. For example, if two nodes compete for write access to a single data item, it may be transferred back and forth at such a high rate that no real work can get done ( a Ping-Pong effect ). Two systems, Munin and Mirage, attack this problem directly.
Munin allows programmers to associate types with shared data: write-once, write-many, producer-consumer, private, migratory etc. Shared data of different types get different coherence protocols. To avoid thrashing with two competing writers, a programmer could specify the type as write-many and the system would use a delayed write policy.
Mirage uses another method to reduce thrashing. It specifically examines the case when many nodes compete for access to the same page. To stop the Ping-Pong effect, Mirage adds a dynamically tunable parameter to the coherence protocol. This parameter determines the minimum amount of time a page will be available at a node.
![]()
![]()
![]()
DSM Home Subway Algorithms Migration Page Map Algorithm