用于网络计算机系统的功率管理系统的制作方法

文档序号:7743746阅读:161来源:国知局
专利名称:用于网络计算机系统的功率管理系统的制作方法
技术领域
本发明一般地涉及网络电子设备的功率管理领域。更具体地说,本发明涉及基于网络负载选择网络计算机系统的功率消耗状态的系统与方法。
背景技术
许多便携式个人计算机都能够以插入插座供电(plugged-in outletpowered)模式和非插入电池供电模式工作,其中插入插座供电模式是通过一个可靠并且充分无限的插座功率源来提供功率,而非插入电池供电模式是通过具有有限存储能量的电池来提供功率。通常,便携式计算机的处理器和其它电子组件可在使用的几个小时内消耗足够的功率而耗尽电池中存储的能量。为了增加便携式计算机可以电池供电工作的小时数,近来已经开发了电池利用系统,该电池利用系统使得便携式电脑在电池供电期间以约简性能功率状态工作。
图1图示了包括电源/电池利用系统110的移动便携式个人计算机100,该电源/电池利用系统100包括基于移动便携式个人计算机100是从交流(AC)功率源120与电源130还是从电池140接收功率而将移动便携式处理器150设置为第一性能模式160或第二性能模式170的智能。具体地说,所述智能包括确定移动便携式个人计算机100何时经由可拆卸的电源线125连接到AC功率源120、并且于此时将移动便携式处理器150设置为第一完全性能模式160的智能,并且所述智能还包括确定移动便携式个人计算机100何时未与AC功率源120相连接而正在使用电池供电、并且于此时将移动便携式处理器150设置为第二约简性能模式170的智能。
有几种这样的电源/电池利用系统110可应用于移动便携式个人计算机100。例如,加利福尼亚州圣克拉拉市的Intel公司提供了将移动IntelPentimuIII处理器-M设置为包括第一核心工作频率与电压的第一性能模式160或包括第二核心工作频率与电压的第二性能模式170的增强的IntelSpeedStepTM技术,以在移动便携式个人计算机100中使用,所述移动便携式个人计算机例如是戴尔的Inspion 8100系列笔记本电脑(可从得克萨斯州奥斯汀市的戴尔公司处获得)。增强的IntelSpeedStepTM技术包括高级配置与电源接口(ACPI)规范。ACPI描述了操作系统在移动便携式处理器150上可能实现的功率状态,并且这对本领域普通技术人员来说是公知的。ACPI规范2.0版本可从Inter公司获得,并且可从www.teleport.com/~acpi/获得。或者,加利福尼亚州桑尼维尔市的AMD公司提供了将AMD AthalonTM4处理器150设置为不同功率模式的AMD PowerNow!TM技术,加利福尼亚州圣克拉拉市的Transmeta公司提供了将Transmeta的CrusoeTM处理器设置为不同功率模式的LongRunTM功率管理技术。
通过在消耗较少功率的约简性能级别工作,这些电源/电池利用系统110提供了一种当以电池供电工作时长时间使用移动便携式个人计算机100的方法。但是,这些系统110提供的功率管理智能受到从AC源120或电池140得到功率的移动便携式个人计算机100的限制。


