Functions | |
int | fsf_set_contract_reclamation_parameters (fsf_contract_parameters_t *contract, const struct timespec *budget_max, const struct timespec *period_min, fsf_granularity_t granularity, const fsf_utilization_set_t *utilization_set, int quality, int importance) |
int | fsf_get_contract_reclamation_parameters (const fsf_contract_parameters_t *contract, struct timespec *budget_max, struct timespec *period_min, fsf_granularity_t *granularity, fsf_utilization_set_t *utilization_set, int *quality, int *importance) |
int | fsf_request_change_quality_and_importance (fsf_server_id_t server, int new_importance, int new_quality) |
int | fsf_get_total_quality (fsf_server_id_t server, int *total_quality) |
int | fsf_get_available_capacity (fsf_server_id_t server, uint32_t *capacity) |
This module include functions for sharing the spare capacity in the system between the servers. It allows to mainly to specify additional contract parameters to allow the sharing of the spare capacity.
The features provided by this module are different from the services provided by the Dynamic reclamation module. This module influences the negotiation procedure (see the Negotiate contract functions module).
|
This operation stores in the variable pointed to by capacity the spare capacity currently available for the importance level of the specified server. The capacity is the utilization (of the processor or of the network) and it is represented by an integer number between 0 (no utilization) and UINT32_MAX (all utilization).
|
|
The operation obtains from the specified contract parameters object its granularity, utilization set, quality, and importance. Then copies them to the variables pointed to by the specified input parameters. Only the utilization_values of the utilization_set that are in use, are copied (according to its size field).
|
|
This operation calculates the sum of the quality parameters for all servers in the system of importance level equal to that of the specified server, and stores it in the variable pointed to by total_quality.
|
|
The operation enqueues a request to change the quality and importance parameters of the specified server, and returns immediately. The change operation is performed as soon as it is practical; meanwhile the system operation will continue normally.
|
|
The operation updates the specified contract parameters object by setting its maximum usable budget, minimum period, granularity, utilization set, quality, and importance to the specified input parameters.
|