|
Zero
0.1.0
|
Buffer frame selector for the Select-and-Filter page evictioner. More...
#include <page_evictioner_selector.hpp>
Public Member Functions | |
| virtual | ~PageEvictionerSelector () |
| Destructs a buffer frame selector. More... | |
| virtual bf_idx | select () noexcept=0 |
| Selects a page to be evicted from the buffer pool. More... | |
| virtual void | updateOnPageHit (bf_idx idx) noexcept=0 |
| Updates the eviction statistics on page hit. More... | |
| virtual void | updateOnPageUnfix (bf_idx idx) noexcept=0 |
| Updates the eviction statistics on page unfix. More... | |
| virtual void | updateOnPageMiss (bf_idx idx, PageID pid) noexcept=0 |
| Updates the eviction statistics on page miss. More... | |
| virtual void | updateOnPageFixed (bf_idx idx) noexcept=0 |
| Updates the eviction statistics of fixed (i.e. used) pages during eviction. More... | |
| virtual void | updateOnPageDirty (bf_idx idx) noexcept=0 |
| Updates the eviction statistics of dirty pages during eviction. More... | |
| virtual void | updateOnPageBlocked (bf_idx idx) noexcept=0 |
| Updates the eviction statistics of pages that cannot be evicted at all. More... | |
| virtual void | updateOnPageSwizzled (bf_idx idx) noexcept=0 |
| Updates the eviction statistics of pages containing swizzled pointers during eviction. More... | |
| virtual void | updateOnPageExplicitlyUnbuffered (bf_idx idx) noexcept=0 |
| Updates the eviction statistics on explicit unbuffer. More... | |
| virtual void | updateOnPointerSwizzling (bf_idx idx) noexcept=0 |
| Updates the eviction statistics of pages when its pointer got swizzled in its parent page. More... | |
| virtual void | releaseInternalLatches () noexcept=0 |
| Releases the internal latches of the buffer frame selector. More... | |
Protected Member Functions | |
| PageEvictionerSelector (const BufferPool *bufferPool) | |
| Constructs a buffer frame selector. More... | |
Protected Attributes | |
| bf_idx | _maxBufferpoolIndex |
| The maximum buffer frame index. More... | |
Buffer frame selector for the Select-and-Filter page evictioner.
This class defines the interface for buffer frame selectors (which represent different policies) used in the PageEvictionerSelectAndFilter. All those buffer frame selectors have to inherit from this class.
|
inlineexplicitprotected |
Constructs a buffer frame selector.
| bufferPool | The buffer pool this buffer frame selector is responsible for. |
|
inlinevirtual |
Destructs a buffer frame selector.
|
pure virtualnoexcept |
Releases the internal latches of the buffer frame selector.
Some methods of buffer frame selectors hold internal latches beyond the invocation of one method but expect another method to be called later to release those internal latches. This should be used to explicitly release those latches.
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Selects a page to be evicted from the buffer pool.
Selects a page to be evicted according to the selected buffer frame selector. The PageEvictionerSelectAndFilter will filter the selected buffer frame using a PageEvictionerFilter.
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics of pages that cannot be evicted at all.
Updates the statistics according to the selected buffer frame selection policy when a page cannot be evicted at all.
| idx | The buffer frame index of the BufferPool which corresponding frame contains a page that cannot be evicted at all. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics of dirty pages during eviction.
Updates the statistics according to the selected buffer frame selection policy when a page was discovered dirty during eviction.
| idx | The buffer frame index of the BufferPool that was picked for eviction while the corresponding frame contained a dirty page. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics on explicit unbuffer.
Updates the statistics according to the selected buffer frame selection policy when a page got explicitly unbuffered.
| idx | The buffer frame index of the BufferPool whose corresponding frame is freed explicitly. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics of fixed (i.e. used) pages during eviction.
Updates the statistics according to the selected buffer frame selection policy when a page was discovered fixed during eviction.
| idx | The buffer frame index of the BufferPool that was picked for eviction while the corresponding frame was fixed. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics on page hit.
Updates the statistics according to the selected buffer frame selection policy when a page hit occurred.
| idx | The buffer frame index of the BufferPool on which a page hit occurred. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics on page miss.
Updates the statistics according to the selected buffer frame selection policy when a page miss occurred.
| idx | The buffer frame index of the BufferPool on which a page miss occurred. |
| pid | The PageID of the generic_page that was loaded into the buffer frame with index idx . |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics of pages containing swizzled pointers during eviction.
Updates the statistics according to the selected buffer frame selection policy when a page was discovered containing swizzled pointers during eviction.
| idx | The buffer frame index of the BufferPool that was picked for eviction while the corresponding frame contained a page with swizzled pointers. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics on page unfix.
Updates the statistics according to the selected buffer frame selection policy when a page unfix occurred.
| idx | The buffer frame index of the BufferPool on which a page unfix occurred. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
pure virtualnoexcept |
Updates the eviction statistics of pages when its pointer got swizzled in its parent page.
Updates the statistics according to the selected buffer frame selection policy when the pointer of a page got swizzled in its parent page.
| idx | The buffer frame index of the BufferPool whose pointer got swizzled in its corresponding parent page. |
Implemented in zero::buffer_pool::PageEvictionerSelectorLRDV2< aging_frequency, aging_function >, zero::buffer_pool::PageEvictionerSelectorLRDV1, zero::buffer_pool::PageEvictionerSelectorLFUDA, zero::buffer_pool::PageEvictionerSelectorLFU, zero::buffer_pool::PageEvictionerSelectorTimestampLRUK< k, resort_threshold_ppm, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorTimestampLRU< resort_threshold_ppm >, zero::buffer_pool::PageEvictionerSelectorQuasiMRU< retry_list_check_ppm, mru_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLRUK< k, on_page_unfix >, zero::buffer_pool::PageEvictionerSelectorSLRU< protected_block_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMXORShift128Plus, zero::buffer_pool::PageEvictionerSelectorRANDOMXORWow, zero::buffer_pool::PageEvictionerSelectorLRU, zero::buffer_pool::PageEvictionerSelectorRANDOMCRand, zero::buffer_pool::PageEvictionerSelectorQuasiFILOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEPThreadLocal< random_number_generator, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocalModulo, zero::buffer_pool::PageEvictionerSelectorLOOPThreadLocal, zero::buffer_pool::PageEvictionerSelectorRANDOMCLHEP< random_number_generator, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOHighContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPLockFree, zero::buffer_pool::PageEvictionerSelectorRANDOMExternalThreadLocal< random_number_generator, random_distribution, seed_explicitly, seed_generators >, zero::buffer_pool::PageEvictionerSelectorLOOPModulo, zero::buffer_pool::PageEvictionerSelectorRANDOMExternal< random_number_generator, random_distribution, seed_generators >, zero::buffer_pool::PageEvictionerSelectorQuasiFIFOLowContention< retry_list_check_ppm, initial_list_check_ppm >, zero::buffer_pool::PageEvictionerSelectorLOOPSpinlock, and zero::buffer_pool::PageEvictionerSelectorLOOPMutex.
|
protected |
The maximum buffer frame index.
1.8.12