CHKPT_TASK Class Reference

Implements a task that checkpoints periodically. More...

#include <chkpt_task.h>

List of all members.

Public Member Functions

 CHKPT_TASK (const char *project_name, const char *name, double compute_duration, double message_size, void *data, int num_segments)
void * get_data ()
MSG_error_t execute ()
MSG_error_t cancel ()
const char * get_name ()
void set_cpu_no (int cpu_no)
int get_cpu_no ()
bool is_primary_host (m_host_t host)
void update_project_metrics ()

Public Attributes

string project_name
string task_name
double task_compute_duration
double task_message_size
void * task_data
m_task_t subtask_curr
double subtask_compute_duration
double subtask_message_size
void * subtask_data
int num_segments
int num_segments_remaining
int num_segments_completed
int num_segments_attempts
bool cancelled
bool completed
double wall_start_time
double wall_stop_time
double wall_completion_time
bool first_execution
int cpu_no
double report_deadline

Detailed Description

Implements a task that checkpoints periodically.

Note one cannout use MSG to send or receive a checkpoint task (e.g. we do not implement the equivalent of MSG_task_get_sender, MSG_task_get_source, MSG_process_suspend).

Constructor & Destructor Documentation

CHKPT_TASK::CHKPT_TASK const char *  project_name,
const char *  name,
double  compute_duration,
double  message_size,
void *  data,
int  num_segments


Member Function Documentation

MSG_error_t CHKPT_TASK::cancel  ) 

if a (sub)task is executing, cancel it.

state of chkpt task as an MSG_error_t

MSG_error_t CHKPT_TASK::execute  ) 

int CHKPT_TASK::get_cpu_no  ) 

void * CHKPT_TASK::get_data  ) 

const char * CHKPT_TASK::get_name  ) 

bool CHKPT_TASK::is_primary_host m_host_t  host  ) 

void CHKPT_TASK::set_cpu_no int  cpu_no  ) 

void CHKPT_TASK::update_project_metrics  ) 

Assumes that it is only called when a task is completed and wall_completion_time is set

Member Data Documentation

bool CHKPT_TASK::cancelled

bool CHKPT_TASK::completed

int CHKPT_TASK::cpu_no

cpu id that task is executing on

bool CHKPT_TASK::first_execution

whether this is the first time we have tried to execute the task

int CHKPT_TASK::num_segments

int CHKPT_TASK::num_segments_attempts

number of times we've tried to complete segments

int CHKPT_TASK::num_segments_completed

int CHKPT_TASK::num_segments_remaining

string CHKPT_TASK::project_name

double CHKPT_TASK::report_deadline

set in RESULT::set_chkpt_task

double CHKPT_TASK::subtask_compute_duration

m_task_t CHKPT_TASK::subtask_curr

subtask that the host is currently executing

void* CHKPT_TASK::subtask_data

double CHKPT_TASK::subtask_message_size

double CHKPT_TASK::task_compute_duration

void* CHKPT_TASK::task_data

double CHKPT_TASK::task_message_size

string CHKPT_TASK::task_name

double CHKPT_TASK::wall_completion_time

completion time, i.e., time elapsed between wall_start_time and wall_stop_time

double CHKPT_TASK::wall_start_time

start time according to simulated wall clock time

double CHKPT_TASK::wall_stop_time

stop time according to simulated wall clock time

The documentation for this class was generated from the following files:
Generated on Mon Mar 12 16:22:02 2007 for SimBOINC by  doxygen 1.4.6