STXXL
1.4.1
|
Block scheduling algorithm caching via the least recently used policy (offline), and prefetching in addition.
Definition at line 1122 of file block_scheduler.h.
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 stxxl::block_scheduler_algorithm< SwappableBlockType > | |
prediction_sequence_type | prediction_sequence |
std::vector< SwappableBlockType > & | swappable_blocks |
Additional Inherited Members | |
Public Attributes inherited from stxxl::block_scheduler_algorithm< SwappableBlockType > | |
block_scheduler_type & | bs |
|
protected |
Definition at line 1129 of file block_scheduler.h.
|
protected |
Definition at line 1135 of file block_scheduler.h.
|
protected |
Definition at line 1126 of file block_scheduler.h.
|
protected |
Definition at line 1131 of file block_scheduler.h.
|
protected |
Definition at line 1130 of file block_scheduler.h.
|
protected |
Definition at line 1134 of file block_scheduler.h.
|
protected |
Definition at line 1139 of file block_scheduler.h.
|
protected |
Definition at line 1140 of file block_scheduler.h.
|
protected |
Definition at line 1138 of file block_scheduler.h.
|
protected |
Definition at line 1132 of file block_scheduler.h.
|
protected |
Definition at line 1136 of file block_scheduler.h.
|
protected |
Definition at line 1133 of file block_scheduler.h.
|
protected |
Definition at line 1142 of file block_scheduler.h.
|
protected |
Definition at line 1143 of file block_scheduler.h.
|
protected |
Definition at line 1141 of file block_scheduler.h.
|
inline |
Definition at line 1629 of file block_scheduler.h.
|
inline |
Definition at line 1634 of file block_scheduler.h.
|
inlinevirtual |
Definition at line 1638 of file block_scheduler.h.
References stxxl::pop_begin(), and STXXL_ERRMSG.
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1660 of file block_scheduler.h.
References STXXL_ASSERT.
|
inlineprotected |
Definition at line 1599 of file block_scheduler.h.
References STXXL_MSG.
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1761 of file block_scheduler.h.
References STXXL_ERRMSG.
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1651 of file block_scheduler.h.
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1657 of file block_scheduler.h.
References stxxl::pop_begin().
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1825 of file block_scheduler.h.
|
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 1410 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1489 of file block_scheduler.h.
References STXXL_ERRMSG.
|
inlineprotected |
Definition at line 1587 of file block_scheduler.h.
References stxxl::block_scheduler_algorithm< SwappableBlockType >::get_prediction_sequence().
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1803 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1479 of file block_scheduler.h.
|
inlinevirtual |
Implements stxxl::block_scheduler_algorithm< SwappableBlockType >.
Definition at line 1704 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1500 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1503 of file block_scheduler.h.
References stxxl::pop_begin(), and stxxl::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 1255 of file block_scheduler.h.
|
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 1210 of file block_scheduler.h.
References STXXL_ASSERT, stxxl::counting_ptr< Type >::valid(), and stxxl::block_scheduler_algorithm_offline_lru_prefetching< SwappableBlockType >::write_read_request::write_req.
|
inlineprotected |
Definition at line 1445 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1471 of file block_scheduler.h.
|
inlineprotected |
Definition at line 1418 of file block_scheduler.h.
|
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 1232 of file block_scheduler.h.
|
inlineprotected |
Wait for the read to finish.
side-effect: erases entry for the write of the giver from write_scheduled_blocks
Definition at line 1397 of file block_scheduler.h.
|
inlineprotected |
Wait for the write to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1365 of file block_scheduler.h.
|
inlineprotected |
Wait for the write to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1375 of file block_scheduler.h.
|
inlineprotected |
Wait for the write of the giver to finish.
side-effect: erases entry from write_scheduled_blocks
Definition at line 1385 of file block_scheduler.h.
|
protected |
Holds swappable blocks, whose internal block can be freed, i.e. that are internal but unacquired.
Definition at line 1195 of file block_scheduler.h.
|
protected |
Definition at line 1203 of file block_scheduler.h.
|
protected |
Holds not internal swappable_blocks, whose next access has already been scheduled.
Definition at line 1199 of file block_scheduler.h.
|
protected |
Definition at line 1196 of file block_scheduler.h.
|
protected |
Holds swappable_blocks, whose internal block has been taken away but the clean did not finish yet.
Definition at line 1202 of file block_scheduler.h.