Stxxl
1.4.0
|
Block scheduling algorithm caching via the longest forward distance policy (offline). More...
#include <block_scheduler.h>
Block scheduling algorithm caching via the longest forward distance policy (offline).
Definition at line 853 of file block_scheduler.h.
typedef block_scheduler_algorithm<SwappableBlockType> stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::block_scheduler_algorithm_type [protected] |
Definition at line 857 of file block_scheduler.h.
typedef block_scheduler<SwappableBlockType> stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::block_scheduler_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 856 of file block_scheduler.h.
typedef block_scheduler_type::external_block_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::external_block_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 859 of file block_scheduler.h.
typedef block_scheduler_type::internal_block_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::internal_block_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 858 of file block_scheduler.h.
typedef block_scheduler_type::prediction_sequence_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::prediction_sequence_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 862 of file block_scheduler.h.
typedef block_scheduler_type::swappable_block_identifier_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::swappable_block_identifier_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 860 of file block_scheduler.h.
typedef block_scheduler_algorithm_type::time_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::time_type [protected] |
Reimplemented from stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 861 of file block_scheduler.h.
stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::block_scheduler_algorithm_offline_lfd | ( | block_scheduler_type & | bs | ) | [inline] |
Definition at line 966 of file block_scheduler.h.
References init().
stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::block_scheduler_algorithm_offline_lfd | ( | block_scheduler_algorithm_type * | old | ) | [inline] |
Definition at line 971 of file block_scheduler.h.
References init().
virtual stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::~block_scheduler_algorithm_offline_lfd | ( | ) | [inline, virtual] |
Definition at line 975 of file block_scheduler.h.
virtual internal_block_type& stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::acquire | ( | const swappable_block_identifier_type | sbid, |
const bool | uninitialized = false |
||
) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 993 of file block_scheduler.h.
References stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::acquire().
Referenced by stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::acquire().
virtual void stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::deinitialize | ( | swappable_block_identifier_type | sbid | ) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1062 of file block_scheduler.h.
virtual bool stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::evictable_blocks_empty | ( | ) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 987 of file block_scheduler.h.
virtual swappable_block_identifier_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::evictable_blocks_pop | ( | ) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 990 of file block_scheduler.h.
virtual external_block_type stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::extract_external_block | ( | swappable_block_identifier_type | sbid | ) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1077 of file block_scheduler.h.
internal_block_type* stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::get_free_internal_block | ( | ) | [inline, protected] |
Definition at line 911 of file block_scheduler.h.
void stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::init | ( | block_scheduler_algorithm_type * | old_algo | ) | [inline, protected] |
Definition at line 924 of file block_scheduler.h.
References stxxl::block_scheduler_algorithm< SwappableBlockType >::get_prediction_sequence().
virtual void stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::initialize | ( | swappable_block_identifier_type | sbid, |
external_block_type | eblock | ||
) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1071 of file block_scheduler.h.
virtual void stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::release | ( | swappable_block_identifier_type | sbid, |
const bool | dirty | ||
) | [inline, virtual] |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1031 of file block_scheduler.h.
References stxxl::block_scheduler_algorithm< SwappableBlockType >::release(), and stxxl::block_scheduler_algorithm_online_lru< SwappableBlockType >::release().
void stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::return_free_internal_block | ( | internal_block_type * | iblock | ) | [inline, protected] |
Definition at line 921 of file block_scheduler.h.
addressable_priority_queue<swappable_block_identifier_type, priority> stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::evictable_blocks [protected] |
Holds swappable blocks, whose internal block can be freed, i.e. that are internal but unacquired.
Definition at line 902 of file block_scheduler.h.
std::deque< std::pair<bool, time_type> > stxxl::block_scheduler_algorithm_offline_lfd< SwappableBlockType >::next_use [protected] |
stores for the sequence of releases extracted from the prediction_sequence: (true, timestamp of the blocks next acquire) if it is acquired next (false, 0) if it is deinitialized next (false, 1) if it is not accessed any more (false, 2) if it is extracted next (false, 3) if it is initialized next
Definition at line 909 of file block_scheduler.h.