 |
The ROme OpTimistic Simulator
3.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
|
Go to the documentation of this file.
18 #define B_TOTAL_EXP 17U
19 #define B_BLOCK_EXP 6U
20 #define B_LOG_INCREMENTAL_THRESHOLD 0.5
21 #define B_LOG_FREQUENCY 50
38 uint_least8_t
longest[(1U << (B_TOTAL_EXP - B_BLOCK_EXP + 1))];
41 #ifdef ROOTSIM_INCREMENTAL
48 (1 << (B_TOTAL_EXP - 2 * B_BLOCK_EXP + 1)) +
50 (1 << (B_TOTAL_EXP - B_BLOCK_EXP))
59 #ifdef ROOTSIM_INCREMENTAL
66 (1 << (B_TOTAL_EXP - 2 * B_BLOCK_EXP + 1)) +
68 (1 << (B_TOTAL_EXP - B_BLOCK_EXP))
75 uint_least8_t
longest[(1U << (B_TOTAL_EXP - B_BLOCK_EXP + 1))];
81 offsetof(
struct mm_state, longest) ==
82 offsetof(
struct mm_state, base_mem) -
83 sizeof(((
struct mm_state *)0)->longest),
84 "longest and base_mem are not contiguous, this will break incremental checkpointing");
The checkpointable memory context assigned to a single LP.
unsigned char block_bitmap
The type of a generic bitmap.
uint_fast32_t dirty_mem
The bytes count of the memory dirtied by writes.
block_bitmap dirty[bitmap_required_size((1<<(17U - 2 *6U+1))+(1<<(17U - 6U)))]
Keeps track of memory blocks which have been dirtied by a write.
uint_fast32_t used_mem
The used memory in bytes when this checkpoint was taken.
dyn_array(struct mm_log { array_count_t ref_i;struct mm_checkpoint *c;}) logs
The array of checkpoints.
bool is_incremental
If set this checkpoint is incremental, else it is a full one.
#define bitmap_required_size(requested_bits)
Computes the required size of a bitmap.
uint_fast32_t array_count_t
The type used to handle dynamic arrays count of elements and capacity.
uint_least8_t longest[(1U<<(17U - 6U+1))]
The checkpointed binary tree representing the buddy system.
block_bitmap dirty[bitmap_required_size((1<<(17U - 2 *6U+1))+(1<<(17U - 6U)))]
The checkpoint of the dirty bitmap.
uint_least8_t longest[(1U<<(17U - 6U+1))]
The checkpointed binary tree representing the buddy system.
unsigned char base_mem[1U<< 17U]
The memory buffer served to the model.
A restorable checkpoint of the memory context assigned to a single LP.
unsigned char base_mem[]
The checkpointed memory buffer assigned to the model.
uint_fast32_t used_mem
The count of allocated bytes.