-
公开(公告)号:US11231966B2
公开(公告)日:2022-01-25
申请号:US16147077
申请日:2018-09-28
Applicant: Apple Inc.
Inventor: John G. Dorsey , Daniel A. Chimene , Andrei Dorofeev , Bryan R. Hinch , Evan M. Hoke , Aditya Venkataraman
IPC: G06F9/50 , G06F9/48 , G06F1/3234 , G06F1/329 , G06F1/3296 , G06F9/38 , G06F9/26 , G06F9/54 , G06F1/20 , G06F1/324 , G06F1/3206 , G06F9/30
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.
-
公开(公告)号:US10942850B2
公开(公告)日:2021-03-09
申请号:US16513225
申请日:2019-07-16
Applicant: Apple Inc.
Inventor: John G. Dorsey , Aditya Venkataraman , Bryan R. Hinch , Daniel A. Chimene , Andrei Dorofeev , Constantin Pistol
IPC: G06F12/00 , G06F12/0802
Abstract: A processing system can include a plurality of processing clusters. Each processing cluster can include a plurality of processor cores and a last level cache. Each processor core can include one or more dedicated caches and a plurality of counters. The plurality of counters may be configured to count different types of cache fills. The plurality of counters may be configured to count different types of cache fills, including at least one counter configured to count total cache fills and at least one counter configured to count off-cluster cache fills. Off-cluster cache fills can include at least one of cross-cluster cache fills and cache fills from system memory. The processing system can further include one or more controllers configured to control performance of one or more of the clusters, the processor cores, the fabric, and the memory responsive to cache fill metrics derived from the plurality of counters.
-
公开(公告)号:US20180349176A1
公开(公告)日:2018-12-06
申请号:US15870763
申请日:2018-01-12
Applicant: Apple Inc.
Inventor: Jeremy C. Andrus , John G. Dorsey , James M. Magee , Daniel A. Chimene , Cyril de la Cropte de Chanterac , Bryan R. Hinch , Aditya Venkataraman , Andrei Dorofeev , Nigel R. Gamble , Russell A. Blaine , Constantin Pistol
CPC classification number: G06F9/505 , G06F1/206 , G06F1/3206 , G06F1/324 , G06F1/3243 , G06F1/329 , G06F1/3296 , G06F9/268 , G06F9/30145 , G06F9/3851 , G06F9/3891 , G06F9/4856 , G06F9/4881 , G06F9/4893 , G06F9/5044 , G06F9/5094 , G06F9/54 , G06F2209/501 , G06F2209/5018 , G06F2209/509
Abstract: Systems and methods are disclosed for scheduling threads on a processor that has at least two different core types, such as an asymmetric multiprocessing system. 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 for the thread group. 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. Deferred interrupts can be used to increase performance.
-
公开(公告)号:US20160360488A1
公开(公告)日:2016-12-08
申请号:US14846678
申请日:2015-09-04
Applicant: APPLE INC.
Inventor: Gaurav Kapoor , Andrei Dorofeev , Varaprasad V. Lingutla , Cyril de la Cropte de Chanterac
IPC: H04W52/02
CPC classification number: H04W52/0264 , G06F21/31 , G06F2221/2105 , H04W52/0251 , H04W52/0254 , Y02D70/00 , Y02D70/1224 , Y02D70/142 , Y02D70/144 , Y02D70/146 , Y02D70/164 , Y02D70/26
Abstract: An example computer-implemented method includes determining, by an electronic device, that the electronic device has not received a user activity for an interval of time. The method also includes determining, by the electronic device, a contextual state of the electronic device, and adapting, by the electronic device, a sleep delay value based on the determined contextual state of the electronic device. The method also includes determining that the interval of time has exceeded the sleep delay value, and responsive to determining that the interval of time has exceeded the sleep delay value, transitioning, by the electronic device, from a first power state to a second power state, where the first power state is higher or lower than the second power state.
Abstract translation: 计算机实现的示例的示例包括通过电子设备确定电子设备在一段时间内尚未接收到用户活动。 该方法还包括由电子设备确定电子设备的上下文状态,以及基于所确定的电子设备的上下文状态,通过电子设备调整睡眠延迟值。 该方法还包括确定时间间隔已经超过睡眠延迟值,并且响应于确定时间间隔已经超过睡眠延迟值,由电子设备从第一功率状态转换到第二功率状态 ,其中第一功率状态高于或低于第二功率状态。
-
公开(公告)号:US11709748B2
公开(公告)日:2023-07-25
申请号:US17098262
申请日:2020-11-13
Applicant: Apple Inc.
Inventor: John G. Dorsey , Andrei Dorofeev , Keith Cox
CPC classification number: G06F11/3024 , G06F9/5094 , G06F11/076 , G06F11/3058 , G06F11/3409
Abstract: A device implementing adaptive memory performance control by thread group may include a memory and at least one processor. The at least one processor may be configured to execute a group of threads on one or more cores. The at least one processor may be configured to monitor a plurality of metrics corresponding to the group of threads executing on one or more cores. The metrics may include, for example, a core stall ratio and/or a power metric. The at least one processor may be configured to determine, based at least in part on the plurality of metrics, a memory bandwidth constraint with respect to the group of threads executing on the one or more cores. The at least one processor may be configured to, in response to determining the memory bandwidth constraint, increase a memory performance corresponding to the group of threads executing on the one or more cores.
-
公开(公告)号:US10956220B2
公开(公告)日:2021-03-23
申请号:US15870760
申请日:2018-01-12
Applicant: Apple Inc.
Inventor: Jeremy C. Andrus , John G. Dorsey , James M. Magee , Daniel A. Chimene , Cyril de la Cropte de Chanterac , Bryan R. Hinch , Aditya Venkataraman , Andrei Dorofeev , Nigel R. Gamble , Russell A. Blaine , Constantin Pistol , James S. Ismail
IPC: G06F1/3206 , G06F9/50 , G06F9/48 , G06F1/3234 , G06F1/329 , G06F1/3296 , G06F9/38 , G06F9/26 , G06F9/54 , G06F1/20 , G06F1/324 , G06F9/30
Abstract: Systems and methods are disclosed for scheduling threads on a processor that has at least two different core types, such as an asymmetric multiprocessing system. 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 for the thread group. 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. Deferred interrupts can be used to increase performance.
-
公开(公告)号:US20210019258A1
公开(公告)日:2021-01-21
申请号:US16513225
申请日:2019-07-16
Applicant: Apple Inc.
Inventor: John G. Dorsey , Aditya Venkataraman , Bryan R. Hinch , Daniel A. Chimene , Andrei Dorofeev , Constantin Pistol
IPC: G06F12/0802
Abstract: A processing system can include a plurality of processing clusters. Each processing cluster can include a plurality of processor cores and a last level cache. Each processor core can include one or more dedicated caches and a plurality of counters. The plurality of counters may be configured to count different types of cache fills. The plurality of counters may be configured to count different types of cache fills, including at least one counter configured to count total cache fills and at least one counter configured to count off-cluster cache fills. Off-cluster cache fills can include at least one of cross-cluster cache fills and cache fills from system memory. The processing system can further include one or more controllers configured to control performance of one or more of the clusters, the processor cores, the fabric, and the memory responsive to cache fill metrics derived from the plurality of counters.
-
公开(公告)号:US10884811B2
公开(公告)日:2021-01-05
申请号:US15870764
申请日:2018-01-12
Applicant: Apple Inc.
Inventor: Jeremy C. Andrus , John G. Dorsey , James M. Magee , Daniel A. Chimene , Cyril de la Cropte de Chanterac , Bryan R. Hinch , Aditya Venkataraman , Andrei Dorofeev , Nigel R. Gamble , Russell A. Blaine , Constantin Pistol
IPC: G06F9/50 , G06F9/48 , G06F1/3234 , G06F1/329 , G06F1/3296 , G06F9/38 , G06F9/26 , G06F9/54 , G06F1/20 , G06F1/324 , G06F1/3206 , G06F9/30
Abstract: Systems and methods are disclosed for scheduling threads on a processor that has at least two different core types, such as an asymmetric multiprocessing system. 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 for the thread group. 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. Deferred interrupts can be used to increase performance.
-
公开(公告)号:US10417054B2
公开(公告)日:2019-09-17
申请号:US15870763
申请日:2018-01-12
Applicant: Apple Inc.
Inventor: Jeremy C. Andrus , John G. Dorsey , James M. Magee , Daniel A. Chimene , Cyril de la Cropte de Chanterac , Bryan R. Hinch , Aditya Venkataraman , Andrei Dorofeev , Nigel R. Gamble , Russell A. Blaine , Constantin Pistol
IPC: G06F9/50 , G06F9/48 , G06F9/26 , G06F9/38 , G06F9/54 , G06F1/20 , G06F1/324 , G06F1/3234 , G06F1/329 , G06F1/3296 , G06F9/30 , G06F1/3206
Abstract: Systems and methods are disclosed for scheduling threads on a processor that has at least two different core types, such as an asymmetric multiprocessing system. 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 for the thread group. 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. Deferred interrupts can be used to increase performance.
-
20.
公开(公告)号:US20180349182A1
公开(公告)日:2018-12-06
申请号:US15870766
申请日:2018-01-12
Applicant: Apple Inc.
Inventor: Jeremy C. Andrus , John G. Dorsey , James M. Magee , Daniel A. Chimene , Cyril de la Cropte de Chanterac , Bryan R. Hinch , Aditya Venkataraman , Andrei Dorofeev , Nigel R. Gamble , Russell A. Blaine , Constantin Pistol
Abstract: Systems and methods are disclosed for scheduling threads on a processor that has at least two different core types, such as an asymmetric multiprocessing system. 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 for the thread group. 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. Deferred interrupts can be used to increase performance.
-
-
-
-
-
-
-
-
-