The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jun. 14, 2022

Filed:

Jun. 02, 2018
Applicant:

Apple Inc., Cupertino, CA (US);

Inventors:

John G. Dorsey, San Francisco, CA (US);

Daniel A. Chimene, San Francisco, CA (US);

Andrei Dorofeev, San Jose, CA (US);

Bryan R. Hinch, Mountain View, CA (US);

Evan M. Hoke, Milpitas, CA (US);

Aditya Venkataraman, Sunnyvale, CA (US);

Assignee:

Apple Inc., Cupertino, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/50 (2006.01); G06F 9/48 (2006.01); G06F 1/3234 (2019.01); G06F 1/329 (2019.01); G06F 1/3296 (2019.01); G06F 9/38 (2018.01); G06F 9/26 (2006.01); G06F 9/54 (2006.01); G06F 1/20 (2006.01); G06F 1/324 (2019.01); G06F 1/3206 (2019.01); G06F 9/30 (2018.01);
U.S. Cl.
CPC ...
G06F 9/505 (2013.01); G06F 1/206 (2013.01); G06F 1/324 (2013.01); G06F 1/329 (2013.01); G06F 1/3243 (2013.01); G06F 1/3296 (2013.01); G06F 9/268 (2013.01); G06F 9/3851 (2013.01); G06F 9/3891 (2013.01); G06F 9/4856 (2013.01); G06F 9/4881 (2013.01); G06F 9/4893 (2013.01); G06F 9/5044 (2013.01); G06F 9/5094 (2013.01); G06F 9/54 (2013.01); G06F 1/3206 (2013.01); G06F 9/30145 (2013.01); G06F 2209/501 (2013.01); G06F 2209/509 (2013.01); G06F 2209/5018 (2013.01);
Abstract

Systems and methods are disclosed for scheduling threads on an asymmetric multiprocessing system having multiple core types. Each core type can run at a plurality of selectable voltage and frequency scaling (DVFS) states. Threads from a plurality of processes can be grouped into thread groups. Execution metrics are accumulated for threads of a thread group and fed into a plurality of tunable controllers. A closed loop performance control (CLPC) system determines a control effort for the thread group and maps the control effort to a recommended core type and DVFS state. A closed loop thermal and power management system can limit the control effort determined by the CLPC for a thread group, and limit the power, core type, and DVFS states for the system. Metrics for workloads offloaded to co-processors can be tracked and integrated into metrics for the offloading thread group.


Find Patent Forward Citations

Loading…