当前位置: 首页 > 专利查询>苹果公司专利>正文

具有闭环性能控制器的AMP体系结构的调度器制造技术

技术编号:19744809 阅读:34 留言:0更新日期:2018-12-12 04:39
本发明专利技术题为“具有闭环性能控制器的AMP体系结构的调度器”。本发明专利技术公开了用于在具有至少两种不同核心类型的处理器(诸如非对称多处理系统)上调度线程的系统和方法。每个核心类型可在多个可选择的电压和频率缩放(DVFS)状态下运行。来自多个进程的线程可分组到线程组中。为线程组的线程积累执行度量,并将其馈送到线程组的多个可调控制器中。闭环性能控制(CLPC)系统确定线程组的控制工作量,并将控制工作量映射到推荐的核心类型和DVFS状态。闭环热和功率管理系统可以限制CLPC针对线程组所确定的控制工作量,并限制系统的功率、核心类型和DVFS状态。延迟中断可用于提高性能。

【技术实现步骤摘要】
具有闭环性能控制器的AMP体系结构的调度器相关专利申请本专利申请要求杰里米C安德鲁斯于2017年6月4日提交的,标题为“SCHEDULERFORAMPARCHITECTURE”的美国临时专利申请62/514,930的优先权并且全文以引用方式并入本文,其内容与本公开一致。本专利申请还要求杰里米C安德鲁斯于2018年1月12日提交的,标题为“SCHEDULERFORAMPARCHITECTURE”的美国专利申请15/870,763的优先权并且以与本公开一致的程度以引用方式全文并入本文。本专利申请还要求杰里米C安德鲁斯于2018年1月12日提交的,标题名为“SCHEDULERFORAMPARCHITECTUREWITHCLOSEDLOOPPERFORMANCECONTROLLERUSINGSTATICANDDYNAMICTHREADGROUPING”的美国专利申请15/870,764的优先权并且以与本公开一致的程度以引用方式全文并入本文。本专利申请还要求杰里米C安德鲁斯于2018年1月12日提交的,标题为“SCHEDULINGOFWORKINTERVALOBJECTSINANAMPARCHI本文档来自技高网...

【技术保护点】
1.一种在系统上运行线程的计算机实现的方法,所述系统包括处理器,所述处理器具有一个或多个核心的第一集群和一个或多个核心的第二集群,所述方法包括:将一个或多个进程的线程分组到一个或多个线程组中;在第一核心集群的核心上运行第一线程组的第一线程;将所述第一线程的多个线程执行度量与所述第一线程组的多个线程执行度量结合在一起;至少部分地基于与所述第一线程组相关联的多个线程组度量来确定所述第一线程组的第一控制工作量;以及推荐所述第一核心集群或所述第二核心集群,以用于执行所述第一线程组的线程,以及确定所推荐的核心集群的动态电压和频率缩放DVFS设置。

