专利名称:数据处理网络中的节能的制作方法
技术领域:
本发明总体上涉及网络计算领域,具体涉及一种通过动态地调整选定服务器-网络链路的运行频率来减少服务器群集中能量消耗的方法和系统。
背景技术:
在网络化计算和数据处理领域中,服务器群集通常用作一种提供网络服务的装置。服务器群集通常包括一组服务器装置,每一装置都能够处理服务器请求。群集可以包括一个配置为将输入的请求路由到服务器群集中适当的服务器以进行处理的请求分配器。将请求分配给各个服务器可以基于各个服务器的当前负载、请求的源端、所请求的文件或数据的位置或其它适当的因素。
服务器群集经常根据一种交换配置(switched configuration)来安排,在该交换配置中,每一服务器都通过诸如铜绞线、光缆或无线传输电磁波之类的传输介质与中央交换机通信。在配置了网络参数后,将基于各个网络接口卡和传输介质自身的带宽容量为每个服务器-交换机链路建立一个传输速率。通常,在链路建立后和链路在链路生存期内保持建立时,给定链路的传输速率是确定的。此外,建立的传输速率通常是链路两端都可以适应的可能的最高传输速率。
将每一网络链路的传输速率保持在可能的最高值可以最大化性能,但代价是增加功耗。以较高的频率运行网络链路比以较低的频率运行同一链路成本高是常识。此外,由于数据传输速率可能受服务器和交换机之间链路的物理带宽之外的因素的限制,以较高的频率运行网络链路而发生的额外的成本通常不会转变成相应的性能提高。
各个服务器-交换机链路的带宽之和不能超过总的分配给服务器群集的带宽。因此,如果一个被分配了200兆位/秒(Mbps)带宽的服务器群集总共支持20个服务器,其中每一服务器以100Mbps链路被连接至中央交换机,所有链路都同时以其最大带宽运行在物理上是不可能的。而且,远程客户机和服务器群集之间的连接可以是一种对服务器-交换机链路的可用带宽的限制。如果一个客户机在没有其它的网络业务期间通过一个56Kbps调制解调器连接到服务器群集(和单个服务器),可以利用的、用以为客户机请求提供服务的服务器-交换机链路的最大带宽为56K。如果服务器-交换机链路运行在,例如,100Mbps,则将严重地浪费带宽。
发明内容
相应地,本发明提供了一种运行数据处理网络的方法,包括在网络的一个服务器和连接了该服务器的交换机之间执行一初始协商,其中该初始协商建立一个服务器和交换机之间的链路的初始运行频率;基于在链路上通信的网络业务确定服务器的有效数据速率;以及响应于确定有效数据速率明显不同于服务器-交换机链路的当前带宽,执行一后续的协商以建立修改后的运行频率,其中该修改后的运行频率比初始运行频率更接近有效数据速率。
(注意,该方法可以由一个在计算机上运行的计算机程序来执行。)本发明优选地提供了一种方法和系统,通过响应于改变的网络状况,动态地优化服务器链路的运行频率,用以动态地节约数据处理网络中的能量消耗。
优选地,上述问题主要通过一种数据处理网络和方法解决,其中优选地动态调整网络链路的运行频率以最小的性能损失来节约能量消耗。当服务器的网络链路的最大可用带宽小于链路的当前运行频率时,优选地减小服务器链路的运行频率。类似地,如果链路的最大可用带宽超过了当前运行频率,可以增大运行频率。在一实施例中,该数据处理网络包括一个服务器群集,其中一组服务器装置被连接至一个中央交换机。单个的服务器-交换机链路可以符合一个工业标准网络配置协议,例如以太网。初始情况下,根据在诸如IEEE802.3之类的协议中指定的协商过程,优选地以链路的最大运行频率建立服务器-交换机链路。此后周期性地,服务器在保持所需级别的性能的同时,优选地确定其链路的当前运行频率超过了为客户机请求提供服务所需的容量。然后,服务器(或交换机)优选地调整其链路的带宽以运行在适合当前负载所需的可能的最低运行频率。以这种方式,通过最小化其各个服务器链路的运行频率,该数据处理网络优选地减小了功耗。
优选地,该修改后的运行频率是适合于服务器-交换机链路的足以处理有效数据速率的最低运行频率。
优选地,确定有效数据速率和可能发生的后续协商的启动在网络运行期间以指定间隔重复。
优选地,初始和后续的协商都遵循IEEE802.3标准。
优选地,确定有效数据速率包括收集指示在指定的间隔期间的网络业务量的信息和基于该信息计算有效数据速率。
优选地,响应于确定有效数据速率大于当前带宽的指定百分比,执行一后续协商以建立一个修改后的运行频率,其中该修改后的运行频率高于之前的运行频率。
本发明进一步提供了一种数据处理网络,包括一个中央交换机;一个服务器装置,该服务器装置包括处理器、存储器和经由网络链路将该服务器装置连接至中央交换机的网络接口卡;用于执行初始协商的代码装置,其中该初始协商建立网络链路的初始运行频率;基于链路上传输的网络业务确定服务器的有效数据速率的代码装置;以及响应于确定有效数据速率明显不同于链路的当前带宽,执行一后续的协商以建立修改后的运行频率的代码装置,其中该修改后的运行频率比初始运行频率更接近有效数据速率。
优选地,修改后的运行频率是适合于服务器-交换机链路的足以处理有效数据速率的最低运行频率。
优选地,该网络进一步包括用于在网络运行期间以指定间隔重复确定有效数据速率和可能发生的后续协商的启动的代码装置。
优选地,初始和后续的协商都遵循IEEE802.3标准。
优选地,用于确定有效数据速率的代码装置包括收集指示在指定的间隔期间的网络业务量的信息和基于该信息计算有效数据速率的代码装置。
优选地,该网络进一步包括响应于确定有效数据速率大于当前带宽的指定百分比,执行一后续协商以建立一个修改后的运行频率的代码装置,其中该修改后的运行频率高于之前的运行频率。
在一实施例中,初始和后续协商由中央交换机启动。
在一实施例中,初始和后续协商由服务器装置启动。
本发明还进一步提供了一种适用于数据处理网络的服务器群集中的服务器装置,包括至少一个处理器;一个处理器可以存取的系统存储器;一个配置为通过网络链路将服务器装置连接至中央交换机的网络接口卡;用于执行初始协商的代码装置,其中该初始协商建立网络链路的初始运行频率;基于链路上传输的网络业务确定服务器的有效数据速率的代码装置;以及响应于确定有效数据速率明显不同于链路的当前带宽,执行一后续的协商以建立修改后的运行频率的代码装置,其中该修改后的运行频率比初始运行频率更接近有效数据速率。
优选地,该修改后的运行频率是适合于服务器-交换机链路的足以处理有效数据速率的最低运行频率。
优选地,该服务器装置包括用于在网络运行期间以指定间隔重复确定有效数据速率和可能发生的后续协商的启动的代码装置。
优选地,用于确定有效数据速率的代码装置包括收集指示在指定的间隔期间的网络业务量的信息和基于该信息计算有效数据速率的代码装置。
优选地,该服务器装置进一步包括响应于确定有效数据速率大于当前带宽的指定百分比,执行一后续协商以建立一个修改后的运行频率的代码装置,其中该修改后的运行频率高于之前的运行频率。
优选地,该网络接口卡包括一个配置为提供一个控制链路运行频率的时钟信号的时钟单元,并且其中用于建于修改后的运行频率的代码装置进一步包括对控制时钟信号频率的时钟寄存器编程的代码装置。
现在仅将通过实例的方式并参考下图对本发明的优选实施例进行说明图1是根据本发明的一个实施例显示了数据处理网络的选定特性的框图;图2是根据本发明的一个实施例显示了图1的数据处理网络的其它细节的框图;图3是根据本发明的一个实施例显示了图2的网络接口卡的其它细节的框图;以及图4是根据本发明的一个实施例显示了图1的数据处理网络中服务器的运行的流程图。
具体实施例方式
现在转到附图,图1是根据本发明的一个实施例的数据处理网络100的选定特性的框图。在所描绘的实施例中,数据处理网络100包括一个通过中间网关106被连接到广域网(WAN)105的服务器群集101。WAN105可能包括为数众多的各种网络装置,包括网关、路由器、集线器等等,以及在可能是广阔的地理区域上相互连接的一个或多个局域网(LAN)。在一个实施例中,WAN105可以表示因特网。
如图所示的服务器群集101包括一个经由网络链路200被连接至网关106的中央交换机110。群集101进一步包括多个服务器,图1中示出了四个这样的服务器并以标号111-1、111-2、111-3和111-4表示。每一服务器111都经由专用的网络链路(标号211、212、213和214)被连接至交换机110。
服务器群集101可以为所有对网络100上单个统一资源标识符(URI)(universal resource indicator)的请求提供服务。在该实施例中,源自WAN 105内任意位置的、对URI的客户机请求都被路由到服务器群集101。交换机110通常包括一个请求分配器软件模块,该模块负责将客户机请求路由到群集101中的某一服务器111。请求分配器可以结合任意的各种分配算法和过程以最优化服务器群集的性能、最小化能量消耗或实现某些其它目标。例如,交换机110可以基于诸如每一服务器111的当前负载、客户机请求的源端、请求的内容或以上的组合之类的因素将请求路由到一服务器111。
在一实施例中,网络链路211、212、213和214利用以太网协议。在该实施例中,每一服务器111包括一个兼容以太网的网络接口卡并且交换机110包括一个用于每个服务器111的兼容以太网的端口。参考图2,其中提供了一个框图,显示了交换机110和某一服务器111的其它细节。每一服务器111包括一个连接到交换机110中相应端口131的NIC121。在一实施例中,NIC121和交换机110的每一端口131可以运行在各种运行频率。例如,在一实施例中,NIC121及其相应的端口131可以支持运行在10Mbps、100Mbps和1000Mbps的以太网链路。带有此类功能、可以从市场上购买的交换机的代表为,例如,AlteonWeb Systems(www.alteonwebsystems.com)的180系列内容智能型Web交换机。类似地,诸如3Com的10/100/1000 PCI-X Server NIC之类的网络接口卡可以提供运行在不同运行频率的能力。(Alteon是Alteon Web SystemsINC.的注册商标,3Com是3Com公司的注册商标)。
服务器111和交换机110被配置为参与协商过程以对它们之间相应的链路的运行频率达成一致。在常规的服务器群集配置中,此协商仅在链路初始化期间才进行,并且只要链路存在,协商的结果,包括链路的运行频率,就保持不变。此外,协商产生的运行频率通常为交换机、服务器和互连介质可以适应的最大运行频率。根据一优选实施例的本发明构想了一种系统和方法,用于在减少服务器群集的运行成本的同时,响应于不断变化的服务器群集的状况,周期性地修改各个服务器-交换机链路的运行频率以实现所需级别的群集响应性能。
现在转到图3,其中显示了根据本发明的一个实施例的NIC121的其它细节的框图。所描绘的NIC121的实施例包括一个作为服务器111的外围总线或局部总线144的接口的嵌入式处理器140。总线144通常根据一个工业标准总线协议来实施,例如PCI特别工作组(www.pcisig.org)的《PCI Local Bus Specification 2.2》中指定的外围组件互连(PCI)局部总线。NIC121还包括连接到处理器140并为从网络链路211接收的信息和传输到网络链路211的信息提供临时存储的缓冲逻辑141。
时钟发生器142提供了驱动缓冲逻辑141并由此建立网络链路211的运行频率的基本时钟信号148。在所描绘的实施例中,时钟发生器142可以提供受时钟寄存器146中的设置控制的各种不同频率的时钟信号148。时钟寄存器146受处理器140的可编程控制。存储器143可以被处理器140和缓冲逻辑141存取。存储器143可以包括易失性存储器,例如常规的动态或静态随机存取存储器(DRAM或SRAM)阵列,以及永久或非易失性存储器,例如闪存卡或其它形式的电可擦可编程只读存储器(EEPROM)。
本发明的一部分可以作为一个包括存储在计算机可读介质上的一组计算机可执行指令的计算机程序产品来实现。其中存储指令的计算机可读介质可以包括存储器143的易失性或非易失性单元。或者,指令可以存储在软盘、硬盘、CD ROM、DVD、磁带或其它适当的永久存储器设备上。
NIC121包括配置为经由相应的网络链路执行与交换机110的协商以建立链路的运行频率的软件。在服务器群集101的一个以太网实施例中,协商过程软件通常符合IEEE802.3标准。兼容以太网的NIC和交换机通常包括建立网络链路的运行频率的代码。如前所述,此代码只有在常规的服务器中建立了链路时才会执行。但是,根据本发明的一个实施例的NIC121及其相应的端口131都被配置为响应于不断变化的链路带宽利用状况,周期性地调用此协商过程代码以修改链路运行频率。
参考图4,其中示出了一种控制在诸如服务器群集101之类的数据处理网络中各个链路的运行频率的方法的流程图。首次建立服务器-交换机链路时,NIC121将启动(块402)一个此处称为原始协商的协商。通常,原始协商将建立各组件可以适应的最大链路运行频率。此后,NIC121将监测(块404)自身与其相应端口之间的网络链路的利用情况。NIC121被配置为识别服务器-交换机带宽明显利用不足的周期并相应地调整链路的运行频率。
由NIC121监测的链路利用情况代表了链路上传输和/或接收数据的速率。此利用情况可以使用一个相对简单的、在其中周期性地确定一个链路利用因子(这里也称为有效数据速率)的链路级别例程来确定。该例程通常使用一个累加器或其它适当的机制确定指定的时间周期期间链路上传输和/或接收的业务量。该指定的时间周期可以与更新链路运行频率的周期性速率一致。例如,如果需要每隔十分钟修改链路运行频率一次,则可以通过累加十分钟周期内的链路业务量字节数并将其除以600秒得到单位为字节每秒的利用率来确定利用因子。优选地,修改链路运行频率的周期性间隔在交换机110或服务器111的可编程控制之下,以便可以改变指定的时间周期。
有效传输速率可以明显低于网络链路的运行频率。交换机-网关链路200的带宽为单个的服务器-交换机链路211、212等等的带宽之和的上限。任何单个服务器-交换机链路所需的带宽都不能超过分配给交换机-网关链路200的带宽。任何服务器-交换机链路的有效数据传输速率都是客户机端带宽的函数。在活动或网络通信量减少的时间期间,服务器111可能为来自数量有限的客户机的请求提供服务,许多这些客户机都有明显的带宽限制。如果服务器111正在为经由常规调制解调器连接而连接到WAN105的单个客户机提供服务,则服务器所需的有效数据速率低于最多交换机最大能力的若干个数量级。在此情况下,以较高的运行频率保持服务器-交换机链路的高成本并未提供任何性能收益,因为性能被限制在客户机端。
NIC121被配置为将其网络链路的有效数据速率与链路的当前运行频率进行比较。如果有效数据速率(EDR)明显不同于当前链路的运行频率,则将修改链路运行频率以便修改后的频率比之前的运行频率更接近EDR。如果在块406中确定EDR明显低于链路运行频率,则在块408中NIC121确定链路是否能够运行在较低的运行频率。如前所述,NIC121及其相应的交换机端口优选地能够运行在多个运行频率中的一个运行频率。如果当前NIC121未运行在其最低频率并且其有效数据速率明显低于当前运行频率,则NIC121被配置成启动一个与交换机110的协商,该协商强制(块410)链路运行在较低的运行频率。
在一个服务器-交换机链路是以太网链路的实施例中,NIC121可以利用大部分标准IEEE802.3协商协议来实现运行频率的修改。响应于确定数据速率远远低于运行频率,发生在块410(称为修改协商)中的协商尝试达到一个运行频率,该运行频率是与最新确定的有效数据速率一致的可能的最低运行频率,而不是尝试建立各个链路组件可以适应的最高运行频率。这样,NIC121首先可以在修改协商期间向交换机110指明一个所需的运行频率。如果交换机110能够运行在NIC所需的运行频率,则该频率将成为链路的运行频率。如果交换机无法适应NIC所需的运行频率,协商过程将决定链路适应的最低运行频率。
优选地,修改协商的发生频率既要足以对不断变化的负载状况作出调整,但又不能太频繁以致因过多的协商过程而负面影响性能。由于一个IEEE802.3标准协商的长度在毫秒数量级,即使每分钟一次这样频繁的启动协商,也不会对性能造成明显的负担,但却同时提供了足够频繁的修改以相对较快地适应负载的改变。
除了可以响应于相对较低的带宽利用水平来降低链路运行频率,服务器群集101还配置为响应于相对较高的带宽利用来提高链路运行频率。如果在块406中服务器确定有效数据速率不低于某些指定的值或链路当前带宽容量的某些指定比率,则服务器可以确定(块412)有效数据速率是否高于链路带宽容量的某些指定比率。例如,如果有效数据速率超过了链路带宽容量的90%,则服务器可以尝试以与上述块408和410中降低运行频率的方式类似的方式提高(块414)链路运行频率。这样,服务器可以确定(块413)更高的运行频率是否可用并且,如果可用,启动一个修改协商以强制实现(块414)一个提高的运行频率。在运行频率增大(或减小)后,服务器111恢复运行并继续监测链路带宽利用以进行后续的更改。以此方式,服务器111不断地将链路运行频率调整为达到所希望的性能级别所需的最小值并由此减少了作为较高运行频率特征的能量消耗和散热。
权利要求
1.一种运行一个数据处理网络的方法,包括在所述网络的服务器和连接了所述服务器的交换机之间执行一个初始协商,其中所述初始协商建立了所述服务器和所述交换机之间的链路的初始运行频率;基于链路上通信的网络业务确定服务器的有效数据速率;以及响应于确定该有效数据速率明显不同于服务器-交换机链路的当前带宽,执行一后续的协商以建立一个修改后的运行频率,其中该修改后的运行频率比初始运行频率更接近该有效数据速率。
2.根据权利要求1的方法,其特征在于该修改后的运行频率是适合于服务器-交换机链路的足以处理有效数据速率的最低运行频率。
3.根据权利要求1或2的方法,进一步包括在网络运行期间以指定间隔重复确定有效数据速率和可能发生的后续协商的启动。
4.根据权利要求1、2或3的方法,其特征在于所述初始和后续的协商都符合IEEE 802.3标准。
5.根据任一前述权利要求的方法,其特征在于确定有效数据速率包括收集指示在指定的间隔期间的网络业务量的信息和基于该信息计算有效数据速率。
6.根据任一前述权利要求的方法,进一步包括响应于确定有效数据速率大于当前带宽的指定百分比,执行一后续协商以建立一个修改后的运行频率,其中该修改后的运行频率高于之前的运行频率。
7.一种数据处理网络,包括一个中央交换机;一个服务器装置,包括处理器、存储器和经由网络链路将该服务器装置连接至中央交换机的网络接口卡;用于执行初始协商的代码装置,其中该初始协商建立网络链路的初始运行频率;基于链路上传输的网络业务确定服务器的有效数据速率的代码装置;以及响应于确定有效数据速率明显不同于链路的当前带宽,执行一后续的协商以建立一个修改后的运行频率的代码装置,其中该修改后的运行频率比初始运行频率更接近有效数据速率。
8.根据权利要求7的网络,其特征在于所述初始和后续的协商由中央交换机启动。
9.根据权利要求7的网络,其特征在于所述初始和后续的协商由服务器装置启动。
10.一种适用于数据处理网络的服务器群集中的服务器装置,包括至少一个处理器;一个该处理器可以存取的系统存储器;一个配置为经由网络链路将该服务器装置连接至中央交换机的网络接口卡;用于执行初始协商的代码装置,其中该初始协商建立网络链路的初始运行频率;基于链路上传输的网络业务确定服务器的有效数据速率的代码装置;以及响应于确定有效数据速率明显不同于链路的当前带宽,执行一后续的协商以建立一个修改后的运行频率的代码装置,其中该修改后的运行频率比初始运行频率更接近有效数据速率。
11.根据权利要求10的服务器装置,其特征在于所述网络接口卡包括一个配置为提供一个控制链路运行频率的时钟信号的时钟单元,并且其中所述用于建立修改后的运行频率的代码装置进一步包括用于对控制时钟信号频率的时钟寄存器编程的代码装置。
12.一种计算机程序,包括所述程序运行在一台计算机上时适合于执行根据权利要求1至6中任一权利要求的方法的程序代码装置。
全文摘要
一种用于节约能量的数据处理网络和方法,其中在网络服务器和连接了所述服务器的交换机之间执行一个初始协商以建立服务器-交换机链路的初始运行频率。基于服务器的网络业务确定服务器的有效数据速率。响应于确定有效数据速率明显不同于当前运行频率,执行一后续的协商以建立一个修改后的运行频率,其中该修改后的运行频率比初始运行频率更接近有效数据速率。在网络的运行期间,可以周期性地重复有效数据速率的确定和可能发生的后续协商的启动。在一实施例中,初始和后续的协商都符合IEEE 802.3标准。
文档编号H04L29/08GK1547837SQ02816758
公开日2004年11月17日 申请日期2002年8月23日 优先权日2001年9月27日
发明者P·J·博雷尔, B·C·布洛克, E·N·埃尔诺扎伊, R·拉贾莫尼, F·L·罗森三世, P J 博雷尔, 埃尔诺扎伊, 布洛克, 帜, 罗森三世 申请人:国际商业机器公司