专利名称:用于控制电子系统的多个参数的控制系统和方法
技术领域:
本发明涉及用于调整计算机系统和其他电子系统的控制系统。
技术背景控制系统用于调整电子系统的可变参数。举个例子,目前已将控 制系统设计成调整环境变量,例如计算机系统中的温度和声级,以及 调整与性能相关的变量,例如系统的电功率和电流消耗。通常,控制 系统会监视系统的当前状态,并且将其与系统理想状态相比较。与理 想状态的偏差一般被称为误差,并且该偏差被用于计算对系统的新的 控制输入。术语"控制回路,,可以用于描述来自该反馈的信号路径。通 常,计算机系统中的一个组件有可能影响多个系统参数。例如,处理 器活动等级有可能影响计算机系统的温度、电流、功耗,甚至(通过 其对风扇速度的效应而间接影响)声级。因此,多个控制系统中的每 一个都有可能试图调整同一组件,这有可能会对该组件提出沖突的要 求。如果该组件接受任何要求按给定等级工作的请求或指令,那么组 件性能有可能会根据最近接收到的输入而急剧变化。这样有可能导致 对每一个控制系统或管理实体产生不稳定的控制回路,并且导致产生 各种不希望结果。举个例子,如果控制系统没有恰当地管理处理器温 度,那么内置的热保护机制有可能导致整个芯片发生灾难性关机。由此需要一种改进的控制系统和方法,以便解决电子系统中多个 控制回路的潜在竟争的要求。如果控制系统和方法在考虑了多个控制 回路的情况下提供针对系统组件的单独控制,那么将会是非常理想的。发明内容本发明包含使用共享组件致动器(actuator)来调整电子系统的 系统参数的系统、方法和软件。该共享组件致动器对电子组件(例如 处理器、风扇或电压调整器)的可变性能比率(performance rate )进 行控制。 一个实施例提供了一种自动控制系统,该系统包括具有可变 组件性能比率的电子组件。多个控制回路中的每一个控制回路都调整 多个系统参数中的一个相关参数。每一个控制回路包括控制逻辑模块, 该控制逻辑模块用于根据感测到的系统参数值与为该系统参数建立的 设定点之间的偏差量来确定组件性能比率的目标值。共享组件致动器 与每一个控制逻辑模块进行通信,并且依照共同量度来比较目标值。 该组件致动器依照预定选择准则来动态选择目标值之一,并且以组件 性能比率的选定值来操作电子组件。第二实施例提供了一种用于调整或控制电子系统中的多个参数 的方法,其中该系统包括多个具有可变性能比率的电子组件。所述多 个系统参数中的每一个都可以用于确定每一个组件的性能比率的目标 值。对任何一个特定系统参数来说,给定组件的性能比率的目标值通 常是结合感测的系统参数与关联于该系统参数的设定点之间的偏差量 来确定的。对给定组件来说,其最终目标值是用共同量度(例如将组 件性能比率关联于组件额定最大性能比率的比例(scale))来比较的。 对每一个组件来说,只有一个目标值是根据预定选择准则动态选择的, 例如通过选择最小目标值而被动态选择。然后,电子组件依照性能比 率的选定值来执行操作。第三实施例是一种包含计算机可用介质的计算机程序产品,其中 该计算机可用介质包括计算机可用程序代码,该计算机可用程序代码 用于调整包含多个电子组件的电子系统的多个系统参数。该计算机程 序产品包括用于为多个系统参数中的每一个参数确定每一个组件的 性能比率的目标值的计算机可用程序代码,其中该目标值可以结合被 感测的系统参数与关联于该系统参数的设定点之间的偏差量来确定; 用于使用共同量度来比较给定组件的目标值的计算机可用程序代码; 根据预定选择准则来动态选择一个目标值的计算机可用程序代码;以及根据性能比率的选定值来操作电子组件的计算机可用程序代码。从后续描述以及所附权利要求书中可以清楚了解本发明的其他 实施例、特性和优点。
图l是根据本发明的用于调整多组件电子系统的系统参数的控制 系统的概括性实施例的示意图。图2是例示了多个组件与多个系统参数之间的相互依赖性的控制系统的另一个示意图。图3是本发明实施例的在计算机系统的情形下的示意性框图。 图4是可以被配置成根据本发明实施例来调整电子系统的系统参数的计算机系统的示意图。
具体实施方式
本发明认识到,在很多电子系统中,多个被调整的系统参数中的 每一个都会(直接或间接地)受到同一组件的性能比率的影响。举例来说,在计算机系统中,所要调整的系统参数通常是计算机系统的可 测物理属性,例如功耗、电流、温度和声级,并且其中每一个属性都 会直接或间接受到处理器工作速度的影响。由此,根据本发明的控制 系统实施例,通过使用组件性能比率或"速度"作为用于对组件控制进 行协商的公共语言或量度,来利用这一认识。该控制系统可以支持无 限数量的反馈控制回路,这些反馈控制回路全都共享用于控制组件速 度的组件致动器。每一个控制回路都对这样的系统参数进行监视,即, 该控制回路被委以调整该系统参数的任务;将该系统参数与该系统参 数的设定点相比较;然后结合相关联的系统参数与相应设定点的偏差 来"请求"某个速度。控制器从控制回路接收所请求的速度,以此作为 动态输入。此外,还可以为控制器提供非动态速度选择输入,例如固 定功率管理模块所请求的静态速度。控制器根据预定义的选择逻辑来 选择被请求速度之一。举例来说,该选择逻辑可以在任何给定时刻都选择最小的被请求速度。并且该控制器将选定速度传达给共享致动器, 而共享致动器则促使组件以选定速度工作。这样一来,控制系统实际 上以一种确保在安全限值以内管理所有系统参数的方式对组件控制进 行了协商。控制系统提供了对组件的快速且确定性的控制协商,这会提升系统稳定性。在一个方面中,可以至少部分地按"带外(out-of-band ),, 方式对处理器进行控制,也就是说,用于请求速度、选择被请求速度 之一以及对处理器实施所请求的速度的控制算法至少可以部分地在被 控制的处理器、运行在处理器上的任何应用以及操作系统(OS)的外 部执行。这个控制算法的步骤可以在带外执行,例如在基板 (baseboard)管理控制器(BMC)上执行,其中该基板管理控制器 与被控制的处理器相分离,并且可以由自持的(self contained )固件 而不是OS或是运行于其上的任何应用来控制.对某些类型的处理器 来说,其速度可以在带外切换,由此可以完全在带外执行控制算法, 其中包括在处理器上执行选定速度的步骤。对某些其他类型的处理器 来说,其速度可以仅仅由处理器自身来切换,由此至少必须在带内执 行在处理器上执行选定速度的步骤。图1是根据本发明的用于调整电子系统12的多个系统参数的控 制系统10的概括性实施例的示意图。电子系统12具有多个电子组件 16。虽然会有一个以上的组件可能影响系统参数,但是图l关注于如 何在调整多个系统参数的过程中控制特定组件16A。所要调整的系统 参数通常是可测物理属性,例如功耗、电流、温度和声级。该系统参 数既可以包括组件16A专有的参数,例如与组件16A相关联的功耗、 电流或温度,也可以包括整个电子系统12的参数,例如电子系统12 附近的声级,此外还可以包括在电子系统12中至少受到组件16A的性能比率影响的其他组件或子系统的参数。每一个系统参数都是由相应的多个控制回路之一来调整的,该控 制回路实际上对针对电子系统12的组件16A的控制进行协商。作为 示例,绘制了用于调整"参数N"的第N个控制回路(将其示意性描绘成回路14)。第N个控制回路14由控制回路算法或"控制逻辑,,模块 20支配。所述第N个控制回路14试图根据第N个控制回路逻辑模块 20并且至少部分地通过控制组件16A的性能比率来调整第N个系统 参数。控制回路逻辑模块20将被请求的组件性能比率或速度输入性能 比率选择逻辑模块22。此外,每一个其他控制回路还使用相应的控制 逻辑模块来输入被请求的速度,如果选择逻辑模块22选择了被请求的速度,那么该速度将会在信号23中被发送到以选定速度控制组件16A 的组件致动器24。举个例子,如果从所有控制逻辑模块请求的速度中 选择了由参数N控制逻辑模块20请求的速度,那么,信号23将被发 送到组件致动器24,以便以第N个控制逻辑模块20请求的速度来操 作组件16A。本领域普通技术人员可以将第N个控制回路14的示例 应用于(relate to )控制系统10中共享组件致动器24的控制权的其他 控制回路,以便调整其他(N-l)个系统参数。概括性控制系统10包括用于感测相应的N个系统参数的N个传 感器18 (标记为"参数1传感器,,到"参数N传感器")。每一个传感器 18都输出与关联参数的动态值相关的信号19。每一个信号19都被输 入到相应控制回路中包含的控制回路逻辑20。该控制回路逻辑20将 感测到的参数与设定点相比较,该设定点是所述参数的预定义目标值。 该设定点可以是一个点值,当控制逻辑模块20通过连续工作来保持该 设定点时,参数有可能会变化得高于或低于该点值。作为另一种选择, 设定点可以是一个上限值或下P艮值,控制逻辑模块20通过操作而将参 数分别保持在所述上P艮值以下或所述下限值以上。该控制回路逻辑20 确定相关系统参数的感测值与该系统参数的设定点或限值之间的偏 差。然后,该控制回路逻辑20将会根据该偏差来确定组件16A的性 能比率(也就是"被请求速度")的目标值。被请求速度可以釆用和系统参数的感测值与相关设定点之间的 偏差成比例的方式来选择。更具体地说,控制回路逻辑20可以选择组 件性能比率的被请求速度,以使组件性能比率的当前值与被请求速度 之间的偏差和系统参数的感测值与相关设定点或限值之间的偏差成比例。举例来说,比例常数可以是为所要控制的参数预先确定的。通过 选择组件性能比率的被请求速度,可以使组件性能比率的被请求速度 与当前值之间的偏差等于系统参数的感测值与设定点之间的偏差的比例常数倍。例如,在将概括性控制系统IO和电子系统12投入服务之 前,可以通过性能测试来推导出该预定比例常数。每一个控制回路逻辑20都选择组件性能比率的被请求速度,并 且向共享性能比率选择算法或"选择逻辑模块,,22输出代表被请求速 度的信号21。实际上,通过将所有被请求速度输入共享选择逻辑模块 22,每一个控制回路实际上都提交了要求将组件16A的性能比率设置 在对相关系统参数实现期望调整的特定值的请求。但是, 一般来说, 并不是所有输入到选择逻辑模块22的被请求速度都是相同的。更为常 见的是,在任何给定时刻,各个控制回路逻辑22所确定的所有被请求 速度都是不同的。因此,选择逻辑模块22将被委以根据预定义选择逻 辑模块22从该模块22接收到的不同被请求速度中选择一个被请求速 度的任务。然后,选择逻辑模块22会将选定速度告知组件致动器24。 该组件致动器通常是设备、软件对象或其组合,它会将输入值转换成 物理系统属性的变化。在本实施例中,组件致动器24根据从选择逻辑 模块22接收的选定速度来设定组件16A的性能比率。例如,该组件 16A可以是一个处理器或一组处理器,组件致动器24以选定目标速度 对其速度进行调节。用于选择被请求速度之一 的预定义选择准则通常是系统专用的。 在控制系统10的一个实施方式中,选择逻辑模块22可以被配置成在 缺省情况下自动选择最低被请求速度。举例来说,如果电子系统12 是计算机系统,在该系统中有多个控制回路为了控制处理器(组件 16A)的速度而竟争,那么在缺省情况下,选择逻辑模块22可以在任 何给定时刻从被请求的处理器速度中选择最低性能比率(处理器速 度)。在此情况下,较为理想的是选择最低被请求速度,从而不惜使 组件16A表现不佳,以便确保无一系统参数(例如温度、电流或功耗) 会超出安全工作限值。在控制系统10的另一实施方式中,较为理想的可以是缺省地选择最大的被请求速度。举个例子,如果电子系统12 是计算机系统,并且所控制的组件16A是冷却风扇,那么通过缺省地 选择最大性能比率(风扇速度),可以确保充分冷却所有计算机子系 统,虽然即使按较低风扇速度也可以令人满意地冷却某些子系统。由 于相对简单的选择逻辑计算成本很低,并且会对组件16A产生快速和 确定性的控制,因此,较为理想的是釆用相对简单的选择逻辑,例如"选 择最低速度"或"选择最高速度"。由于这种高效性,可以完全在操作系 统"带外"实现控制系统,从而避免占用操作系统资源。有时,较为理想的是将速度选择逻辑22超驰(override)。选择 超驰控制逻辑模块26是为了对组件16A的速度进行紧急控制而提供 的。例如,在参数传感器发生故障的情况下,对于系统的稳定控制来 说,这种超驰处理是非常有益的。如果没有超驰处理,那么与参数传 感器相关联的控制回路逻辑有可能会请求不必要地严格或效率低下的 速度。如果依照本发明而将控制回路期望的系统参数值转换成关于"速度,,的共同量度,那么将会产生用于解决不同控制回路的竟争需求的快 速且确定性的解决方案。如有必要,被请求的速度值还可以"归一化,,, 以使每一个被请求的速度都符合共同标准。在一个示例中,所有被请 求速度值都可以被简单地表达为数字(无单位)值,例如范围从0到 100的数字值,其中0代表组件16A的最小可能活动等级,并且值100 代表100%的组件额定能力。速度分辨率(speed resolution)可以相 对较精细,例如大小为0.1%的调整度或是可供选择的1000个离散速 度。在一个示例中,处理器具有大小为5GHz的额定速度,并且速度 "100,,可以与处理器在5GHz下的操作相对应。在某些实例中,组件有 可能超过其额定工作能力。例如,5GHz处理器可以超频,以便获得 超过5GHz的有效处理器速度。对超出其额定工作能力的组件来说, 其操作可以用大于100的速度来指示。图2是例示了多个组件16与多个系统参数之间的相互依赖性的 控制系统10的另一个示意图。虽然图1例示了一个组件16A如何可以影响多个系统参数的调整,但是图2通过例示如何可以通过控制一 个以上的组件来调整每一个系统参数,对这个构思进行了扩展。例如, 系统温度可以通过控制处理器速度和风扇速度来调整。此外,温度、 功耗和电流之类的多个系统参数还有可能受到多个组件(例如处理器、 风扇、存储器、1/0适配器以及硬盘驱动器)的各速度的影响。传感器18向相关联的控制逻辑20提供用于表示各系统参数的信 号。然后,控制逻辑20将被请求速度输出到多个性能比率选择逻辑模 块22中的一个或多个模块。换句话说,与每一个参数相关联的控制逻 辑20可以输出 一组被请求速度,并且这组被请求速度包含了用于系统 中的每一个组件16的速度。然后,与每一个组件相关联的性能比率选 择逻辑22可以选择被请求速度之一,并通过相关联的组件致动器24 按照为该组件选择的速度来控制每一个组件。当有多个组件影响某个特定系统参数时,可以通过改为控制另一 组件来补偿无法控制某一个组件的故障。如果被委以调整系统温度的 控制逻辑组件由于没有通过使其被请求速度被选中而"赢得"组件1的 控制权,那么该控制逻辑仍然有可能赢得组件2的控制权。举个例子, 如果组件1是处理器并且组件2是风扇,并且用于调整系统温度的控 制逻辑组件并未赢得处理器的控制权,那么可以改为通过控制风扇速 度来调节系统温度。图3是本发明实施例在计算机系统环境下的示意性框图。根据本 发明的控制系统40被配置成控制诸如计算机系统的CPU之类的处理 器42,以便调整多个系统参数,这些系统参数包括处理器温度、多个 組件汲取的电流以及多个组件的净功耗。热传感器44被配置成动态地 感测处理器42的温度值(例如以"摄氏度,,为单位的温度值),然后产 生与感测到的温度相关的信号45。与热传感器44进行通信的热控制 逻辑模块45结合处理器42的感测温度来确定处理器42的目标性能比 率("被请求速度l,,),并且产生代表被请求速度l的信号55。电流 传感器46被配置成动态地感测流至处理器42的瞬时电流,然后产生 与之相关的信号47。与电流传感器46通信的电流控制逻辑模块56结合处理器42的感测电流来确定处理器42的目标性能比率("被请求速 度2"),然后产生代表被请求速度2的信号57。此外,还可以包含用 142共同表示的任意数量的附加组件(例如其他处理器、风扇、存储 器、I/O适配器和硬盘驱动器),其中每一个组件都会汲取其自己的 用146共同表示的相应的多个附加电流传感器所感测的电流。流至处 理器42和附加组件142的组合电流将会消耗某个净功耗,这个功耗由 功率传感器48来感测。该功率传感器48动态地感测处理器42以及附 加组件142的瞬时净功耗,输出与感测到的净功耗相关的信号49。与 功率传感器48通信的功率控制逻辑模块58结合处理器42和附加组件 142的感测净功耗来确定处理器42的目标性能比率("被请求速度3"), 产生代表被请求速度3的信号59。在本领域中,用于感测或监视温度、 电流、功耗等等的传感器都是公知的。如已经描述的,某些系统实体(例如热控制逻辑54、电流控制逻 辑56和功率控制逻辑58)响应于温度、电流和净功率之类的可变系 统参数来请求动态(可变)速度。由此,被请求速度l、 2、 3有可能 会响应于连续变化的系统参数而改变。相比之下,其他系统实体可以 请求静态(固定)速度。例如,固定功率管理(FPM)模块60输出 代表目标性能比率("被请求速度4")的信号,并且该目标性能比率 通常具有固定值。在某些环境中,FPM模块请求的速度有可能会改变, 例如响应于电源故障而改变。但是,FPM模块并不受控制回路支配。如先前在图1的概括性实施例中指出的那样,并不要求所要调整 的系统参数是其性能比率要被控制的组件的参数。在图3中给出的更 为具体的实施例对此进行了图解。功率控制逻辑模块56试图通过调整 处理器42消耗的功率来控制提供给单个处理器42的功率。比较起来, FPM控制逻辑模块60则至少部分地通过调整处理器42消耗的功率来 试图控制提供给整个计算机的功率。这样一来,由于处理器42是计算 机的一个组件,因此,该处理器42的性能比率不但会影响处理器42 的个体功耗,而且还会影响整个计算机的净功耗。因此,通过控制处 理器42的速度,不但可以调整处理器42的温度、电流和功耗,而且还可以调整整个计算机消耗的净功率,此外还有可能调整其他系统参 数。将四个目标性能比率(也就是"被请求速度,,1 4 )输入给速度选 择逻辑62,以便动态地选择被请求速度之一。在本实施例中,速度选 择逻辑62选择这四个目标速度中的最小速度。控制回路及其相关控制 逻辑模块可以称为"支配性"控制回路和控制逻辑模块,其中该控制逻 辑模块的被请求速度将被选择,以便在任何给定时刻控制处理器42。 速度选择逻辑62产生代表选定速度的信号63,并且将这个信号63输 出到致动器64。该致动器64向处理器64发送信号65,以便将处理器 42的速度设置成基本等于选定速度。例如,致动器64可以限制处理 器42的速度或调整该处理器的频率或电压,以便以选定的性能比率来 操作处理器42。系统参数是可变的,因此,传感器信号45、 47、 49以及速度信 号55、 57、 59、 61则通常是动态的。这些信号可以在大小为数毫秒甚 至数微秒的量级的时间间隔上改变,随着计算机技术的进步以及处理 器速度的持续增长,其改变速度有可能更快。这种快速且确定性的速 度选择处理有助于确保处理器42持续以某个顾及了可变系统参数的 可接受速度来执行操作。用于每一个传感器的控制回路逻辑都具有基于输入传感器类型 的设定点。对电流控制逻辑模块56来说,输入信号47可以以安培 ("AMP,,)为单位。举个例子,如果电流控制逻辑模块56的设定点 是10.5 AMP,那么与10.5AMP之间的任何偏差都会导致电流控制逻 辑模块54尝试执行校正动作。如果电流控制逻辑模块54确定AMP 过低,使得要汲取更多AMP,这将导致被请求速度2大于由速度选择 逻辑62选择并由致动器64施加的当前速度设置。举个例子,如果当 前电流速度是87% (也就是87。/。的额定最大电流),那么新的被请求 速度可以增大到89%。被请求速度2的变化是和当前电流(87%)与 电流设定点之间的偏差成比例的。然而应该指出的是,被请求速度2 的增大未必会导致处理器速度42增大,这是因为速度选择逻辑62仍旧会受到约束,从而(在本实施例中至少依照选择准则)选择最低速 度。由此,在任何给定时刻,无论控制系统中其他控制回路的控制逻 辑模块产生的被请求速度怎样变化,这个被请求的速度都仅仅是为支 配性控制回路而实施的。在一开始,支配性控制回路请求的速度调整处理未必能够足以导 致产生系统参数的期望变化。举个例子,如果电流控制回路当前是支 配性的,那么初始被请求速度的增大未必导致达到设定点。相反,电 流控制回路可以继续逐渐增大被请求速度,直至达到设定点。当工作 负荷不是最重时,这种递增变化有可能导致系统参数具有较长的"建立 时间"。当工作负荷较接近其最大值时,控制系统可以更快地做出响应, 从而在很短的建立时间内达到期望设定点 较不极端的工作负荷通常 对控制系统的要求不是那么严格,并且会使得较不偏离期望的控制系 统设定点。通过使用工作示例,可以在高工作负荷的情况下校正电流控制逻辑模块56。假设电流控制回路当前是支配性的,那么,突然施加于计 算机的高工作负荷有可能导致从系统突然汲取12.5AMP(而较为适度 的工作负荷则有可能汲取11AMP)。对电流控制回路来说,其立即做 出的比例响应可以是发起合理地计算出的速度变化请求,以便将流至 处理器42的电流减小大约2AMP,从而达到10.5AMP的设定点。例 如,被请求速度2可以由电流控制回路从95%减小到83%,以便实现 期望的2AMP减少量。相比之下,如果改为施加很轻的工作负荷,汲 取大约IIAMP,那么速度变化请求将会较小,例如从95%减小到 88%。但是,由于本示例中的反馈增益是为高工作负荷而校准的,因 此,系统实际上有可能在一开始通过将期望速度从95%减小到88%而 实施过度补偿。其直接结果有可能是大小约为10AMP的AMP涉取。 然后,控制系统随即将会以递增方式加速,并且最终将处理器速度稳 定在大约91%,这时计算机有可能汲取10.5AMP。有时候,较为理想的是将速度选择逻辑62超驰。速度超驰控制 66是为了对处理器42的速度实施紧急控制而提供的。作为选择,该速度超驰控制66可以与处理器42或速度选择逻辑模块62进行通信。 作为选择,可以包括存储器模块68。该存储器模块68不但可以 追踪速度选择逻辑模块62选择的速度,而且还可以追踪请求所选速度 的控制逻辑模块的标识。通过保持控制逻辑模块、管理实体或选定目 标值或速度的源的标识,可以提升系统识别异常系统性能的根源的能 力。举个例子,在将处理器持续限制在很低速度的情况下,如果能够 了解到正请求这个很低速度的是热管理控制逻辑模块,那么这将会是 非常有益的,这是因为这种情形有可能得到相关温度传感器出现故障 的结论。本发明可以在具有本领域技术人员所熟悉的组件的现有计算机 系统上实施。例如,IBM DIRECTOR是一个管理系统,该系统包括 名为管理控制台的可定制图形管理界面、可以支持位于任何位置且数 以千计的远程系统的管理服务器、以及安装在所管理的每个系统上的 代理软件。例如,IBM DIRECTOR可以与多个基于才几架的 (rack-based)服务器系统("机架系统,,)对接,这些服务器系统则 经由因特网或以太网与 IBM DIRECTOR联网。IBM POWEREXECUTIVE是一种可以与选定的IBM BLADECENTER以 及System X服务器结合使用的工具,它允许通过IBM DIRECTOR 来执行直接功率监视。POWEREXECUTIVE有助于系统管理员监视 功耗,以便更好地使用可用功率资源。用户可以监视BLADECENTER 服务器的实际功耗以及相应热负载。每一个机架系统都可以包括本领 域已知的管理模块,以便也对特定机架系统上的功率、声音和/或发热 限值进行管理。再者,每个机架系统的一个或多个服务器还可以包括 基板管理控制器(BMC)。该BMC是一个专用微控制器,它通常内 置在众多计算机、尤其是服务器的母板上。构建在计算机系统中的各 种传感器可以向BMC报告参数,例如温度、冷却风扇速度、功率模 式或功耗、温度、操作系统状态等等。BMC则监视这些传感器,如有 任何一个参数未处于其相应设定点的预定范围以内,那么该BMC可 以经由网络向系统管理员发送警报。此外,系统管理员还可以使用管理控制台与BMC进行远程通信,以l吏采取正确动作,例如在必要时 对服务器执行复位或循环通电处理,以便重启服务器的操作系统。由此,所描述的联网服务器系统是一个可以被配置成根据本发明 来管理系统参数的环境。对诸如IBM DIRECTOR之类的全局系统管 理系统、机架级管理才莫块以及服务器级BMC来说,它们可以被配置 成根据本发明使用单个致动器来提供针对多个系统参数的协作管理。 例如,借助BMC,可以使用现有板栽传感器来监视多个系统参数。除 了现有的健壮元件阵列之外,通过重新配置机架级管理模块或系统级 管理控制台,还可以使其包含依照本发明的系统参数控制逻辑模块, 例如在上文中参考图1、 2的实施例描述的功率控制逻辑、电流控制逻 辑、热控制逻辑以及声音控制逻辑。每一个控制逻辑模块都可以根据为每一个相关参数确定的设定点来识别诸如处理器之类的特定组件的 目标组件性能比率(被请求速度)。然后,驻留在联网服务器系统上的中心速度选择逻辑可以动态地选择用于控制目标组件的被请求速度 之一。此外,现有的组件致动器还可用于代表速度选择逻辑来执行选 定速度。应该认识到,本发明可以采用包含硬件和/或软件部件的实施例 的形式。软件的非限制性示例包括固件、驻留软件和微代码。更概括 地说,本发明可以采用能够从计算机可读介质中存取的计算机程序产 品的形式,其中该计算机程序产品提供了可供计算机或任何指令执行 系统使用或是与之结合使用的程序代码。就本说明书而言,计算机可 用或计算机可读介质可以是任何一种可以包含、存储、传递、传播或 传送程序的装置,该程序供指令执行系统、装置或设备使用或是与之 结合使用。该介质可以是电子、磁、光学、电磁、红外或半导体系统(或是 装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态 存储器、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存 储器(ROM)、硬磁盘以及光盘。光盘的当前示例包括紧凑型盘-只 读存储器(CD-ROM)、紧凑型盘-读/写型(CD-R/W)以及DVD。适合存储和/或执行程序代码的数据处理系统通常包含至少 一个 处理器,并且该处理器通过系统总线与存储器部件直接或间接耦合。 该存储器部件可以包括在实际执行程序代码的过程中使用的本地存储 器、大容量存储器以及高速緩存,其中该高速緩存临时存储至少某些 程序代码,以便缩短在执行过程中从大容量存储器中取回代码的次数。对输入/输出(I/O )设备、例如鍵盘、显示器或点击设备(pointing device)来说,它们可以直接或者通过中间的I/O控制器来与系统相 耦合。网络适配器同样可以用于允许将数据处理系统耦合到其他数据 处理系统,或者耦合到远程打印机或存储设备,其中举例来说,所述 耦合可以通过其间的专有或公共网络进行。对网络适配器来说,其示例可以是调制解调器、电缆调制解调器、以太网卡以及无线网络适配 器。图4是可以被配置成根据本发明实施例来调整电子系统的多个系 统参数的计算机系统的示意图,其中该计算机系统通常是用220来表 示的。所要调整的系统参数可以包括计算机系统220自身或另一电子 系统的系统参数。该计算机系统220可以是一个釆用常规计算机系统 220的形式的通用计算设备。通常,计算机系统220包括处理单元221、 系统存储器222以及系统总线223,其中该系统总线223将包括系统 存储器222在内的不同系统组件耦合到处理单元221。系统总线223 可以是数种总线结构中的任何一种,这其中包括存储器总线或存储器 控制器、外设总线、以及使用了多种总线架构中的任何一种的本地总 线。系统存储器包括只读存储器(ROM )224和随机存取存储器(RAM ) 225。在ROM 224中存储有基本输入/输出系统(BIOS) 226,并且该 系统包含了有助于在计算机系统220内部的部件之间传送信息的基本 例程,其中举例来说,该数据传送是在启动期间进行的。计算机系统220还包括用于读写硬盘227的硬盘驱动器235,用 于读写可移除磁盘229的磁盘驱动器228,以及用于读写可移除光盘 231的光盘驱动器230,其中举例来说,所述光盘可以是CD-R、 CD-RW、 DV-R或DV-RW。硬盘驱动器235、磁盘驱动器228以及光盘驱动器230分别通过硬盘驱动器接口 232、磁盘驱动器接口 233 以及光盘驱动器接口 234与系统总线223相连。虽然这里描述的示例 性实施例使用硬盘227、可移除磁盘229以及可移除光盘231,但是本 领域技术人员应该了解,在该示例性工作环境中还可以使用能够存储 计算机可访问数据的其他类型的计算机可读介质,例如磁盒、闪速存 储卡、数字^L频盘、Bernoulli盒式磁带、RAM、 ROM、 USB驱动器 等等。这些驱动器及其关联的计算机可读介质提供了针对计算机可执 行指令、数据结构、程序模块以及用于计算机系统220的其他数据的 非易失存储处理。例如,操作系统240和应用程序236可以存储在计 算机系统220的RAM 225和/或硬盘227中。用户可以通过输入设备来将命令和信息输入到计算机系统220 中,其中举例来说,该输入设备可以是键盘225和鼠标242。其他输 入设备(未显示)可以包括麦克风、摇杆、游戏板、触摸板、碟形卫 星天线、扫描仪等等。这些和其他输入设备通常是通过耦合至系统总 线223的USB (通用串行总线)246而与处理单元222相连的,但是 它们也可以通过其他接口来进行连接,例如串行端口接口、并行端口、 游戏端口等等。显示设备247还可以经由某个接口而与系统总线2" 相连,例如视频适配器248。除了监视器之外,个人计算机通常还包 括其他外围输出设备(未显示),例如扬声器和打印机。计算机系统220可以使用与一个或多个远程计算机2"相连的逻 辑连接而在联网环境中工作。远程计算机249可以是另一个人计算机、 服务器、客户机、路由器、网络PC、对等设备、大型机、个人数字 助理、与因特网相连的移动电话、或是其他常见网络节点。虽然远程 计算机249通常包含了上文中结合计算机系统220描述的众多或所有 部件,但是在图4中只例示了存储器存储设备250。该图中示出的逻 辑连接包括局域网(LAN) 251和广域网(WAN) 252。在办乂〉室、 企业计算机网络、内部网和因特网中,这些联网环境都是很常见的。当在LAN联网环境中使用计算机系统220时,该系统通常通过 网络接口或适配器253与局域网251相连。当在WAN联网环境中使用计算机系统220时,该系统通常包括调制解调器254或用于通过因 特网之类的WAN 252建立高速通信的其他装置。调制解调器254可 以处于内部或外部,并且它可以经由USB接口 246与系统总线223相 连。在联网环境中,结合计算机系统220描述的程序模块或其某些部 分可以存储在远程存储器存储设备250中。应该了解的是,所示出的 网络连接是示例性的,此外,其他那些用于在计算机之间建立通信链 路的装置也是可以使用的。程序模块可以存储在硬盘227、光盘231、 ROM 224、 RAM 225 乃至磁盘229上。该程序模块可以包括操作系统240的某些部分、应 用程序236等等。此外,也可以包括系统设定点数据库238,其中该 数据库可以包括用于所要调整的每一个系统参数的设定点值。另外, 也可以包括校准常数数据库239,该数据库可以包括比例常数或其他 系统专用数据,这些比例常数或系统专用数据是为了结合观察到的与 所要调整的每一个系统参数的设定点值之间的偏差来计算目标组件性 能比率(速度)而导出的。本发明的某些方面可以采用应用程序236的形式来实施。应用程 序236可以从系统设定点数据库238和/或校准常数数据库"9得到通 知,或者与系统设定点数据库238和/或校准常数数据库239相关联。 该应用程序236通常包含了根据本发明来调整系统参数的计算机可执 行指令。在这里,权利要求书和说明书中使用的术语"包含"、"包括"和"具有,,应该被认为表示有可能包含了未指定的其他部件的开放式组。术语 "一"、"一个,,以及单词的单数形式应该被认为是包含了该单词的复数形式,由此这些术语指的是提供一个或多个事物。术语"一个"或"单个" 可以用于表示一个且仅仅一个事物。同样,当所期望的是指定数量的 事物时,可以使用其他具体整数值,例如"两个"。术语"优选地"、"优 选"、"首选"、"可选地"、"可以"以及类似术语则用于表示所引用的项 目、条件或步骤是本发明的可选特征(非必要)。虽然在这里针对有限数量的实施例对本发明进行了描述,但是得益于本公开的本领域技术人员将会了解,其他实施例同样是可以想到 的,并且这些实施例并不脱离这里公开的发明范围。因此,本发明的 范围仅仅受限于所附权利要求书。
权利要求
1.一种用于控制电子系统的多个参数的方法,其中该系统具有多个电子组件,并且这些电子组件具有可变性能比率,该方法包括为多个参数中的每一个参数确定每一个组件的性能比率的目标值,其中该目标值采用共同量度;根据与每一个电子组件相关联的预定义选择准则来动态地选择该电子组件的目标值之一;以及根据性能比率的选定值来操作电子组件。
2. 根据权利要求1所述的方法,还包括将各目标值确定为所述参数的感测值与关联于该参数的设定点 值之间的偏差量的函数。
3. 根据权利要求l所述的方法,其中所述电子组件包括处理器, 并且其中所述处理器的性能比率是通过限制处理器速度、调节处理器 频率或调节处理器电压中的一种处理来进行控制的。
4. 根据权利要求1所述的方法,其中所述共同量度包括将组件 性能比率与额定的最大组件性能比率相关联的比例。
5. 根据权利要求1所述的方法,其中所述系统参数包括功率、 电流和声级中的一个或多个。
6. 根据权利要求l所述的方法,还包括在识别出用于监视系统参数的传感器发生故障时,作为响应,将 处于性能比率的选定值的电子组件的控制超驰。
7. —种自动控制系统,包括 至少一个具有可变性能比率的电子组件;多个控制回路,其中每一个控制回路都具有用于调整系统参数的 控制逻辑模块,并且其中每一个控制逻辑模块都确定该组件的性能比 率的目标值;以及与每一个控制回路的控制逻辑模块进行通信的共享控制器,用于 按照共同量度来比较目标值,根据预定义选择准则动态地选择目标值之一,以及以性能比率的选定目标值来操作电子組件。
8. 根据权利要求7所述的系统,其中每一个控制逻辑模块都将 性能比率的各目标值确定为系统参数的感测值与关联于同 一系统参数 的设定点之间的偏差量的函数。
9. 根据权利要求7所述的控制系统,其中所述电子组件包括处 理器,并且其中该控制器通过限制处理器的速度、调节处理器频率或 调节处理器电压以组件性能比率的选定值来操作该处理器。
10. 根据权利要求7所述的控制系统,其中所述共同量度包括将 组件性能比率与额定的最大组件性能比率相关联的比例。
11. 根据权利要求7所述的系统,其中所述控制回路包括用于 管理提供给多个设备的净功率的一个或多个净功率控制回路、每个都 用于管理提供给多个系统设备之一的功率的多个单独功率控制回路、 电流控制回路、热控制回路以及声音控制回路。
12. 根据权利要求7所述的系统,还包括与所述共享控制器进行通信的超驰控制逻辑模块,用于在识别出 监视系统参数的传感器发生故障时,作为响应,有选择地将选定值超 驰。
全文摘要
本发明涉及用于控制电子系统的多个参数的控制系统和方法。在一个实施例中,控制系统支持无限数量的反馈控制回路,并且所有这些回路共享组件的控制权。组件性能比率或“速度”将被用于协商组件控制的共同量度。每一个控制回路持续监视指派其调整的系统参数,将该系统参数与该系统参数的设定点相比较,并且结合相关联的系统参数与相应设定点的偏差来“请求”速度。控制器接收作为动态输入的被请求速度,并且根据预定义选择逻辑来选择被请求速度之一。该控制器将选定速度传递到致动器,该致动器则促使所述组件工作在选定速度上。这样一来,控制系统以一种确保在安全限值以内管理所有系统参数的方式对组件控制进行有效协商。
文档编号G06F11/00GK101334745SQ20081013176
公开日2008年12月31日 申请日期2008年6月27日 优先权日2007年6月28日
发明者C·L·伍德, C·R·莱弗尔吉, M·S·瓦雷, S·考查尔, T·M·布雷, W·M·菲尔特 申请人:国际商业机器公司