Thrill
0.1
|
Interface of a block scheduling algorithm.
Definition at line 250 of file block_scheduler.hpp.
#include <block_scheduler.hpp>
Public Attributes | |
block_scheduler_type & | bs |
Protected Types | |
using | block_scheduler_type = block_scheduler< SwappableBlockType > |
using | external_block_type = typename block_scheduler_type::external_block_type |
using | internal_block_type = typename block_scheduler_type::internal_block_type |
using | prediction_sequence_type = typename block_scheduler_type::prediction_sequence_type |
using | swappable_block_identifier_type = typename block_scheduler_type::swappable_block_identifier_type |
using | time_type = typename block_scheduler_type::time_type |
Protected Member Functions | |
block_scheduler_algorithm * | get_algorithm_from_block_scheduler () |
internal_block_type * | get_free_internal_block_from_block_scheduler () |
void | return_free_internal_block_to_block_scheduler (internal_block_type *iblock) |
Return an internal_block to the block_scheduler. More... | |
Protected Attributes | |
prediction_sequence_type | prediction_sequence |
std::vector< SwappableBlockType > & | swappable_blocks |
|
protected |
Definition at line 546 of file block_scheduler.hpp.
|
protected |
Definition at line 548 of file block_scheduler.hpp.
|
protected |
Definition at line 547 of file block_scheduler.hpp.
|
protected |
Definition at line 550 of file block_scheduler.hpp.
|
protected |
Definition at line 549 of file block_scheduler.hpp.
|
protected |
Definition at line 551 of file block_scheduler.hpp.
|
inlineexplicit |
Definition at line 573 of file block_scheduler.hpp.
|
inlineexplicit |
Definition at line 578 of file block_scheduler.hpp.
|
delete |
non-copyable: delete copy-constructor
|
inlinevirtual |
Definition at line 588 of file block_scheduler.hpp.
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::acquire().
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::deinitialize().
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::flush().
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::flush().
|
inlinevirtual |
Reimplemented in block_scheduler_algorithm_simulation< SwappableBlockType >.
Definition at line 603 of file block_scheduler.hpp.
Referenced by block_scheduler< SwappableBlockType >::explicit_timestep().
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::extract_external_block().
|
inlineprotected |
Definition at line 560 of file block_scheduler.hpp.
References block_scheduler< SwappableBlockType >::algo.
|
inlineprotected |
Get an internal_block from the block_scheduler.
Definition at line 565 of file block_scheduler.hpp.
References block_scheduler< SwappableBlockType >::get_free_internal_block().
|
inlinevirtual |
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::initialize().
|
inlinevirtual |
Reimplemented in block_scheduler_algorithm_simulation< SwappableBlockType >.
Definition at line 600 of file block_scheduler.hpp.
Referenced by block_scheduler< SwappableBlockType >::is_initialized().
|
inlinevirtual |
Reimplemented in block_scheduler_algorithm_simulation< SwappableBlockType >.
Definition at line 604 of file block_scheduler.hpp.
Referenced by block_scheduler< SwappableBlockType >::is_simulating().
|
delete |
non-copyable: delete assignment operator
|
pure virtual |
Implemented in block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >, block_scheduler_algorithm_offline_lfd< SwappableBlockType >, block_scheduler_algorithm_simulation< SwappableBlockType >, and block_scheduler_algorithm_online_lru< SwappableBlockType >.
Referenced by block_scheduler< SwappableBlockType >::release(), and block_scheduler_algorithm_offline_lfd< SwappableBlockType >::release().
|
inlineprotected |
Return an internal_block to the block_scheduler.
Definition at line 569 of file block_scheduler.hpp.
References block_scheduler< SwappableBlockType >::return_free_internal_block().
|
inlinevirtual |
Reimplemented in block_scheduler_algorithm_simulation< SwappableBlockType >.
Definition at line 592 of file block_scheduler.hpp.
References swappable_block< ValueType, BlockSize >::acquire(), swappable_block< ValueType, BlockSize >::deinitialize(), swappable_block< ValueType, BlockSize >::extract_external_block(), swappable_block< ValueType, BlockSize >::initialize(), and swappable_block< ValueType, BlockSize >::release().
Referenced by block_scheduler< SwappableBlockType >::allocate_swappable_block().
Definition at line 554 of file block_scheduler.hpp.
Referenced by block_scheduler< SwappableBlockType >::switch_algorithm_to().
|
protected |
Definition at line 558 of file block_scheduler.hpp.
|
protected |
Definition at line 557 of file block_scheduler.hpp.