Explain Thrashing

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.


Popular posts from this blog


HSC Exam Time Table 2013 Arts, Commerce, Science

What are cookies and its types? Where are cookies used?