具有包括多个内核的处理器的计算机系统及其控制方法

文档序号:6579231阅读:190来源:国知局
专利名称:具有包括多个内核的处理器的计算机系统及其控制方法
技术领域
本发明涉及计算机系统领域,并且更具体地,涉及对具有包括 多个内核的处理器的计算机系统进行控制的方法。
背景技术
计算机系统变得更加复杂,其能够在尺寸减小的同时执行越来 越多的任务。为了快速处理处理器密集型应用(诸如,流视频、游 戏,以及处理复杂的电子表格、计算等),持续提高处理器时钟速 度。为了适应处理器密集型应用,很多计算机系统正利用多个处理 器。除了采用多个处理器之外,目前还存在具有双核的处理器,其 能够提供提高的速度和处理带宽。随着处理器在速度和复杂性上的 增长,发热成为了一个问题。
目前,散热是在宏观级别加以解决的。即,提供风扇和散热片 来为处理器散热。当发热仍然是个问题时,会出现系统关机。即, 在大型多计算机系统的情况下, 一个或多个系统关机,直到温度水 平降低为止。在多处理器系统的情况下, 一个或多个处理器停止, 直到温度水平低于最大允许限度为止。 一旦温度水平返回到允许的 限定,系统/处理器便会重新启动。尽管这两个方案在降低热量方面 是有效的,但是它们都会显著地损失计算资源。

发明内容
本发明的示例性实施方式包括对具有包括多个内核的至少 一 个
处理器的计算机系统进行控制,所述控制是通过建立内核最大值, 该内核最大值基于操作条件来设置在预定时段中操作的多个内核的 最大数量;确定内核运行值,该内核运行值与在所述预定时段中操作的至少 一个处理器的多个内核的数量相关联;以及如果在所述预 定时段内,内核运行值大于内核最大值,则停止多个内核中的至少 一个内核。
在此还描述了与以上概述的方法相对应的系统和计算才几程序产 品, 并要求对其进行保护。
通过本发明示例性实施方式的技术,能够实现额外的特征和优 势。在此详细描述了本发明的其他实施方式和方面,并且将其一见为 所要求保护的本发明的一部分。为了更好地理解本发明的优势和特 征,请参阅描述和附图。


