Examples of factors fi are listed for each of the costs below. Weights wi and exponents xi can be determined in a variety of ways, such as empirically and by simulation. Initial weights and exponents can be tuned to various application needs, and can be adjusted by an administrator to increase performance. The weights can be adjusted while the system is active, and changing weights does not change the semantics of the hyper-kernel, only the operational performance characteristics.
Examples of the factors that can be considered include:
-
- Length of time since the last processor evacuated this scheduler object.
- Height of the scheduler object in the TidalTree.
- Length of the work queue.
- Reservation status (i.e., it may be the case that some application has reserved this resource for a specific reason).
- Node specification (i.e., the node itself might have been taken out of service, or is problematic, has in some way a specialized function, etc.).
- Age of the continuation in the queue.
- Last physical processor to run this continuation.
- Last virtual processor to run this continuation.
- Node on which this continuation was last executing.
- The “temperature” of the cache. (A cache is “warm” when it has entries that are likely to be reused. A cache is “cold” when it is unlikely to have reusable cache entries.)