Thrashing is said to occur when the system spends a large amount of time transferring shared data blocks from one node to another, compared to the time spent doing the useful work of executing application processes. It is serious performance problem with DSM systems that allow data blocks to migrate from one node to another. Thrashing may occur in the following situations:
a. When interleaved data accesses made by processes on two or more nodes causes a data block to move back and forth from one node to another in quick succession.
b. When blocks with read-only permissions are invalidated soon after they are replicated. Following methods may be used to solve the thrashing problem in DSM systems:
a. Providing application-controlled locks. Locking data to prevent other nodes from accessing that data for a short period of time can reduce thrashing.
b. Nailing a block to a node for a minimum amount of time. Another method to reduce thrashing is to disallow a block to be taken away from a node until a minimum amount of time t elapses after its allocation to that node. The time can either be fixed statically or be tuned dynamically on the basis of access patterns.
c. Tailoring the coherence algorithm to the shared-data usage patterns. Thrashing can be minimized by using different coherence protocols for shared data having different characteristics.
a. When interleaved data accesses made by processes on two or more nodes causes a data block to move back and forth from one node to another in quick succession.
b. When blocks with read-only permissions are invalidated soon after they are replicated. Following methods may be used to solve the thrashing problem in DSM systems:
a. Providing application-controlled locks. Locking data to prevent other nodes from accessing that data for a short period of time can reduce thrashing.
b. Nailing a block to a node for a minimum amount of time. Another method to reduce thrashing is to disallow a block to be taken away from a node until a minimum amount of time t elapses after its allocation to that node. The time can either be fixed statically or be tuned dynamically on the basis of access patterns.
c. Tailoring the coherence algorithm to the shared-data usage patterns. Thrashing can be minimized by using different coherence protocols for shared data having different characteristics.
Comments
Post a Comment
Your Comment Here!.....