Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude
First Claim
1. A method of a responsive hardware device implemented in a processor having one or more logical cores for programming a major task, comprising:
- receiving the major task, wherein the major task has a defined response time requirement requires certain output within a certain time after the arrival of the last of certain input necessary to generate the output;
subdividing the major task into one first task and one or more second tasks, the first task having a higher priority than the one or more second tasks, the first task having an associated first response time requirement, each second task defining a second output and having an associated second response time requirement, so that the outputs of the major task are produced within the defined response time requirement of the major task;
the first task receiving data and timing input from one or more hardware sources to build a foundational state of each of the one or more second tasks and using the data and timing input to create one or more packets with the data and timing for each of the one or more second tasks; and
each of the one or more second tasks receiving the one or more packets and producing outputs based on the data and timing contained in the received one or more packets and the foundational state received previously by the second task to produce the second output, wherein the data and timing contained in the one or more packets received by the second task, together with the foundational state received previously by the second task, constitutes input as a state to enable the second task to produce the second output within the second response time requirement.
0 Assignments
0 Petitions
Accused Products
Abstract
A task scheduling method is disclosed, where each processor core is programmed with a short list of priorities, each associated with a minimum response time. The minimum response times for adjacent priorities are different by at least one order of magnitude. Each process is assigned a priority based on how its expected response time compares with the minimum response times of the priorities. Lower priorities may be assigned a timeslice period that is a fraction of the minimum response time. Also disclosed is a task division method of dividing a complex task into multiple tasks is; one of the tasks is an input gathering authority task having a higher priority, and it provides inputs to the other tasks which have a lower priority. A method that permits orderly shutdown or scaling back of task activities in case of resource emergencies is also described.
17 Citations
1 Claim
-
1. A method of a responsive hardware device implemented in a processor having one or more logical cores for programming a major task, comprising:
-
receiving the major task, wherein the major task has a defined response time requirement requires certain output within a certain time after the arrival of the last of certain input necessary to generate the output; subdividing the major task into one first task and one or more second tasks, the first task having a higher priority than the one or more second tasks, the first task having an associated first response time requirement, each second task defining a second output and having an associated second response time requirement, so that the outputs of the major task are produced within the defined response time requirement of the major task; the first task receiving data and timing input from one or more hardware sources to build a foundational state of each of the one or more second tasks and using the data and timing input to create one or more packets with the data and timing for each of the one or more second tasks; and each of the one or more second tasks receiving the one or more packets and producing outputs based on the data and timing contained in the received one or more packets and the foundational state received previously by the second task to produce the second output, wherein the data and timing contained in the one or more packets received by the second task, together with the foundational state received previously by the second task, constitutes input as a state to enable the second task to produce the second output within the second response time requirement.
-
Specification