- Thrashing takes place when the sub-system of
the virtual memory of the computer system is involved in a state of paging
constantly.
- It rapidly exchanges data in the memory with the data available on
the disk excluding level of processing of most of the applications.
- Thrashing leads to the degradation of the
performance of the computer or may even cause it to collapse.
- The problem may
further worsen until the issue is identified and addressed.
- If there are not enough pages available for the job, it becomes very likely that your
system will suffer from thrashing since it’s an activity involving high paging.
- This also leads to high rate of page fault.
- This in turn cuts down the
utilization of the CPU.
- Modern systems utilize the concept of the paging system
for executing many programs.
- However, this is what makes them prone to
thrashing.
- But this occurs only if the system does not have at present
sufficient memory as required by the application or if the disk access time is
too long.
- Thrashing is also quite common in the communication systems where the
conflicts concerning the internal bus access is common.
- The order of magnitude
or degree by which the latency and throughput of a system might degrade depends
up on the algorithms and the configuration that is being used.
- In systems
making use of virtual memory systems, workloads and programs presenting
insufficient locality of reference may lead to thrashing.
- Thrashing occurs when
the physical memory of the system is not able to contain in itself the workload
or the program.
- Thrashing can also be called as the constant data swapping.
- Older
systems were low end computers i.e., the RAM they had was insufficient to be
employed in modern usage patterns.
- Thus, when their memory was increased they
became noticeably faster.
- This happened because of the availability of more
memory which reduce the amount of swapping and thus increased the processing
speed.
- IBM system/ 370 (mainframe computer) faced this kind of situation.
- In it
a certain instruction consisted of an execute instruction pointing over to
another move instruction.
- Both of these instructions crossed the page boundary
and also the source from which the data has to be moved and the destination
where it was to be placed both crossed the page boundary.
- Thus, this particular
instruction altogether required 8 pages and that too at the same time in
memory.
- Now if the operating system allocated less than 8 pages, a page fault is
sure to occur.
- This page fault will lead to thrashing of all the attempts of
restarting the failing instruction.
- This may even reduce the CPU utilization to
almost zero!
How can a system handle thrashing?
For
resolving the problem of thrashing, the following things can be done:
1. Increasing the amount of main memory
i.e., the RAM in the system. This is the best ever solution for this and will
be helpful for a long term also.
2. Decreasing the number of programs to be
executed by the system.
3. Replacing the programs that utilize heavy
memory with their less memory utilizing equivalents.
4. Making improvements in the spatial
locality.
- Thrashing
can also occur in cache memory i.e., the faster storage space that is used for
speeding up the data access.
- Then it is called cache thrashing.
- It occurs when
the cache is accessed in a way that it leaves it of no benefit.
- When this
happens many main memory locations compete with each other for getting the same
cache lines that it turn leads to a large number of cache misses.
No comments:
Post a Comment