Moving average predictor.

Data Structures

struct  movavg_params_struct
 Parameters for movavg predictor. More...
struct  movavg_struct
 Moving Average predictor class definition. More...

Files

file  movavg.h
 

Private interface for the Moving Average predictor.


file  movavg_lib.h
 

Public interface for the Moving Average predictor.


Defines

#define MAX_FORGET_F   32768
 Value of forget_f corresponding to 1.0.
#define MAX_FORGET_F_BITS   15
 Value of forget_f corresponding to 1.0 (log_2).
#define MOVAVG_DEF_SAMPLESIZE   3
 Default sample size.
#define MOVAVG_DEF_FORGETF   1.0
 Default forgetting factor.

Typedefs

typedef struct movavg_params_struct movavg_params_t
 Parameters for movavg predictor.
typedef struct movavg_struct movavg_t
 Moving Average predictor class definition.

Functions

qos_rv movavg_register (void)
 Register the Moving Average class with the framework.
qos_rv movavg_init (void *self, void *params)
 Initialize a movavg object.
qos_rv movavg_final (qmgr_pred_t *self)
 Virtual destructor for a movavg object.
qos_rv movavg_add_sample (qmgr_pred_t *pred, qres_time_t new_sample)
 Virtual add_sample function for movavg object.
qres_time_t movavg_get_exp_value (qmgr_pred_t *pred)
qos_rv movavg_add_sample_ff (qmgr_pred_t *pred, qres_time_t new_sample)
qres_time_t movavg_get_exp_value_ff (qmgr_pred_t *pred)
qos_rv movavg_set_defaults (void)
 Configures a Moving Average predictor with default parameters.
qos_rv movavg_set_sample_size (int sample_size)
 Sets the sample size for the Moving Average predictor.
qos_rv movavg_set_forget_f (float ff)
 Sets a forgetting factor lower than 1.

Define Documentation

#define MAX_FORGET_F   32768

Value of forget_f corresponding to 1.0.

== 2 ^ MAX_FORGET_F_BITS

Definition at line 17 of file movavg.h.


Function Documentation

qos_rv movavg_add_sample ( qmgr_pred_t pred,
qres_time_t  new_sample 
)

Virtual add_sample function for movavg object.

Todo:
2 versions of this function could be created, one for the initial transitory when the window is not yet full, and another to be used when the window is full. By replacing the function pointer in the virtual table, this would avoid one comparison in the function at each call.
qos_rv movavg_init ( void *  self,
void *  params 
)

Initialize a movavg object.

Parameters:
params Set of parameters passed by the QMGR Library. When in kernel-space, self is a pointer to user-space.
Returns:
QOS_OK or one of the predefined error-codes.
qos_rv movavg_set_defaults ( void   ) 

Configures a Moving Average predictor with default parameters.

Tells to the QoS library to use a moving average predictor with a default set of parameters.

qos_rv movavg_set_forget_f ( float  ff  ) 

Sets a forgetting factor lower than 1.

Parameters:
ff The forgetting factor to be used, in the open range ]0,1[.
qos_rv movavg_set_sample_size ( int  sample_size  ) 

Sets the sample size for the Moving Average predictor.

Parameters:
sample_size The number of past samples on which the moving average is computed
Generated on Mon Aug 2 22:38:48 2010 for qosmgr by  doxygen 1.6.3