ROOT-Sim core
3.0.0-rc.2
A General-Purpose Multi-threaded Parallel/Distributed Simulation Library
|
Autonomic checkpoint interval selection header. More...
#include <inttypes.h>
Go to the source code of this file.
Classes | |
struct | auto_ckpt |
Structure to keep data used for autonomic checkpointing selection. More... | |
Macros | |
#define | auto_ckpt_register_bad(auto_ckpt) ((auto_ckpt)->m_bad++) |
#define | auto_ckpt_register_good(auto_ckpt) ((auto_ckpt)->m_good++) |
#define | auto_ckpt_interval_get(auto_ckpt) ((auto_ckpt)->ckpt_interval) |
#define | auto_ckpt_is_needed(auto_ckpt) |
Functions | |
void | auto_ckpt_init (void) |
Initialize the thread-local context for the auto checkpoint module. | |
void | auto_ckpt_lp_init (struct auto_ckpt *auto_ckpt) |
Initialize the per-LP context for the auto checkpoint module. More... | |
void | auto_ckpt_on_gvt (void) |
Compute the thread-local metrics needed for the per-LP computations. More... | |
void | auto_ckpt_recompute (struct auto_ckpt *auto_ckpt, uint_fast32_t state_size) |
Compute the optimal checkpoint interval of the current LP and set it. More... | |
Autonomic checkpoint interval selection header.
The module which attempts to select the best checkpoint interval
Get the currently computed optimal checkpointing interval
auto_ckpt | a pointer to the auto-checkpoint module struct of the current LP |
#define auto_ckpt_is_needed | ( | auto_ckpt | ) |
Register a new processed message and check if, for the given LP, a checkpoint is necessary
auto_ckpt | a pointer to the auto-checkpoint module struct of the current LP |
Register a "bad" message, i.e. one message which cause a rollback
auto_ckpt | a pointer to the auto-checkpoint module struct of the current LP |
Register a "good" message, i.e. one message processed in forward execution
auto_ckpt | a pointer to the auto-checkpoint module struct of the current LP |
void auto_ckpt_lp_init | ( | struct auto_ckpt * | auto_ckpt | ) |
Initialize the per-LP context for the auto checkpoint module.
auto_ckpt | a pointer to the LP auto checkpoint context to initialize |
void auto_ckpt_on_gvt | ( | void | ) |
Compute the thread-local metrics needed for the per-LP computations.
This function should be called only at the end of GVT reductions, because the used statistics values are representative only in that moment.
void auto_ckpt_recompute | ( | struct auto_ckpt * | auto_ckpt, |
uint_fast32_t | state_size | ||
) |
Compute the optimal checkpoint interval of the current LP and set it.
auto_ckpt | a pointer to the auto checkpoint context of the current LP |
state_size | the size in bytes of the checkpoint-able state of the current LP |