Adaptive Partitioning

Adaptive Partitioning is a technology that can budget CPU cycles for a process or group of processes to create a system whose parts are all protected against resource starvation.

Task or process starvation is a fundamental concern for any embedded system. Services provided by lower-priority threads—including diagnostic services that protect the system from software faults or denial-of-service attacks—can be starved of CPU cycles for unbounded periods, compromising system availability.

Adaptive Partitioning guarantees that all partitions get their budgeted share of CPU time to ensure your system runs correctly under all conditions.

Adaptive Partitioning reserves CPU cycles for a process (or group of processes) and applies a dynamic scheduling algorithm to assign CPU cycles from partitions that aren't using them to partitions that can benefit from extra processing time. Partition budgets are enforced only when the CPU is running to capacity. Adaptive Partitioning thus lets systems run at capacity, enforcing partitioning budgets only when processes in more than one partition compete for cycles.