【技术特征摘要】
2017.06.04 US 62/514,930;2018.01.12 US 15/870,760;1.一种在系统上运行线程的计算机实现的方法,所述系统包括处理器,所述处理器具有一个或多个核心的第一集群和一个或多个核心的第二集群,所述方法包括:将一个或多个进程的线程分组到一个或多个线程组中;在第一核心集群的核心上运行第一线程组的第一线程;将所述第一线程的多个线程执行度量与所述第一线程组的多个线程执行度量结合在一起;至少部分地基于与所述第一线程组相关联的多个线程组度量来确定所述第一线程组的第一控制工作量;以及推荐所述第一核心集群或所述第二核心集群,以用于执行所述第一线程组的线程,以及确定所推荐的核心集群的动态电压和频率缩放DVFS设置。2.根据权利要求1所述的方法,其中推荐所述第一核心集群或所述第二核心集群以及确定所推荐的核心集群的DVFS状态设置包括将所述第一控制工作量映射到由控制工作量表征的DVFS状态和核心集群的性能映射。3.根据权利要求1所述的方法,其中:所述处理器包括非对称处理器;所述第一核心集群包括多个性能核心(P核心);并且所述第二核心集群包括多个有效核心(E核心)。4.根据权利要求1所述的方法,还包括:至少部分地基于与第二线程组相关联的多个线程组度量来确定所述第二线程组的第二控制工作量,其中响应于确定所述第二线程组的一个或多个线程在一个或多个核心上是活动的来执行确定所述第二控制工作量,其中所述第二线程组的一个或多个线程在一个或多个核心上是活动的指示所述第二线程组是活动线程组;以及至少部分地基于所述第二控制工作量来确定第二推荐的核心集群和DVFS状态以执行所述第二线程组的线程。5.根据权利要求4所述的方法,还包括:响应于确定所述第一线程组的所述第一推荐的核心集群和所述第二线程组的所述第二推荐的核心集群是同一核心集群:将最大DVFS状态计算为第一推荐的DVFS状态和第二推荐的DVFS状态的最大值;将针对所述第一线程组和第二线程组推荐的核心集群的DVFS状态设置为所计算的最大DVFS状态;响应于确定所述第一线程组的所述第一推荐的核心集群和所述第二线程组的所述第二推荐的核心集群是不同核心集群:将所述第一推荐的核心集群的DVFS状态设置为第一推荐的DVFS状态;并且将所述第二推荐的核心集群的DVFS状态设置为第二推荐的DVFS状态。6.根据权利要求1所述的方法,其中所述多个线程执行度量以周期性间隔测量,所述度量包括以下中的一者或多者:线程的可运行时间;根据凭证采用所述第一线程组的线程的可运行时间,并且所述线程的所述可运行时间归属于截止所述线程根据所述凭证采用所述第一线程组时的第一线程组执行度量;所述线程的核心利用时间;以及由所述线程执行的多个输入/输出事务,其中响应于异步事件来测量所述多个线程执行度量,所述度量包括用于线程的调度延迟或工作间隔利用率。7.根据权利要求1所述的方法,其中所述多个线程执行度量中的每一个向可调控制器提供输入,并且根据针对线程组的可调控制器中的每一个的组合输出来确定所述线程组的控制工作量。8.根据权利要求1所述的方法,其中推荐所述第一核心集群或所述第二核心集群以及确定所推荐的核心集群的DVFS状态设置包括将所述第一控制工作量映射到由控制工作量表征的DVFS状态和核心集群的性能映射,其中所述控制工作量映射到所述性能映射指示所述第一线程组的线程有资格运行在所述第一核心集群或所述第二核心集群上,并且至少部分地通过所述第一线程组执行的工作类型来确定推荐所述第一线程组在所述第一核心集群或所述第二核心集群上运行。9.根据权利要求8所述的方法,其中至少部分地基于所述第一线程组在特定DVFS状态中已经驻留的持续时间来确定针对所述第一线程组的DVFS状态推荐。10.根据权利要求1所述的方法,其中所述处理器包括非对称处理器,所述第一核心集群包括多个性能核心(P核心),所述第二核心集群包括多个有效核心(E核心),并且所述方法还包括:确定第一组的一个或多个线程被列入队以在所述处理器的P核心上运行;确定所述处理器的P核心都不是空闲的;确定一个或多个E核心处于空闲或将要处于空闲;在E核心上执行所述第一组的线程;以及通过与所述第一组的线程在所述E核心上运行同时地增大E核心的频率或电压中的至少一个来增加E核心的DVFS状态。11.根据权利要求10所述的方法,还包括:确定所述第一组中的线程被推荐用于P核心,但是正在E核心上运行;以及响应于检测到P核心处于空闲或将要处于空闲,在P核心上运行所述线程。12.一种在其上存储有可执行指令的非暂态计算机可读介质,所述可执行指令在由包括耦合到存储器的至少一个硬件处理器的处理系统执行时执行操作,所述操作包括根据权利要求1至11中任一项所述的方法。13.一种数据处理系统,包括用于执行根据权利要求1至11中任一项所述的方法的装置。14.一种在包括非对称多核心处理器的系统上执行的计算机实现的方法,所述非对称多核心处理器具有至少两种不同的核心类型的多个核心,所述方法包括:启动包括多个进程的应用程序;将所述多个进程中的每一个分配给第一线程组;执行来自所述第一线程组的至少一个线程;确定所述第一线程组中的线程的多个线程执行度量;以及至少部分地基于所述第一线程组的线程执行度量,向调度器推荐用于所述第一线程组的线程的处理器核心类型或动态电压和频率缩放DVFS状态中的至少一者。15.根据权利要求14所述的方法,还包括:响应于确定所述多个进程中的进程实现工作间隔对象,将所述进程分配给第二线程组;执行来自所述第二线程组的至少一个线程;确定所述第二线程组中的线程的多个线程执行度量;以及至少部分地基于所述第二线程组的线程执行度量,向所述调度器推荐用于所述第二线程组的线程的处理器核心类型或DVFS状态中的至少一者。16.根据权利要求15所述的方法,还包括:接收来自所述第一线程组的线程已选择进入到所述第二线程组的指示;执行选择进入到所述第二线程组的线程;以及将来自所述第一线程组的选择进入到所述第二线程组的所述线程的多个线程执行度量归属于所述第二线程组。17.根据权利要求16所述的方法,还包括:接收来自所述第一线程组的选择进入到所述第二线程组的所述线程已选择退出所述第二线程组的指示;将选择退出的线程分配到第一线程组;执行选择退出的线程;以及将选择退出所述第二线程组的所述线程的多个线程执行度量归属到所述第一线程组。18.根据权利要求17所述的方法,还包括:确定所述应用程序指示所述多个进程中的进程将被分配给与所述第一线程组和所述第二线程组不同的第三线程组;执行来自所述第三线程组的至少一个线程;确定所述第三线程组中的线程的多个线程执行度量;以及至少部分地基于所述第三线程组的线程执行度量,向所述调度器推荐用于所述第三线程组的线程的处理器核心类型或DVFS状态中的至少一者。19.根据权利要求14所述的方法,还包括:确定所述多个进程中的进程执行的工作的类型并且将所述进程的线程分配到第四线程组;执行所述第四线程组中的至少一个线程;确定所述第四线程组中的线程的多个线程执行度量;以及至少部分地基于所述第四线程组的线程执行度量,向所述调度器推荐用于所述第四线程组的线程的处理器核心类型或DVFS状态中的至少一者。20.根据权利要求19所述的方法,其中所述第四线程组包括来自...

【专利技术属性】
技术研发人员:J·C·安德勒斯J·G·多西J·M·麦吉D·A·驰米恩C·德拉克洛普特德昌特拉克B·R·海克A·温卡塔拉曼A·多罗费弗N·R·甘博R·A·布雷恩C·皮斯托尔J·S·艾斯迈尔
申请(专利权)人:苹果公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1