被视为本发明的主题在说明书所附的权利要求中特别指出并明 确要求保护。本发明的前述和其他目的、特征和优势将从结合附图 的下述具体描述中变得显然,其中
图1是示出了根据本发明示例性实施方式的对具有多个内核的 处理器进行控制的方法的流程图;以及
图2是适用于实现本发明示例性实施方式的通用计算机的示意 性框图。
具体描述通过参考附图、以示例的方式说明了本发明的示例性
实施方式以及优势和特;f正。
具体实施例方式
首先参考图l,用于对具有提供有多个内核的中央处理器的计算
机系统进行控制的方法在整体上被表示为20。最初,如框22处所指 示的,感测处理器的操作参数。更具体地,确定各种操作参数,其 中操作参数诸如但不限于电源容量、空调容量、处理负荷和/或环 境温度。如框24处所指示的,基于一个或多个操作参数,确定应当 同时运行的处理器的数量或称为C—max值。如框26处所指示的,在 确定了 C max值以后,确定目前实际上运行的内核的lt量,从而设置C一run值。如框27处所指示的,在针对运行的内核数量而扫描处 理器的同时,将所有活跃的作业优先级化。优先级是基于各种参数 的,这些参数诸如但不限于解决问题的紧急度。例如,需要立即得 到回答的作业比涉及长期研究的作业要优先。优先级可以由系统管 理员或每个用户设置。在任何情况下,为了维护当前优先级列表, 周期性地更新活跃作业的优先级。就这一点,如框28处所指示的, 将C—run值与C—max值相比较。如果C—run值小于C—max值,则不 采取动作,并且持续地更新C—run值并将其与C^max值进行比较。 然而,如果Cjun值大于C—max值,则必须停止内核,并且确定需 要停止的内核数量,以便将C—run值返回到低于C—max值的水平, 如框30处所示。
必须停止的内核的数量应当等于或者大于将C—run值减小至 C一max值以下的点所需的内核数量。内核停止基于如框27所确定的 作业优先级。具有低优先级的内核会在具有较高优先级的内核之前 被停止。 一旦标识出将被停止的内核,则将停止值指派给相关联的 内核指派表。对于每个将被停止的内核, 一旦作业完成,或者达到 了停止点,该内核便被停止,并被指示在没有进一步指令的情况下 不进行额外作业。更具体地,在接收到停止值时,内核将调用栈、 页面状态、存储器访问和其他作业信息拷贝至存储器,并进入休眠 模式。此刻,确定C—run值是否小于C—max值,如框32处所指示。 如果否,则停止更多的内核。另一方面,如果C—run值下降至等于 或小于C—max值的水平,则之前停止的内核净皮重新启动,并允许其 进行额外作业,如框34处所指示的。
更具体地, 一旦C—run值下降至等于或小于C—max值的水平, 则确定应当使多少个内核脱离休眠模式。内核中脱离休眠模式的特 定内核可以取决于指派的作业优先级,例如,处理特定处理作业所 需的内核。 一旦标识出将被重新初始化的内核,则将唤醒值指派给 内核指派表。接收到唤醒值之后,内核从存储器拷贝调用栈、页面 状态、存储器访问和其他作业信息,并恢复已经就绪或现在可用的作业,以进行新作业。
此刻,应当理解,尽管结合单个处理器描述了本发明的示例性 实施方式,但是其还可以与具有多个内核的多个处理器以及具有多 个处理器(每个处理器具有多个内核)的服务器一起使用。这样,
本发明的示例性实施方式在压力(duress)期间(例如,高温、高使 用率等)对处理器负荷进行管理。在高压力期间,系统按照需要停 止或者关闭内核中的特定内核,以便在较长时间的压力期间将处理 器维持在可以承受的水平,从而避免电源出故障或者气候控制设备损坏。
本发明的能力可以用软件、固件、硬件或其某些组合实现。作 为 一 个示例,此处描述的对具有提供有多个内核的中央处理器的计 算机系统进行控制的方法利用通用计算机实现,并且该方法可以编 码为供通用计算机使用的可移动介质或硬介质上的指令集。图2是 适用于实现本发明实施方式的通用计算机的示意性框图。在图2中, 计算机系统400具有至少 一个微处理器或中央处理单元(CPU ) 405 。 CPU 405通过系统总线410与下述部件互连随机访问存储器(RAM ) 415、只读存储器(ROM) 420、输入/输出(I/O)适配器425 (用于 连接可移除的数据和/或程序存储设备430以及大容量数据和/或程序 存储设备435 )、用户接口适配器440(用于连接键盘445和鼠标450 )、 端口适配器455 (用于连接数据端口 460)和显示器适配器465 (用 于连接显示设备470)。
ROM 420包含用于计算机系统400的基本操作系统。操作系统 可以驻留在RAM415中或者本领域中公知的其他地方。可移动的数 据和/或程序存储设备430的示例包括磁介质(诸如,软盘驱动器和 磁带驱动器)和光介质(诸如,CDROM驱动器)。大容量数据和/ 或程序存储设备435的示例包括硬盘驱动器和非易失性存储器(诸 如,闪存)。除了键盘445和鼠标450之外,诸如轨迹球、书写板、 压力垫、麦克风、光笔和位置传感屏幕显示器的其他用户输入设备 也可以连接至用户接口 440。显示设备的示例包括阴极射线管(CRT )显示器和液晶显示器(LCD)。
此处描述的流程图仅是示例。在不脱离本发明精神的前提下, 可以存在针对此处描述的这些示意图或步骤(或操作)的很多变体。 例如,这些步骤可以以不同的顺序执^f于,或者可以添加、删除或<奮 改步骤。所有这些变体都是要求保护的本发明的部分。
尽管描述了本发明的优选实施方式,但是应当理解,对于本领 域技术人员而言,无论在现在还是将来,都可以做出各种改进和增 强,这些改进和增强都落入下述权利要求的范围内。这些权利要求 应当被理解为首次描述的本发明维护恰当的保护。
权利要求
1.一种对具有包括多个内核的至少一个处理器的计算机系统进行控制的方法,所述方法包括建立内核最大值,所述内核最大值基于操作条件来设置在预定时段中操作的所述多个内核的最大数量;确定内核运行值,所述内核运行值与在所述预定时段中操作的所述至少一个处理器的所述多个内核的数量相关联;以及如果在所述预定时段中,所述内核运行值大于所述内核最大值,则停止所述多个内核中的至少一个内核。
2. 根据权利要求1所述的方法,进一步包括 感测所述至少一个处理器的温度;以及 基于所述至少一个处理器的所述温度来建立所述内核最大值。
3. 根据权利要求1所述的方法,进一步包括 感测所述多个内核中每一个的处理负荷;以及 基于所述处理负荷来建立所述内核最大值。
4. 根据权利要求1所述的方法,进一步包括检测所述多个内核中的哪些内核正在运行低优先级进程;以及 停止运行最低优先级进程的内核。
5. 根据权利要求1所述的方法,进一步包括停止所述多个内核中额外的内核,直到所述内核最大值大于所 述内4亥运4亍4直为止。
6. 根据权利要求1所述的方法,进一步包括 标识所述多个内核中将要停止的选定内核;以及 在停止所述多个内核的所述选定内核之前,将进程从所述多个内核的所述选定内核转移。
7. 根据权利要求1所述的方法,进一步包括 基于另一预定时段处的操作条件,建立新的内核最大值;以及 如果所述内核运行值等于或大于所述新的内核最大值,则重新启动所述多个内核的所述至少一个内核。
8. —种用于操作计算机系统的系统,包括包括多个内核的至少一个中央处理单元(CPU),所述至少一个CPU通过系统总线在功能上与以下各项互连输入/输出(1/0)适配器,其连接至以下至少一个可移动数据存储设备、程序存储设备和大容量数据存储设备;用户接口适配器,其连接至一个或多个计算机输入设备;显示器适配器,其连接至显示器设备;以及至少一个存储器设备,其上存储有指令集,当所述至少一个CPU执行所述指令集时,会使所述系统建立内核最大值,所述内核最大值基于操作条件来设置在预定时段中操作的所述多个内核的最大数量;确定内核运行值,所述内核运行值与在所述预定时段中操作的所述至少一个处理器的所述多个内核的数量相关联;以及如果在所述预定时段中,所述内核运行值大于所述内核最大值,则停止所述多个内核中的至少一个内核。
9. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会使所述系统感测所述至少一个CPU的温度;以及基于所述至少一个CPU的所述温度来建立所述内核最大值。
10. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会引起所述系统感测所述多个内核中每一个的处理负荷;以及基于所述处理负荷来建立所述内核最大值。
11. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会使所述系统检测所述多个内核中的哪些内核正在运行低优先级进程;以及停止运行最低优先级进程的所述内核。
12. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会使所述系统停止所述多个内核中额外的内核,直到所述内核最大值大于所述内核运4亍<直为止。
13. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会使所述系统标识所述多个内核中将要停止的选定内核;以及在停止所述多个内核的所述选定内核之前,将进程从所述多个内核的所述选定内核转移。
14. 根据权利要求8所述的系统,其中当所述至少一个CPU执行所述指令集时,会使所述系统基于另一预定时段处的操作条件,建立新的内核最大值;以及如果所述内核运行值等于或大于所述新的内核最大值,则重新启动所述多个内核的所述至少 一个内核。
全文摘要
本发明涉及具有包括多个内核的处理器的计算机系统及其控制方法。具体地,对具有包括多个内核的至少一个处理器的计算机系统进行控制,包括建立内核最大值,该内核最大值基于操作条件来设置在预定时段中操作的多个内核的最大数量;确定内核运行值,该内核运行值与在所述预定时段中操作的至少一个处理器的多个内核的数量相关联;以及如果在预定时段中,内核运行值大于内核最大值,则停止多个内核中的至少一个。
文档编号G06F9/50GK101625650SQ20091015869
公开日2010年1月13日 申请日期2009年7月9日 优先权日2008年7月10日
发明者M·穆克赫吉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1