Bélády's anomaly

In computer storage, Bélády's anomaly is the phenomenon in which increasing the number of page frames results in an increase in the number of page faults for certain memory access patterns. This phenomenon is commonly experienced when using the first-in first-out (FIFO) page replacement algorithm. In FIFO, the page fault may or may not increase as the page frames increase, but in Optimal and stack-based algorithms like LRU, as the page frames increase the page fault decreases. László Bélády demonstrated this in 1969.[1]

Page requests 321032432104
Newest page 3 2 1 0 3 2 4 4 4 1 0 0
   32103222411
Oldest page   3210333244
Page requests 321032432104
Newest page 3 2 1 0 0 0 4 3 2 1 0 4
   32111043210
    3222104321
Oldest page    333210432
An example of Bélády's anomaly. Using three page frames, nine page faults occur. Increasing to four page frames causes ten page faults to occur. Page faults are in red. This can be thought of as a result of a "Penny Wise, Pound Foolish" behavior.

In common computer memory management, information is loaded in specific-sized chunks. Each chunk is referred to as a page. Main memory can hold only a limited number of pages at a time. It requires a frame for each page it can load. A page fault occurs when a page is not found, and might need to be loaded from disk into memory.

When a page fault occurs and all frames are in use, one must be cleared to make room for the new page. A simple algorithm is FIFO: whichever page has been in the frames the longest is the one that is cleared. Until Bélády's anomaly was demonstrated, it was believed that an increase in the number of page frames would always result in the same number of or fewer page faults.

Bélády's anomaly is unbounded

Bélády, Nelson and Shedler constructed reference strings for which FIFO page replacement algorithm produced nearly twice as many page faults in a larger memory than in a smaller one and they formulated the conjecture that 2 is a general bound.

In 2010, Fornai and Iványi showed that the anomaly is in fact unbounded and that one can construct a reference string to any arbitrary page fault ratio.

gollark: Maybe you just got the magic crafttweaker script wrongf.
gollark: Well, as long as it doesn't end up in my pack.
gollark: You want to smelt nuclear fuel into bark stairs?
gollark: What's wrong with that recipe?
gollark: I might just go with the bath thing.

References

  1. Christopher Kruegel (3 December 2012). "Operating Systems (CS170-08 course)" (PDF). cs.UCSB.edu. Archived from the original (PDF) on 10 August 2016. Retrieved 13 June 2016.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.