Thrill
0.1
|
Block scheduling algorithm caching via the least recently used policy (offline), and prefetching in addition.
Definition at line 1149 of file block_scheduler.hpp.
#include <block_scheduler.hpp>
Classes | |
struct | read_after_write |
struct | scheduled_block_meta |
struct | write_read_request |
Protected Attributes | |
std::set< swappable_block_identifier_type > | free_evictable_blocks |
Holds swappable blocks, whose internal block can be freed, i.e. that are internal but unacquired. More... | |
prediction_sequence_type::iterator | next_op_to_schedule |
scheduled_blocks_type | scheduled_blocks |
Holds not internal swappable_blocks, whose next access has already been scheduled. More... | |
std::set< swappable_block_identifier_type > | scheduled_evictable_blocks |
write_scheduled_blocks_type | write_scheduled_blocks |
Holds swappable_blocks, whose internal block has been taken away but the clean did not finish yet. More... | |
Protected Attributes inherited from block_scheduler_algorithm< SwappableBlockType > | |
prediction_sequence_type | prediction_sequence |
std::vector< SwappableBlockType > & | swappable_blocks |
Additional Inherited Members | |
Public Attributes inherited from block_scheduler_algorithm< SwappableBlockType > | |
block_scheduler_type & | bs |
|
protected |
Definition at line 1156 of file block_scheduler.hpp.
|
protected |
Definition at line 1162 of file block_scheduler.hpp.
|
protected |
Definition at line 1155 of file block_scheduler.hpp.
|
protected |
Definition at line 1158 of file block_scheduler.hpp.
|
protected |
Definition at line 1157 of file block_scheduler.hpp.
|
protected |
Definition at line 1161 of file block_scheduler.hpp.
|
protected |
Definition at line 1166 of file block_scheduler.hpp.
|
protected |
Definition at line 1167 of file block_scheduler.hpp.
|
protected |
Definition at line 1165 of file block_scheduler.hpp.
|
protected |
Definition at line 1159 of file block_scheduler.hpp.
|
protected |
Definition at line 1163 of file block_scheduler.hpp.
|
protected |
Definition at line 1160 of file block_scheduler.hpp.
|
protected |
Definition at line 1169 of file block_scheduler.hpp.
|
protected |
Definition at line 1170 of file block_scheduler.hpp.
|
protected |
Definition at line 1168 of file block_scheduler.hpp.
|
inlineexplicit |
Definition at line 1670 of file block_scheduler.hpp.
|
inlineexplicit |
Definition at line 1675 of file block_scheduler.hpp.
|
inlinevirtual |
Definition at line 1679 of file block_scheduler.hpp.
References foxxll::pop_begin(), and TLX_LOG1.
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1701 of file block_scheduler.hpp.
References tlx::unused().
|
inlineprotected |
Definition at line 1639 of file block_scheduler.hpp.
References TLX_LOG1.
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1812 of file block_scheduler.hpp.
References TLX_LOG1.
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1692 of file block_scheduler.hpp.
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1698 of file block_scheduler.hpp.
References foxxll::pop_begin().
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1876 of file block_scheduler.hpp.
|
inlineprotected |
Wait for the write of the giver to finish and return reserved internal_block.
side-effect: erases entry for the write of the giver from write_scheduled_blocks
Definition at line 1442 of file block_scheduler.hpp.
|
inlineprotected |
Definition at line 1523 of file block_scheduler.hpp.
References TLX_LOG1.
|
inlineprotected |
Definition at line 1627 of file block_scheduler.hpp.
References block_scheduler_algorithm< SwappableBlockType >::get_prediction_sequence().
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1854 of file block_scheduler.hpp.
|
inlineprotected |
Definition at line 1513 of file block_scheduler.hpp.
|
inlinevirtual |
Implements block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1751 of file block_scheduler.hpp.
References swappable_block< ValueType, BlockSize >::dirty.
|
inlineprotected |
Definition at line 1534 of file block_scheduler.hpp.
|
inlineprotected |
Definition at line 1537 of file block_scheduler.hpp.
References foxxll::pop_begin(), and block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >::write_read_request::taker.
|
inlineprotected |
Schedule an internal and external block to read.
If the giver is still writing, schedule read via its write_read_request.
Definition at line 1285 of file block_scheduler.hpp.
References tlx::swap().
|
inlineprotected |
Schedule an internal, possibly dirty swappable_block to write.
The block becomes not dirty. if it was dirty, an entry in write_scheduled_blocks is made referencing the write_read_request.
sbid | block to write |
Definition at line 1238 of file block_scheduler.hpp.
References tlx::unused(), CountingPtr< Type, Deleter >::valid(), and block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >::write_read_request::write_req.
|
inlineprotected |
Definition at line 1479 of file block_scheduler.hpp.
|
inlineprotected |
Definition at line 1505 of file block_scheduler.hpp.
|
inlineprotected |
Definition at line 1450 of file block_scheduler.hpp.
|
inlineprotected |
Try to interrupt a read scheduled in a write_read_request.
side-effect: possibly erases entry from write_scheduled_blocks, so the iterator writing_block may become invalid
Definition at line 1262 of file block_scheduler.hpp.
|
inlineprotected |
Wait for the read to finish.
side-effect: erases entry for the write of the giver from write_scheduled_blocks
Definition at line 1429 of file block_scheduler.hpp.
|
inlineprotected |
Wait for the write to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1397 of file block_scheduler.hpp.
|
inlineprotected |
Wait for the write to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1407 of file block_scheduler.hpp.
|
inlineprotected |
Wait for the write of the giver to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1417 of file block_scheduler.hpp.
|
protected |
Holds swappable blocks, whose internal block can be freed, i.e. that are internal but unacquired.
Definition at line 1223 of file block_scheduler.hpp.
|
protected |
Definition at line 1231 of file block_scheduler.hpp.
|
protected |
Holds not internal swappable_blocks, whose next access has already been scheduled.
Definition at line 1227 of file block_scheduler.hpp.
|
protected |
Definition at line 1224 of file block_scheduler.hpp.
|
protected |
Holds swappable_blocks, whose internal block has been taken away but the clean did not finish yet.
Definition at line 1230 of file block_scheduler.hpp.