# US 2014/0196046 A1 · Scheduling and/or organizing task execution for a target computing platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0196046 A1
- Document ID: US20140196046A1
- Status: Published application
- Kind: A1
- Application number: 14/171,323
- Filed: 2014-02-03
- Published: 2014-07-10
- Earliest claimed: 2009-04-17
- Assignees: Empire Technology Development LLC
- Applicants: Empire Technology Development, LLC
- Inventors: MIODRAG POTKONJAK
- Web page: https://patentgrep.com/patent/US20140196046A1

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Techniques are generally described relating to methods, apparatuses and articles of manufactures for scheduling and/or organizing execution of tasks on a computing platform. In various embodiments, the method may include identifying successively one or more critical time intervals, and scheduling and/or organizing task execution for each of the one or more identified critical time intervals. In various embodiments, one or more tasks to be executed may be scheduled to execute based in part on their execution completion deadlines. In various embodiments, organizing one or more tasks to execute may include selecting a virtual operating mode of the platform using multiple operating speeds lying on a convexity energy-speed envelope of the platform. Intra-task delay caused by switching operating mode may be considered. Other embodiments may also be described and/or claimed.

## Claims

### Claim 1

A method to schedule a task to be executed on a computing platform, where the computing platform is capable to operate at two or more operating speeds, the method comprising:
determining respective lengths of clock cycles at the two or more operating speeds;
determining, at least partially based on the respective lengths of the clock cycles, a number of clock cycles on the computing platform to complete the task;
determining, at least partially based on the number of clock cycles to complete the task, a virtual operating speed of the computing platform to perform the task by or before a completion deadline of the task so as to achieve a particular energy consumption,
wherein the virtual operating speed is based on operation of the computing platform at a first operating speed for a first specified time and at a second operating speed for a second specified time,
wherein the first, virtual and second operating speeds are on a convex enclosure curve that is at least partially based on energy consumption for the two or more operating speeds,
wherein the virtual operating speed is higher than the first operating speed but lower than the second operating speed, and
wherein the first and second operating speeds are two closest operating speeds to the virtual operating speed; and
scheduling the task to be executed on the computing platform at the virtual operating speed.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a delay, wherein the task is idle during the delay when the computing platform switches between the first operating speed and the second operating speed,
wherein scheduling the task to be executed on the computing platform at the virtual operating speed includes scheduling the task having taken the delay into consideration.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the delay further comprises determining a change in at least one of a bias voltage and a supply voltage of the computing platform.

### Claim 4 (depends on 1)

The method of claim 1, further comprising scheduling the task to be executed at least partially based on an energy dissipated when the computing platform switches between operating at the two closest operating speeds on the convex enclosure curve.

### Claim 5 (depends on 1)

The method of claim 1, further comprising calculating the virtual operating speed at least partially based on the two closest operating speeds in the convex enclosure curve operating for respective periods of time.

### Claim 6 (depends on 5)

The method of claim 5, further comprising scheduling the task to be executed at least partially based on an energy dissipated when the computing platform switches between operating at the two closest operating speeds on the convex enclosure curve.

### Claim 7 (depends on 6)

The method of claim 6, wherein the energy dissipated is determined based on a power rail capacitance of the computing platform and a substrate and well capacitance of the computing platform.

### Claim 8

An apparatus effective to schedule a task to be executed on a computing platform, where the computing platform is configured to operate at two or more operating speeds, the apparatus comprising:
a processor effective to:
determine respective lengths of clock cycles at the two or more operating speeds;
determine, at least partially based on the respective lengths of the clock cycles, a number of clock cycles on the computing platform to complete the task;
determine, at least partially based on the number of clock cycles to complete the task, a virtual operating speed of the computing platform to perform the task by or before a completion deadline of the task so as to achieve a particular energy consumption,
wherein the virtual operating speed is based on operation of the computing platform at a first operating speed for a first specified time and at a second operating speed for a second specified time,
wherein the first, virtual and second operating speeds are on a convex enclosure curve that is at least partially based on energy consumption for the two or more operating speeds,
wherein the virtual operating speed is higher than the first operating speed but lower than the second operating speed, and
wherein the first and second operating speeds are two closest operating speeds to the virtual operating speed; and
schedule the task to be executed on the computing platform at the virtual operating speed.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the processor is further effective to determine a delay, wherein the task is idle during the delay when the computing platform switches between the first operating speed and the second operating speed, and wherein the task is scheduled having taken the delay into consideration.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the delay is further determined based on at least one of a change in a bias voltage and a change in a supply voltage of the computing platform.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the processor is further effective to calculate the virtual operating speed at least partially based on the two closest operating speeds in the convex enclosure curve in operation for respective periods of time.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein the processor is further effective to schedule the task to be executed at least partially based on an energy dissipated when the computing platform switches between operation at the two closest operating speeds on the convex enclosure curve.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the processor is further effective to schedule the task to be executed at least partially based on an energy dissipated when the computing platform switches between operation at the two closest operating speeds on the convex enclosure curve.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the energy dissipated is determined based on a power rail capacitance of the computing platform and a substrate and well capacitance of the computing platform.

### Claim 15

A non-transitory computer-readable medium that includes computer-executable instructions stored thereon to schedule a task to be executed on a computing platform, where the computing platform is capable to operate at two or more operating speeds, the instructions being executable by one or more processors to perform or cause to be performed:
determining, at least partially based on respective lengths of clock cycles at the two or more operating speeds, a number of clock cycles on the computing platform to complete the task;
determining, at least partially based on the number of clock cycles to complete the task, a virtual operating speed of the computing platform to perform the task by or before a completion deadline of the task so as to achieve a particular energy consumption,
wherein the virtual operating speed is based on operation of the computing platform at a first operating speed for a first specified time and at a second operating speed for a second specified time,
wherein the first, virtual, and second operating speeds are on a convex enclosure curve that is at least partially based on energy consumption for the two or more operating speeds,
wherein the virtual operating speed is higher than the first operating speed but lower than the second operating speed, and
wherein the first and second operating speeds are two closest operating speeds to the virtual operating speed; and
scheduling the task to be executed on the computing platform at the virtual operating speed.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions are executable by one or more processors to further perform or cause to be performed:
determining a delay, wherein the task is idle during the delay when the computing platform switches between the first operating speed and the second operating speed,
wherein scheduling the task to be executed on the computing platform at the virtual operating speed includes scheduling the task having taken the delay into consideration.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the instructions are executable by one or more processors to further perform or cause to be performed:
calculating the virtual operating speed at least partially based on the two closest operating speeds in the convex enclosure curve operating for respective periods of time.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions are executable by one or more processors to further perform or cause to be performed:
scheduling the task to be executed at least partially based on an energy dissipated when the computing platform switches between operation at the two closest operating speeds on the convex enclosure curve.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the energy dissipated is calculated based on at least one of a change in a bias voltage and a change in a supply voltage of the computing platform.

### Claim 20 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the energy dissipated is calculated by determination of a power rail capacitance and a substrate and well capacitance of the computing platform.