在所附的权利要求中,阐明了本发明基于新特征的多个特性。在附图中,本发明是以示例性方式而不是以限制性方式进行举例说明,并且附图中相似的标号指代相似的元件。然而,参考下文对说明性实施例的详细说明并结合附图,将最好地理解发明本身以及优选的使用模式,其中附图图1图示了包括电源/电池利用系统的移动便携式个人计算机。
图2图示了根据一个实施例的简化的系统体系结构。
图3图示了根据一个实施例的用于操作网络计算机系统的方法。
图4A与图4B图示了根据一个实施例的用于操作包括选择与实现不同功率状态的网络计算机系统的方法。
图5图示了根据一个实施例的用于操作功率状态选择系统的方法。
图6图示了根据一个实施例的功率状态选择系统的系统体系结构。
图7图示了根据一个实施例的用于维持网络负载表示的方法。
图8图示了根据一个实施例在一整天中客户连接到万维网(web)服务器的变化。
图9图示了根据一个实施例的服务器功率管理系统的系统体系结构。
图10图示了根据一个实施例的用以进行功率状态选择设置的图形用户接口。
图11图示了可以实现一个实施例的计算机系统。
具体实施例方式
在下面的描述中,为了解释的目的阐述了很多具体细节,以便于充分理解本发明。但是,没有这些具体细节的某些也可以实施本发明,对于本领域的技术人员来说是很明显的。在其它例子里,以框图形式示出了公知的结构与设备。
图2图示了本发明的一个实施例的系统体系结构200的简化框图。系统200包括网络210;计算机系统220,连接到网络210以从网络接收网络处理负载;功率管理系统230,基于网络处理负载为计算机系统提供多个不同的功率消耗状态;以及功率源270,向计算机系统220提供由功率状态确定的功率量以使其工作。
根据一个实施例,功率管理系统230包括功率状态选择系统240、功能上耦合到选择系统240的功率状态实现系统250以及功能上耦合到实现系统250的硬件260。功率状态选择系统240接收至少一个网络处理负载的表示,基于所述表示选择功率状态,并且声明(assert)一个对应于所选择功率状态的功率状态选择信号。功率状态实现系统250接收该功率状态选择信号并声明一个对应的功率状态实现信号。硬件260接收该功率状态实现信号,切换到该功率状态实现信号所指示的功率状态,并且在所声明的功率状态执行功率消耗电子操作(power consuming electronicoperation)。
可以设想网络210的不同实施例。在一个较宽泛的实施例中,网络210可以包括多个可能不同种类的电子网络访问设备(例如,个人计算机、工作站、服务器、无线设备、个人数字助理(PDA)、蜂窝电话),这些设备经由可能不同种类以及任意复杂的数据传输介质而在功能上与计算机系统220相连接,所述数据传输介质可以包括一个或多个传统的网络体系结构与组件。在另一个较宽泛的实施例中,网络210可以包括能够让电子设备与计算机系统220进行交互并且向计算机系统220提供网络处理负载的任何网络体系结构或组件。在一个具体实施例中,网络210可以包括配备有浏览器以经由因特网服务供应商和因特网来访问计算机系统220的个人计算机客户。在相同或另一个实施例中,网络210可以包括无线设备(例如,蜂窝电话),所述无线设备包括微浏览器(microbrowser)以经由无线网络、无线网关和因特网来访问计算机系统220。或者,如本领域普通技术人员基于本教导而理解的那样,可以设想其它网络体系结构和组件,包括因特网和非因特网体系结构和组件,例如卫星、无线、蜂窝、电缆、局域、广域和城域网络体系结构和组件。
网络210提供网络处理负载。可以设想网络处理负载的不同实施例。在一个较宽泛的实施例中,网络处理负载可以包括与网络210相关联的电子设备和计算机系统220之间的交互。网络处理负载可以包括面向连接的消息输送处理负载(在电话、TCP和HTTP协议的情况下)或无连接的消息输送处理负载(在以太网、IPX和UDP协议的情况下),以及与所述消息相关联的处理负载。在一个更为具体的面向连接的实施例中,网络处理负载可以包括多个TCP/IP连接,每个连接都包括处理负载部分,用以执行诸如下述的一个或多个示例性操作维持连接,执行握手,交换加密数据(例如,安全套接字层),执行解密,处理已解密的数据,访问来自数据源的相关数据,运行数据库管理系统,动态进行作为连接的结果的交互,执行服务器端动态处理(例如,使用公共网关接口(CGI)脚本处理经由HTML表格递交的用户输入数据,运行Java服务器小程序(servlet),或运行因特网服务器API),提供客户端动态处理(例如,提供Java应用小程序(applet)、Java脚本或ActiveX控件),提供多媒体数据,提供实时多媒体聊天,发送传真,执行文件传输协议,提供基于文本的因特网中继交谈(Internet Relay Chat),提供电子邮件答复,提供消息系统,提供新闻输送,提供Telnet,格式化数据,以及终止连接。
计算机系统220通过诸如网络接口卡(NIC)的网络接口接收网络处理负载。可以设想计算机系统220的不同实施例。在一个较宽泛的实施例中,计算机系统220可以是能够接收网络负载、基于该网络负载选择功率状态、以及执行与所选择功率状态下的负载相关联的功率消耗电子操作的任何计算机系统。在一个更为具体的实施例中,计算机系统220可以包括服务器,用于从网络210接收网络请求;功率状态选择系统240,用于基于所述请求(并且可能是其它请求)为至少一个处理器选择功率状态;功率状态实现系统250,用于实现所选择的功率状态,处理器,用以切换到所实现的功率状态并执行与所述请求相关联的响应性操作。所述服务器可以是机架式(rack mount)服务器、模块化(modular)服务器或紧凑型(Compact)PCI计算刀片(compute blade),并且可以包括多个处理器,每个处理器包括多个操作功率状态。在一个实施例中,所述服务器包括台式或便携式母板和移动便携式处理器,例如移动IntelPentimuIII处理器-M。
功率状态选择系统240接收至少一个网络处理负载的表示。可以设想所述表示的不同实施例。广义地说,所述表示可以包括功率状态刺激(stimulus)信息或功率管理事件信息,可操作以引起功率状态选择系统240选择功率状态。
根据第一实施例,所述表示包括实际的网络处理负载。在这样的实施例中,系统240可以检查包括收发分组的数目的网络处理负载,并将这个带宽信息用作处理负载的表示。
根据第二实施例,所述表示可以包括描述或指示网络处理负载的大小或类型的任何信息。所述表示可以从网络接收,可以由操作系统或网络监控程序提供,或者以其它方式获得。所述表示可以包括指示最大网络处理负载的百分比、平均处理负载的百分比、用户或应用期望负载方便地被处理、多个活动(active)网络连接、第一类型(例如,有线而非无线)连接的百分比、不同类型的事务(例如,安全与不安全)、将要供应的多个文件、将要执行的多个CGI过程、将要运行的多个Java服务器小程序、将要提供的多个Java应用小程序的信息,以及为了选择功率状态的目的表示网络处理负载所期望的其它指示。
并非加以限制地考虑包括连接与终止请求的示例性表示,功率状态选择系统240可以使用所述请求维持一个活动连接计数。该计数可以估计处理器上的负载,选择系统240可以基于这个计数来选择功率状态。这个简单的表示对某些实现可能有用,特别是当每个连接向处理器提供基本相似的负载的时候。然而,在一些实例中,有些连接可能向处理器提供不同的负载。例如,单个安全加密可以向处理器提供与几百个非安全连接相同的负载。因此,一些表示可能包括指示连接类型(例如,安全的而非不安全的)的信息。
根据第三实施例,所述表示可以包括处理负载在硬件260上的影响。硬件260可以向功率状态选择系统240提供反馈或其它指示,用于指示作为所接收网络负载的结果,硬件260是如何活动或空闲的。例如,处理器可以提供诸如最近的处理器活动、预定时间间隔内执行的指令数、处理器温度或其它指示信息等信息。
根据第四实施例,所述表示可以包括计时看守(time from a timekeeping)逻辑设备。功率状态选择系统240可以接收时间,并将该时间与阈值时间相比较以选择功率状态。例如,功率状态选择系统240可以包括下述逻辑该逻辑通过将时间11:00PM与11:00PM阈值相比较来选择约简功率状态,以进入深夜所期望的低功率状态。
可以设想不同的功率状态选择系统240。在一个较宽泛的实施例中,功率状态选择系统240可以包括软件逻辑、硬件逻辑或一些结合,以基于网络处理负载来选择可能与负载一致或合乎负载的功率状态。在一个更为具体的实施例中,系统240可以包括存储的预定功率状态阈值和软件功率状态选择指令,以将至少一个网络负载的表示与该阈值相比较并基于所述比较选择功率状态。
并非加以限制地考虑下面的示例性功率状态选择系统240,该系统240为计算机系统220选择较低的功率状态。首先,选择系统240接收负载的指示,然后访问预编程的阈值,之后将所述表示与阈值相比较,然后确定所述表示低于阈值,然后选择低功率状态,然后确定所选择的状态与当前功率状态不同,然后产生用于指示所选择低功率状态的功率状态选择信号,并且之后声明该选择信号。还可以设想其它的实施例。
功率状态选择系统240声明功率状态选择信号。可以设想不同的功率状态选择信号。根据一个实施例,功率状态选择信号唯一地标识硬件260的功率状态。例如,信号可以标识处理器的预定功率状态。根据另一个实施例,选择信号是基于诸如当前和将来ACPI规范的功率管理协议或规范的。例如,选择信号可以模仿当支持IntelSpeedStepTM技术或增强的IntelSpeedStepTM技术的移动便携式个人计算机要进入最大性能模式或电池供电模式时所发布的信号或指示。根据一个实施例,功率状态选择信号包括耦合到母板和处理器的引脚上的电压指示。例如,功率状态选择信号可以是使用中的移动便携式母板的现有引脚上的电压指示,如同当移动便携式个人计算机从外部功率源接收功率时,该移动便携式个人计算机将从该外部功率源接收电压指示。
功率状态实现系统250接收功率状态选择信号并向硬件260声明功率状态实现信号。可以设想不同的功率状态实现系统250。在一个较宽泛的实施例中,实现系统250充当选择系统240和硬件260之间的中介,以使得硬件260不能理解的功率状态选择信号经由功率状态实现信号来实现对应于该选择信号的功率状态。实现系统250可以包括下述逻辑将一般简单的硬件不能理解的功率状态选择信号转换为一般复杂的硬件可理解功率状态实现信号,所述实现信号可以包括多个信号。根据一个更为具体的实施例,功率状态实现系统250可以是基于当前或将来ACPI规范的。例如,实现系统250可以包括支持IntelSpeedStepTM技术、增强的IntelSpeedStepTM技术或两者的操作系统、芯片组、BIOS以及电压调节器。
可以设想不同的功率状态实现信号。根据一个实施例,功率状态实现信号是对应于传统处理器的传统功率状态实现信号。例如,在一个具体实施例中,功率状态实现信号包括IntelSpeedStepTM技术操作模式选择GHI#信号。
硬件260接收功率状态实现信号,切换到所实现的功率状态并在所实现的功率状态下工作。根据一个实施例,硬件260包括计算机系统260的所有功率消耗电路或任何它们的期望子集。例如,硬件260可以包括芯片组、处理器、存储器设备、大容量存储设备以及其它组件。
功率源270基于硬件260消耗的功率量向计算机系统220提供功率。根据一个实施例,功率源270包括传统的服务器功率源。例如,功率源270可以包括直流(DC)功率源、AC功率源、不间断电源(UPS)、发电机或特定实现所期望的其它功率源。
通过这种方式,功率管理系统230可以基于网络处理负载信息为计算机系统220选择并实现不同的功率消耗状态。更有利的是,这可以让计算机系统220使用适当的功率量来完成网络210提供的任务进而节省昂贵的功率。
尽管本发明的多个实施例频繁地以功率消耗和功率消耗状态来描述,但是实施例也可以基于性能或性能状态。例如,在一个实施例中,计算机系统220、计算机系统220的处理器或两者都可以具有对应于高性能(例如,高时钟速率)状态的高功率消耗状态和对应于低性能(例如,低时钟速率)状态的低功率消耗状态。
图3图示了根据第一实施例的用于操作诸如服务器的网络计算机系统的方法300。方法300可以逻辑来实现,所述逻辑可以包括软件、硬件或软件和硬件的结合。方法300在框301处开始,随后进入框310,在这里从网络接收处理负载。方法300前进到320,在这里基于至少一个所述负载的表示来选择功率状态。方法300前进到框330,在这里在硬件上实现功率状态。方法300前进到框340,在这里硬件在所实现的功率状态下工作并消耗了对应于所述功率状态的功率量。方法在框350处终止。
图4A和4B图示了根据第二实施例的用于操作诸如服务器的网络计算机系统的方法400(框A、B和C示出了图4A和图4B之间的转移)。方法可以逻辑来实现,所述逻辑可以包括软件、硬件或软件与硬件的结合。
方法400在框401处开始,随后进入框405,在这里诸如计算机系统220或另一个计算机系统的计算机系统通过执行冷启动从无功率级别开始操作。在冷启动期间,一旦计算机系统功率处于稳定的工作级别,计算机系统就初始化存储器组件并复位(reset)各种系统组件。该初始化和复位将系统组件设置在已知并且同步的工作状态。在初始化和复位之后,BIOS和操作系统可以被加载到主存储器。
方法400从框405前进到框410,在框410处开始功率状态选择系统。这可以包括将指令加载到主存储器并且开始执行指令。
方法400从框410前进到框415,在框415处选择并实现约简功率状态。有利的是,这可以让计算机系统最初假定低功率消耗状态,直到确定期望较高功率消耗状态。然而另一个实施例设想了使用最大功率状态。
方法400从框415前进到框420,在框420处从网络接收负载并经由数据录入设备接收用户命令,并且使用低功率状态来执行所述负载和命令。负载可以来自网络210或另一个网络,并且可以包括来自多个网络访问设备的组合(combined)处理负载,所述多个网络访问设备作为客户执行对服务器的请求。
方法400从框420前进到判定框425,在判定框425处确定用户或经授权的应用是否已经指示了最大功率状态。这可以包括确定用户是否已改变了物理手动覆盖(override),或是否已通过功率状态选择系统配备的图形用户接口(GUI)作出了选择。这还可以包括应用是否期望不同的功率状态,例如通过过程调用(procedure call)。如果确定为“是”426,则方法前进到框430,于其中选择并实现最大功率状态,并且方法400重新访问框420。如果确定为“否”427,则方法400前进到判定框435。
在判定框435处确定网络负载表示是否指示最大功率状态。考虑一个实施例,其中网络负载表示包括指示客户连接数目的信息,该确定可以包括将所指示的数目与存储的较低边界客户连接阈值相比较,其中所述较低边界客户连接阈值表示用于最大功率状态的客户连接的最低数目。如果确定为“是”436,则方法400前进到框430,于其中选择并实现最大功率状态,并且方法400重新访问框420。如果确定为“否”437,则方法400前进到由框A示出的判定框440。
在判定框440处确定用户或应用是否已经指示了等待(standby)功率状态。等待功率状态指的是明显约简的非执行功率状态,其中功率消耗非常小。功率被供应给组件,并且这些组件可以产生允许转移出等待模式并唤醒处理器的中断。活动应用保留在主存储器中,并且可以在不重新载入应用的条件下执行到较高功率消耗执行状态的转移。从而,执行从这个状态的唤醒只需很小的延迟。这可以包括确定用户是否已经激活等待功率模式的物理或软件指示。如果确定为“是”441,则方法400前进到框445,于其中选择并实现等待功率状态。如果确定为“否”442,则方法400前进到判定框460。
在判定框460处确定是否检测到活动。根据第一实施例,这可以包括确定是否接收到了网络负载。根据第二实施例,这可以包括确定处理器是否正在执行操作。如果确定为“否”461,则方法400前进到判定框465。如果确定为“是”462,则方法400前进到框470,在框470处空闲超时时间被复位,并且方法400重新访问框415(由框B示出),在框415处选择并实现约简功率状态。
方法400从“否”判定461前进到框465,在框465处确定预定的空闲超时时间是否已经期满。可以选择超时时间以适应特定的实现。如果确定为“是”,则方法400前进到框445,在框445处选择并实现等待功率状态。如果确定为“否”467,则方法440重新访问框415(由框B示出),在框415处选择并实现约简功率状态。
如上所述,方法400可以前进到框445,其中通过确定“是”441或确定“是”466选择并实现等待功率状态。方法400从框445前进到框450,在框450中确定是否发生了等待中断。根据一个实施例,功率状态选择系统基于所接收的网络负载可以引起中断。可以设想其它的系统中断和传统中断。如果确定为“否”451,则方法前进到框455,在框455处维持等待状态,并且方法重新访问框450。如果确定为“是”452,则方法400重新访问框415(由框C示出),在框415处选择并实现约简功率状态,并且在约简功率状态下恢复处理。
还可以设想用于操作诸如服务器的网络计算机系统的其它方法。根据一个实施例,一种方法包括基于高网络负载的表示将服务器设置在高性能、高功率消耗模式,以及基于低网络负载的表示将服务器设置在低性能、低功率消耗模式,而不用选择等待模式。举例来说且不是限制,一种方法可以包括修改的方法400,使得修改的方法400可以遵循“否”确定437而重新访问框420(如虚线490所示)或者在框A处终止。通过这个或其它方法,可以在功率状态选择系统无需自动选择等待模式的条件下操作网络计算机系统或服务器,这对于某些实现来说是所期望的。
图5以框图形式图示了根据一个实施例的用于操作功率状态选择系统(例如功率状态选择系统240或另外的系统)的方法500。方法500可以逻辑来实现,所述逻辑包括软件、硬件或软件与硬件的结合。
方法500在框501处开始,随后前进到框510,在框510处选择并声明低功率状态选择信号。这可以包括访问或生成低功率状态的指令或其它明确的表示,并且提供或传输该指令或表示。方法500前进到判定框520,在判定框520处确定是否已经达到了预定的应用阈值。所述确定可以包括将应用负载与预定的并且预编程的应用阈值相比较以确定所述应用负载位于预定应用阈值的哪一侧,其中所述应用负载基于和网络进行的交互而实时变化。所述应用负载可以表示网络活动、从网络接收的即时负载、处理器活动或者其它的应用负载。如果确定为“否”521,则方法500重新访问框510,在框510处选择并声明低功率状态。如果确定为“是”522,则方法前进到框530,在框530处选择并声明高功率状态。从框530,方法500可以如所预期地重新访问确定框520或在框540处终止。
可以设想方法500的不同实施例。例如,在一个实施例中,在框510处所述选择系统选择并声明高功率状态,并且随后在判定框520处确定所述网络负载已经下降到阈值之下,并且随后在框530处选择并声明低功率状态。此外,根据另一个实施例,方法500包括一个延迟。如果所述表示在大小上与阈值相当并且在阈值的左右移动,则该延迟可以避免在框510和530之间进行快速的反复选择。例如,可以实现一个延迟,使得每隔几秒或每隔几分钟执行确定520。
图6是一个实施例的功率状态选择系统600的系统体系结构的简化框图。如特定的实现所期望的那样,功率状态选择系统600可以逻辑来实现,所述逻辑包括软件、硬件或软件与硬件的结合。
选择系统600包括一个接口,就软件而言例如是应用编程接口(API),用以接收多个功率状态指示信号610。功率状态指示信号610包括网络处理负载(R)的表示信号610A、等待信号610B和最大信号610C。根据一个实施例,经授权的用户、应用或计算机系统组件可以提供信号610。根据第一实施例,表示610A可以包括网络带宽信息。根据第二实施例,表示610A可以包括来自操作系统或网络监控应用的网络管理信息。根据第三实施例,表示610A可以包括连接计数信息。根据第四实施例,表示610A可以包括指示处理器的活动的信息。根据第五实施例,表示610A可以包括当前时间信息。信号610B和610C可以是覆盖信号(override signal),其中经授权的用户、应用或系统组件可以使用该覆盖信号来控制功率状态选择系统600如何选择功率状态。
信号610和多个预定和预编程的应用阈值630被提供给选择逻辑620。阈值630包括第一阈值(T1)630A、第二阈值(T2)630B和第三阈值(T3)630C。逻辑620可以包括指令以基于信号610和阈值630来选择预定功率状态。
并非加以限制地示出了一组示例性的逻辑,以说明可以如何执行简单功率状态选择以及如何声明内部选择信号640。该示例性逻辑给出了对覆盖信号610B和610C的基本控制。如果声明了信号610C,则选择最大功率状态并声明选择1信号640B。相反,如果没有声明信号610C而是声明了信号610B,则选择等待功率状态并声明等待信号640A。如果既没有声明信号610B也没有声明信号610C,则所述选择基于所声明的表示610A。如果所述表示大于阈值630A,则选择最大功率状态并声明选择1640B。或者,如果所述表示并不大于阈值630A而大于阈值630B,则选择较低功率状态并声明选择2640C。然而,如果所述表示并不大于阈值630A或阈值630B而大于阈值630C,则选择更低功率状态并声明选择3信号640D。
所声明的信号649被提供给逻辑650以避免声明不必要的功率状态选择信号。逻辑650还从当前功率状态存储器670或从来自硬件(例如,处理器)的当前功率状态信号680接收当前功率状态的指示。如果所选择且所声明的功率状态640不等于当前功率状态670(或680),则将所选择且所声明的功率状态640作为所声明的功率状态选择信号660向外部进行声明。
并非加以限制地考虑下面的示例。没有声明信号610B和610C,并且表示610A具有值0.72。所述表示610A与具有值0.80的第一阈值630A和具有值0.60的第二阈值630B进行比较,在该数值处选择功率状态并声明对应的选择2信号640C。逻辑650接收了所声明的选择2信号640C以及当前功率状态是来自670的选择1的指示。从而,所选择的功率状态(选择2)与当前功率状态(选择1)不同,并且声明了功率状态选择信号选择2660。
图7以框图形式图示了根据一个实施例的用于维护网络负载表示的方法700。根据一个实施例,方法700可以由诸如选择器240的功率状态选择系统来实现,或者由诸如网络监控应用的其它应用来实现。
方法700在框701处开始,随后进入框710,在框710处接收连接请求和终止请求。这些请求可以是来自可能不同种类的网络访问设备的客户TCP请求。方法700从框710前进到判定框720,在框720处确定所接收的请求是否是连接请求。根据一个实施例,当接收到SYN分组时,可以确定是连接请求。如果确定为“是”721,则方法700前进到框730,在框730处增加网络负载表示。如果连接请求是第一连接请求,则所述表示可以从全零增加,否则所述表示可以从先前值增加。方法700从框730重新访问框710。如果确定为“否”722,则方法700前进到框740,在框740减少网络负载表示。方法700可以如所期望地从框740重新访问框710或在框750处终止。
由于客户使用模型(pattern),客户连接到万维网服务器的数目在一天的时间内可能明显的变化。图8非限制性地示出了在一天的时间段里用户连接到网络服务器的基本预先确定和典型的模型。Y轴示出了对应于x轴的24个逐小时的条(bar)的每个相对于每日全部连接的百分比。24个条的每个的y值的总和为100%。从午夜开始,连接的数目可能一直减少到大约7:00AM时为止,在大约7:00AM连接的数目开始增加,在大约4:00PM达到最大值,并且随后缓慢减少到午夜的值。可以设想其它的模型。
根据一个实施例,可以使用基本预先确定的服务器性能预期的历史模型和相关的时间阈值来为服务器选择与服务器的历史性能预期相适应的功率状态。在预期到高服务器性能的预定时间处可以选择高功率状态,而在预期到的服务器性能的预定时间处可以选择低功率状态。这可以在服务器不期望或不需要最大性能的时间,允许降低功率消耗。例如,考虑图8的模型,选择系统可以根据诸如以下逻辑来进行选择如果当前时间是10:00PM,则选择低功率消耗状态;并且如果当前时间是7:00AM,则选择高功率状态。这种简单功率状态选择逻辑可以显著地节约功率,这对某些实施例是足够的,所述实施例例如是很少发生明显偏离基本预先确定模型的实现。
图9示出了根据一个实施例的服务器900的功率管理系统910的简化系统体系结构。功率管理系统910包括功率状态选择系统920,用于选择功率状态;功率察觉(power-aware)实现系统940,与选择系统920耦合以实现所选择的功率状态;和处理器970,与实现系统940耦合以切换到所实现的功率状态并在该状态下工作。
可以是一个应用的功率状态选择系统920包括功率状态选择指令922和阈值924。系统920使用所述指令和所述阈值924以及与从诸如网络210的网络接收的负载相关联的信息来选择功率状态。在选择了功率状态之后,系统920向实现系统940提供功率状态选择信号。
功率察觉实现系统940接收所述功率状态选择信号并经由功率状态实现信号在处理器970上实现该信号。所使用的术语“功率察觉”宽泛地表明硬件接口支持第一功率状态980和第二功率状态990,并且包括逻辑以基于选择系统920的选择将处理器970实现在状态980或990。根据一个实施例,实现系统940是根据高级配置与电源接口(ACPI)规范2.0版本来实现的。
根据一个实施例,功率察觉实现系统940包括功率察觉操作系统950和功率察觉BIOS 960。操作系统950可以是可在服务器900上执行的软件应用,以在多个应用之间提供接口,所述多个应用例如是选择系统920和BIOS 960。操作系统支持第一操作功率状态980和第二操作功率状态990。操作系统950可以提供操作系统引导的(directed)功率管理。操作系统950可以支持ACPI 2.0版本,并且可以基于用户设定和应用请求来在处理器970和其它期望的硬件之上控制并实现功率状态,所述用户设定和应用请求例如是来自功率状态选择系统920的功率状态选择信号。操作系统950可以包括ACPI驱动器952以协助将处理器970设置在功率状态980或990的一个。驱动器952可以等待诸如功率状态选择信号的ACPI事件的发生。根据一个实施例,操作系统950可以包括服务器Windows,Unix,Linux,Sun Solaris,Macintosh或其它操作系统。例如,操作系统可以包括微软Windows NT服务器4.0,该操作系统可从华盛顿的雷德蒙市(Redmond,Washington)获得。
功率察觉BIOS能够在处理器970上实现第一功率状态980或第二功率状态990。根据一个实施例,该BIOS支持ACPI 2.0版本。这种BIOS960对本领域普通技术人员来说是众所周知的,因此不再进行讨论。BIOS960向处理器970提供功率状态实现信号。
处理器970接收功率状态实现信号并且切换到所指示的功率状态。根据一个实施例,第一功率状态包括频率982和电压984,并且第二功率状态990包括频率992和电压994。
移动IntelPentimuIII处理器-M示例并非加以限制地考虑一个具体实施例,其中处理器970是移动IntelPentimuIII处理器-M,并且其中功率察觉实现系统940包括Intel815EM芯片组、BIOS、电压调节器和Windows NT操作系统,其中每个都支持IntelSpeedStepTM技术,耦合到芯片组和处理器970之间的IntelSpeedStepTM技术控制逻辑的控制逻辑ASIC以及IntelSpeedStepTM技术驱动器。
第一状态980可以是包括频率982为733MHz、电压984为1.15V的低功率状态。第二状态990可以是包括频率992为1133MHz、电压994为1.40V的高功率状态。还可以设想其它的频率和电压,这对具有本领域的专业技能并掌握了本公开的优点的技术人员来说是显而易见的。这里并非作为限制,这些状态之间的转移可以与频率的变化和电压变化的平方成比例地影响功率。
选择系统920提供功率状态选择信号,该功率状态选择信号可操作以由实现系统940识别。根据一个实施例。所述信号可以基本模仿当前在便携式计算机实现中使用的信号,其中使用IntelSpeedStepTM技术基于计算机插入了电源还是使用电池功率来实现最大性能模式或电池功率模式。例如,它可以包括耦合到外部功率源上的引脚上声明的传统电压。在另一个实施例中,功率状态选择可以包括以下信息指示电压与频率对982、984或992、994的信息,指示状态980或990之一的总线时钟比的信息,或者对应于状态980或990之一的倍频器(frequency multiplier)的信息。例如,所述信号可以包括对应于存储在加电(power-on)配置寄存器中的总线比的5比特代码的指示。
功率状态实现系统940将功率状态选择信号处理成适于在处理器970上实现功率状态的功率状态实现信号。根据第一实施例,实现信号指示状态980或990之一的总线比。根据第二实施例,实现信号包括IntelSpeedStepTM技术操作模式选择GHI#信号,所述GHI#信号对应于第一状态980或第二状态990的任何一个的总线时钟比,并且已在制造期间预编程到处理器970。根据第三实施例,实现信号是将处理器970切换到较高功率状态980的信号,并且包括使处理器970进入低功率深睡眠(Deep Sleep)状态、提高核心电压、设置GHI#为低、以及返回常规(Normal)状态的信号。这可以让处理器970在状态980和990之间实时进行切换,而无需进行复位以及改变系统总线频率。根据第四实施例,实现信号是将处理器970切换回初始的较低功率状态980的信号以减少功率消耗,并且包括对应于与上述操作基本相反的操作的信号。
图10示出了根据一个实施例的图形用户接口1000,以让用户指定功率状态选择系统设定和参数。GUI 1000可以由应用小程序或其它软件装置提供。GUI 1000允许用户配置选择系统以基于网络负载来自动选择功率状态,进而进行覆盖以使用高性能/高功率模式,进行覆盖以使用低性能/低功率模式,或者进行覆盖以使用等待模式。这里并非作为限制,已经选择了自动模式。GUI 1000还允许选择不同的预定网络负载表示,所述表示可从下拉式(pull-down)菜单中获得。这里并非作为限制,已经选择了活动连接的数目。GUI 1000还提供输入高性能/功率状态阈值和低性能/功率状态阈值的每一个的字段,以及在这种情况下分别用于高性能/功率状态和低性能/功率状态的连接的最小数目的字段。这里并非作为限制,已经将高阈值设定为250并将低阈值设定为0。通过高级设定菜单可以进行功率状态选择系统的其它设定。
替换实施例可以设想许多替换实施例。下面将讨论示例性替换实施例,当然本领域普通技术人员基于本公开可以想到多个其它的实施例。
用于选择功率状态的操作系统根据第一替换实施例,操作系统可以包括功率状态选择系统及其基于至少一个网络负载的表示来选择功率状态的方法。
多处理实现根据第二替换实施例,可以使用功率状态选择系统为在处理器群(farm)、服务器群、机架式服务器或其它多处理器环境中的一个或多个处理器选择功率状态。在第一实施例中,功率状态选择系统可以为单个处理器选择功率状态。在这种情况下,功率状态选择信号可以指示单个处理器。在第二实施例中,功率状态选择系统可以为多个处理器选择功率状态。在这种情况下,功率状态选择信号可以指示多个处理器,或者如果所述多个处理器少于所有可用处理器,则功率状态选择信号可以指示所述多个特定处理器。
示例性计算机体系结构如这里所讨论的,“系统”或“计算机系统”,例如具有功率状态选择系统的计算机系统,可以是包括用于处理数据的硬件和/或软件的装置。所述系统可以包括但不局限于网络连接计算机(例如,服务器、大型机等等)或其它系统(例如,传真机、打印机等等)。
现在将参考图11来描述表示示例性网络计算机系统、主机或服务器的计算机系统1100,其中实现了本发明的多个特征。计算机系统1100表示实现了本发明的多个实施例的一个可能的计算机系统,然而,也可以设想其它计算机系统以及对计算机系统1100进行变化。
计算机系统1100包括电源1101,用于从外部电源插座1102接收功率,并且向系统1100的组件提供功率。所述组件包括总线或其它通信装置1103,用于传输信息;时钟1104,用于提供BCLK;诸如处理器1105的处理器装置,耦合到总线1103以接收BCLK和来自电压调节器1106的电源电压(supply voltage),并且在不同功率消耗状态下处理信息。
计算机系统1100还包括耦合到总线1103的系统存储器1107,系统存储器1107包括只读存储器(ROM)1108,用于为处理器1105存储的静态信息和指令,例如功率察觉BIOS 1109;以及随机存取存储器(RAM)1110,用于存储动态信息和将由处理器1105执行的指令。在处理器1105执行指令期间,RAM 1110可以用来存储临时信息。在一个实施例中,RAM 1110可以用来存储功率察觉操作系统1111、应用程序1112和程序模块1113。应用程序1112、程序模块1113或两者可以用来实现本发明的某些功率管理特征,例如功率状态选择和实现(例如功率驱动器)。根据一个实施例,操作系统1111、应用程序1112和程序模块1113可以通过硬盘驱动接口1114来访问。
系统1100还可以包括网络接口1115,用于接口网络1116并且与多个远程计算机系统1117进行交互。根据特定的实现,通信设备1115可以包括调制解调器、网络接口卡、或者其它众所周知的接口设备,例如用于耦合到以太网、令牌环网或其它类型物理连接的设备,以提供到网络的通信链路。
本领域普通技术人员将认识到,系统1100可以包括并未示出的其它组件。例如,系统1100可以具有包括显示设备(例如,监视器)、数据输入设备(例如,键盘或光标控制设备)的用户接口或控制台(console)。
本发明包括如上所述的各种方法和操作。本发明的方法可以由硬件、软件或两者的结合来执行。本发明的各个方面可以机器可读指令来实现,如果执行这些指令,则引起以所述指令进行编程的半导体逻辑产品、电路或处理器执行多个操作。本发明可以作为计算机程序产品来提供,该产品包括存储有指令的机器可读介质,如果执行这些指令,则可以对计算机系统进行编程以执行根据本发明的多个处理。所述机器可读介质可以包括但不局限于软盘、光盘、CD-ROM、磁光盘、ROM、RAM、EPROM、EEPROM、磁卡、光卡(optical card)、闪存或其它适于存储电指令的机器可读介质。此外本发明还可以作为计算机程序产品而被下载,其中程序可以载波或其它传播介质中实现的数据信号的方式经由通信链路(例如,调制解调器或网络连接)从远程计算机传送到请求计算机。
总之,本发明提供了一种基于网络负载选择网络计算机系统的功率状态的方法。
在前面的说明书中,已经参考具体实施例描述了本发明,然而很明显,在不背离本发明较宽泛的精神和范围的情况下可以对其进行各种修改和变化。因此,说明书和附图应被认为是示例性的而非限制性的。
权利要求
1.一种计算机系统,包括耦合到网络的网络接口,用于接收增加的网络负载,所述网络负载包括增加的到电子网络访问设备的多个连接的每个的负载部分;耦合到所述网络接口的功率状态选择系统,用于接收至少一个所述增加的网络负载的表示,通过将所述表示与预定阈值相比较来确定所述表示大于所述阈值来选择消耗较多功率的较高功率状态,并且声明对应于所述较高功率状态的功率状态选择信号;耦合到所述功率状态选择系统的功率状态实现系统,用于接收所述所声明的功率状态选择信号并且声明对应的功率状态实现信号;耦合到所述功率状态实现系统的处理器,用于接收所述功率状态实现信号,切换到所述较高功率状态,并且在所述较高功率状态下执行与所述接收到的网络负载相关联的操作;以及耦合到所述计算机系统的功率源,用于向所述计算机系统提供增加的功率量以在所述较高功率状态下向所述处理器提供电源。
2.如权利要求1所述的计算机系统其中所述增加的网络负载包括非安全连接的负载部分和安全连接的负载部分;并且其中所述表示包括所述非安全连接的表示部分和所述安全连接的表示部分。
3.如权利要求1所述的计算机系统,其中所述功率状态选择系统包括多个预编程的阈值,所述多个阈值的每个都对应于所述处理器的预定操作功率状态。
4.一种计算机系统,包括耦合到网络的网络接口,用于接收与多个网络访问设备相关联的网络处理负载;耦合到所述网络接口的功率管理系统,用于接收所述网络处理负载的表示,基于所述表示选择多个操作功率状态中的一个功率状态,并且声明所述功率状态;耦合到所述功率管理系统的硬件,具有所述多个操作功率状态,用于接收所述所声明的功率状态,切换到所述所声明的功率状态,从功率源接收由所述所声明的功率状态决定的功率量,以及在所述所声明的功率状态下执行与所述所接收的网络负载相关联的操作。
5.如权利要求4所述的计算机系统其中所述计算机系统是服务器;其中所述功率管理系统包括耦合到所述网络接口的功率状态选择系统,用于接收所述表示,通过将所述表示与阈值相比较来选择所述功率状态,并且声明功率状态选择信号;以及耦合到所述功率状态选择系统的功率状态实现系统,用于接收所述功率状态选择信号并且声明功率状态实现信号;并且其中所述硬件包括耦合到所述功率状态实现系统的处理器,用于接收所述所声明的功率状态实现信号,切换到所述所声明的功率状态,从非电池功率源接收由所述功率状态决定的功率量,以及在所述功率状态下执行与所述所接收的网络负载相关联的操作。
6.如权利要求4所述的计算机系统其中所述硬件包括具有多个预定操作功率状态的处理器,所述多个预定操作功率状态的每个具有不同的核心操作频率;并且其中所述功率管理系统可操作,以为所述处理器选择所述多个预定操作功率状态之一,并且在所述硬件上实现所述所选择的功率状态。
7.如权利要求6所述的计算机系统,其中所述处理器包括便携式处理器。
8.如权利要求4所述的计算机系统,其中所述硬件包括具有高功率状态和低功率状态的处理器,所述高功率状态具有高操作时钟频率并且所述低功率状态具有低操作时钟频率。
9.一种功率状态选择系统,用于接收与多个网络访问设备相关联的网络处理负载的表示,基于所述表示选择功率状态,并且声明对应于所述所选择的功率状态的功率状态选择信号。
10.如权利要求9所述的功率状态选择系统,其中所述网络处理负载的所述表示包括客户连接数目的指示。
11.如权利要求9所述的功率状态选择系统,其中所述网络处理负载的所述表示包括处理器活动的指示。
12.如权利要求9所述的功率状态选择系统,还包括逻辑,用于通过将所述表示与预定阈值相比较而进行选择。
13.如权利要求9所述的功率状态选择系统,其中所述功率状态选择信号标识了对应于处理器的预定总线比的总线比选择信号。
14.如权利要求9所述的功率状态选择系统,还包括耦合到所述功率状态选择系统的功率状态实现系统,用于接收所述功率状态选择信号,并且声明功率状态实现信号;以及耦合到所述功率状态实现系统的硬件,用于接收所述功率状态实现信号,并且切换到对应于所述功率状态实现信号的功率状态。
15.如权利要求14所述的功率状态选择系统其中所述功率状态实现系统包括高级配置与电源接口功率状态实现系统;并且其中所述硬件包括处理器,以从第一操作功率状态切换到第二操作功率状态,所述第一操作功率状态包括第一核心电压与第一核心频率,而所述第二操作功率状态包括与所述第一核心电压不同的第二核心电压以及与所述第一核心频率不同的第二核心频率。
16.一种功率状态选择系统,用于基于从网络接收到的处理负载的变化来指引服务器的处理器进入多个执行功率消耗状态之一,所述处理负载的变化包括来自客户网络访问设备的连接数目的变化。
17.如权利要求16所述的功率状态选择系统,是以软件应用实现的,所述软件应用可通信地耦合到用于指引功率管理的操作系统。
18.如权利要求16所述的功率状态选择系统,是以软件应用实现的,所述软件应用可通信地耦合到所述处理器的高级配置与电源接口功率驱动器。
19.如权利要求16所述的功率状态选择系统,是以服务器操作系统中的逻辑实现的。
20.一种方法,包括从网络接收对应于多个客户的网络处理负载;通过将所述网络处理负载的表示与预定阈值相比较并且确定所述表示大于所述阈值,为处理器选择较高功率状态;以及声明用于指示所述所选择的较高功率状态的功率状态选择信号。
21.如权利要求20所述的方法,还包括在声明之前确定所述所选择的功率状态是否与当前功率状态不同。
22.一种处理器,通过权利要求20所述的方法将所述处理器设置在所述较高功率状态。
23.一种机器可读介质,其上存储有数据表示指令,如果执行所述指令,则引起机器执行以下动作从多个网络客户接收处理负载;通过将所述负载的表示与预定阈值相比较以确定所述表示低于所述阈值,为硬件选择较低功率状态;以及声明对应于所述所选择功率状态的功率状态选择信号。
24.如权利要求23所述的机器可读介质,其中用于进行选择的所述指令还包括以下指令,如果执行该指令,则引起所述机器为所述硬件的处理器选择预定操作功率状态。
25.如权利要求23所述的机器可读介质,其中用于进行声明的所述指令还包括以下指令,如果执行该指令,则引起所述机器声明功率状态选择信号,所述功率状态选择信号可操作以引起高级配置与电源接口实现系统在所述硬件的处理器上实现所述所选择的功率状态。
全文摘要
本发明公开了一种功率状态选择系统与方法,用于接收与多个网络访问设备相关联的网络处理负载的表示,基于所述表示选择功率状态,并且声明一个对应于所选择功率状态的功率状态选择信号。
文档编号H04L29/08GK1592879SQ02819237
公开日2005年3月9日 申请日期2002年9月30日 优先权日2001年9月28日
发明者蒙特·罗兹 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1