]> rtime.felk.cvut.cz Git - frescor/frsh-include.git/blobdiff - frsh_spare_capacity.h
Passing FRSH_TRACE as a standard (non-inlined) function in order for -O1 to
[frescor/frsh-include.git] / frsh_spare_capacity.h
index 6b68d50e9e707023548c7a9f44d4a89c9e1a8f04..2b14098631fa84fc77ea3310b08e9ba53b0d63b0 100644 (file)
  * There are no specific negotiation calls because the algorithms used
  * in the core module take already these min-max ranges into account.
  *
+ * An operation is available for applications to ask for a stability
+ * period of a specified length. The framework will then return the
+ * total capacity (execution time budget and virtual resource period)
+ * that the application is guaranteed to receive in this stability
+ * period. The rationale for this service is that jobs may span a
+ * number of virtual resource periods, and need to have a guaranteed
+ * amount of capacity before they can choose a higher quality (longer
+ * execution time) method, when multiple methods are available. Also
+ * applications may require that the capacity provided to them and
+ * hence the quality of results produced remains consistent for a
+ * period of time, so that consistent behaviour is provided for the
+ * user (e.g. multimedia applications).
+ *
+ * Requesting a new stability period has the effect of cancelling any
+ * previous one. So a subsequent request for stability up to the same
+ * point in time could return a lower total capacity, if spare capacity
+ * re-allocation is in progress due to the admission of a new
+ * application. If a stability period expires without having explicitly
+ * set a new one, the system may decide to perform a reallocation of
+ * spare resources at that point, or may defer this decision to some
+ * future point in time when it is appropriate. In both cases, a new
+ * stability period will start when the new spare capacity assignment
+ * is in effect.
+ *
+ *
  * NOTE:  When we talk here about "spare capacity" we mean STATIC extra
  *        capacity at NEGOTIATION TIME.  This is the minimum capacity
  *        that the vres will get based on contract negotiation.
@@ -294,7 +319,7 @@ int frsh_resource_get_total_weight
    (const frsh_resource_type_t resource_type,
     const frsh_resource_id_t resource_id,
     const int importance,
-    uint32_t *capacity);
+    uint32_t *total_weight);
 
 
 /**