Method and apparatus for slack stealing with dynamic threads
AssigneeHoneywell International Inc.
InventorPamela A. Binns
Life of this patent
Estimating the term…
Abstract
In a multitasking system executing real-time harmonic and dynamic tasks having various priority levels, slack is stolen from both timeline and reclaimed slack to enable the execution of high priority non-essential tasks on a best efforts basis. Counts of the amount of slack consumed, slack reclaimed, and periodic compute time consumed are maintained by individual priority level and dynamically updated at certain times. Idle time is calculated by priority level. Available slack is calculated, and slack is allocated and consumed by rate, with the highest rate first and the lowest rate last. Also described are a computer system and various methods that perform slack stealing in a multitasking system in which dynamic tasks can request activation or deactivation at any time.
Claims38
In a multitasking system executing real-time harmonic and dynamic tasks that can request activation or deactivation at any time, a method of scheduling tasks comprising:
- assigning priority levels to tasks;
- determining available slack for tasks at each priority level, taking into account tasks that are activating and inactivating;
- and
- allocating slack to tasks in order of priority.
A machine-readable medium having instructions stored thereon capable of causing a processor to carry out a method, the method comprising:
- assigning priority levels to tasks;
- determining available slack for tasks at each priority level, taking into account tasks that are activating and inactivating;
- and
- allocating slack to tasks in order of priority.
In a multitasking system executing real-time harmonic and dynamic tasks which can request activation or deactivation at any time, a method of scheduling tasks comprising:
- determining available slack for tasks, taking into account tasks that are activating and inactivating;
- and
- allocating slack to requesting tasks.
A machine-readable medium having instructions stored thereon capable of causing a processor to carry out a method, the method comprising:
- determining available slack for tasks, taking into account tasks that are activating and inactivating, by:
- determining slack consumed;
- determining timeline slack;
- determining slack reclaimed;
- and
- determining idle time;
- and
- allocating slack to requesting tasks.
A multitasking system, comprising:
- a processor;
- a plurality of tasks operating on the processor, wherein each task of the plurality of tasks is of a task type selected from the group consisting of periodic and aperiodic, wherein each task of the plurality of tasks has associated with it at least one worst-case execution time;
- and
- an executive in communication with the processor and controlling dispatching of tasks on the processor, wherein the executive comprises:
- a first module that determines available slack, taking into account aperiodic tasks that are requesting activation and deactivation at unpredictable times;
- and
- a second module that allocates available slack to aperiodic tasks.
In a multitasking system executing real-time processes that can request activation or deactivation at any time, a method of scheduling processes comprising:
- assigning priority levels to processes;
- determining available slack for processes at each priority level, taking into account processes that are activating and inactivating;
- and
- allocating slack to processes in order of priority.
Dependencies are inferred from the claim text.