Data Structures | |
struct | rsd_partial_t |
struct | rsd_params_struct |
Parameters for rsd predictor. More... | |
struct | rsd_struct |
Moving Average predictor class definition. More... | |
Files | |
file | rsd.h |
Private interface for the Moving Average predictor. | |
file | rsd_lib.h |
Public interface for the Recursive Steepest Descent predictor. | |
Defines | |
#define | FIR_COEFF_BITS 16 |
Decimal bits in the fixed point representation of a filter coefficient. | |
#define | FIR_COEFF_ONE (1 << (FIR_COEFF_BITS)) |
Unity (1.0) in the fixed point representation of a filter coefficient. | |
#define | RSD_DEF_SAMPLESIZE 36 |
Default sample size. | |
#define | RSD_DEF_FIRSIZE 12 |
Default filter size. | |
#define | RSD_DEF_MU 0.1 |
Default mu coefficient. | |
Typedefs | |
typedef long int | fir_coeff_t |
Fixed point representation of a filter coefficient. | |
typedef struct rsd_params_struct | rsd_params_t |
Parameters for rsd predictor. | |
typedef struct rsd_struct | rsd_t |
Moving Average predictor class definition. | |
Functions | |
static fir_coeff_t | fir_coeff_mul (fir_coeff_t x, fir_coeff_t y) |
static fir_coeff_t | fir_coeff_div (fir_coeff_t x, fir_coeff_t y) |
qos_rv | rsd_register (void) |
Register the Moving Average class with the framework. | |
qos_rv | rsd_init (void *self, void *params) |
Initialize a rsd object. | |
qos_rv | rsd_final (qmgr_pred_t *self) |
Virtual destructor for a rsd object. | |
qos_rv | rsd_add_sample (qmgr_pred_t *pred, qres_time_t new_sample) |
Virtual add_sample function for rsd object. | |
qres_time_t | rsd_get_exp_value (qmgr_pred_t *pred) |
qos_rv | rsd_set_defaults (void) |
Configures an RSD predictor with default parameters. | |
qos_rv | rsd_set_sample_size (int sample_size) |
Sets the sample size for the RSD predictor. | |
qos_rv | rsd_set_fir_size (int fir_size) |
Sets the filter size for the RSD predictor. | |
qos_rv | rsd_set_mu (double mu) |
Sets the mu coefficient for the RSD predictor. |
qos_rv rsd_add_sample | ( | qmgr_pred_t * | pred, | |
qres_time_t | new_sample | |||
) |
Virtual add_sample function for rsd object.
qos_rv rsd_init | ( | void * | self, | |
void * | params | |||
) |
Initialize a rsd object.
params | Set of parameters passed by the QMGR Library. When in kernel-space, self is a pointer to user-space. |
qos_rv rsd_set_fir_size | ( | int | fir_size | ) |
Sets the filter size for the RSD predictor.
fir_size | The number of coefficients of the adaptive linear filter, which must be lower than or equal to the sample size minus 1. |
qos_rv rsd_set_mu | ( | double | mu | ) |
Sets the mu coefficient for the RSD predictor.
mu | The portion of inverted normalized gradient which is added to the filter coefficients at each step (0 < mu < 2). |
qos_rv rsd_set_sample_size | ( | int | sample_size | ) |
Sets the sample size for the RSD predictor.
sample_size | The number of past samples on which the filter is optimized, which must be greater than or equal to the filter size plus 1. |