CN103026317B - 控制聚合i/o端口的功率消耗的方法和*** - Google Patents

控制聚合i/o端口的功率消耗的方法和*** Download PDF

Info

Publication number
CN103026317B
CN103026317B CN201080068348.4A CN201080068348A CN103026317B CN 103026317 B CN103026317 B CN 103026317B CN 201080068348 A CN201080068348 A CN 201080068348A CN 103026317 B CN103026317 B CN 103026317B
Authority
CN
China
Prior art keywords
port
power
dissipation modes
power dissipation
peak
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080068348.4A
Other languages
English (en)
Other versions
CN103026317A (zh
Inventor
A.A.纳塔拉简
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103026317A publication Critical patent/CN103026317A/zh
Application granted granted Critical
Publication of CN103026317B publication Critical patent/CN103026317B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

控制聚合I/O端口的功率消耗。说明性实施例中的至少一些是包括以下各项的方法:将多个输入/输出(I/O)端口聚合;以及控制计算机***中的功率消耗。控制功率消耗包括:从功率策略管理程序向在计算机***中执行的聚合软件发送命令,该聚合软件实现聚合;以及响应于该命令而改变I/O端口中的至少一个的功率消耗模式。

Description

控制聚合I/O端口的功率消耗的方法和***
背景技术
在大型数据中心的操作中,其包括每个耗散数百瓦功率的许多紧密封装服务器计算机***,保持温度是主要问题和支出。在许多情况下,用以控制数据中心内的温度的设备成本可能达到或超过服务器设备的成本。由于关于温度的问题和成本以及要节能的压力,计算机***制造商实现了功率降低技术。
大多数的功率降低技术已经集中于服务器的处理器和存储器。例如,在处理负载低时的时间段期间,可以在较低功率消耗模式下(例如,在降低的时钟频率下)操作服务器的一个或多个处理器。同样地,在处理负载是或被预期很低时的时间段期间,主存储器的各部分可以使其内容被重新定位,并且将主存储器的各部分断电。
可以进一步降低服务器的功率消耗的任何***或技术将在市场中提供竞争优势。
附图说明
为了示例性实施例的详细描述,现在将对附图进行参考,在所述附图中:
图1示出了根据至少一些实施例的计算机***。
图2示出了根据至少一些实施例的各组可执行指令与I/O端口之间的功能关系;以及
图3示出了根据至少一些实施例的方法。
注释和命名法
特定术语遍及以下描述和权利要求被用来指代特定***部件。如本领域的技术人员将认识到的,计算机公司可以用不同的名称来指代部件。本文并不意图对在名称而不是功能方面不同的部件之间进行区分。在以下讨论中和权利要求中,以开放方式来使用术语“包括”和“包含”,并且因此应将其解释为意指“包括但不限于”。并且,术语“耦合”或“耦合”意图意指间接、直接、光学或无线电连接。因此,如果第一设备耦合到第二设备,则该连接可以是通过直接电连接、通过经由其他设备和连接的间接电连接、通过光学连接或通过无线连接。
“功率消耗模式”应指代一种设备的操作模式,其将上限设置为设备在被利用时可能消耗的功率的量,但是不应指代设备的利用状态。例如,应将在“全开”功率消耗模式下操作的设备视为处于“全开”功率消耗模式,无论设备正在被其最大可能地利用(且正在吸取较高功率)还是设备根本并未被利用(和吸取较低功率)。换言之,不应将仅仅基于设备的利用率的变化的功率使用变化视为功率消耗模式的变化。
“聚合”和“聚合”应意指相对于通信网络的输入/输出(I/O)端口而言,该I/O端口表现为到软件栈的单个逻辑I/O端口。“聚合”和“聚合”应意指相对于存储网络的I/O端口而言,该I/O端口表示到存储设备的冗余路径。
具体实施方式
以下讨论针对本发明的各种实施例。虽然这些实施例中的一个或多个可能是优选的,但不应将公开的实施例解释为或以其他方式用作限制本公开的范围,包括权利要求。另外,本领域的技术人员将理解的是以下描述具有广泛的应用,并且任何实施例的讨论仅仅意图是该实施例的示例,并且并不意图暗示本公开的范围(包括权利要求)局限于该实施例。
图1图示出根据至少一些实施例的计算机***100。特别地,计算机***100包括通过集成主桥14被耦合到主存储器阵列12和各种其他***计算机***部件的主处理器10。计算机***100可以实现多个主处理器10。主处理器10经由主机总线16耦合到主桥14,或者可以将主桥14集成到主处理器10中。因此,除图1中所示的那些或作为其替代,计算机***100可以实现其他总线配置或总线桥。
主存储器12通过存储器总线18耦合到主桥14。因此,主桥14包括通过维护(asserting)控制信号以用于存储器访问来控制到主存储器12的事务处理的存储器控制单元。在其他实施例中,主处理器10直接地实现存储器控制单元,并且主存储器12可以直接地耦合到主处理器10。主存储器12充当用于主处理器10的工作存储器,并且包括其中存储程序、指令和数据的存储器设备或存储器设备阵列。主存储器12可以包括任何适当类型的存储器,诸如动态随机存取存储器(DRAM)或各种类型的DRAM设备中的任何一个,诸如同步DRAM(SDRAM)、扩展数据输出DRAM(EDODRAM)或兰巴斯(Rambus)DRAM(RDRAM)。主存储器12是存储程序和指令的非暂时性计算机可读介质的示例,并且其他示例是磁盘驱动器和闪速存储器设备。
在一些实施例中,由在处理器10上执行的软件生成的文本和视频被提供给经由高级图形端口总线22、串行总线(PCIExpress)或其他适当类型的总线耦合到主桥14的图形处理单元(GPU)20。替换地,显示驱动器设备可以耦合到主扩展总线26或辅助扩展总线(即,***部件互连(PCI)总线32)中的一个。图形处理单元20耦合到的显示设备24可以包括能够在其上面表示任何图像或文本的任何适当电子显示设备。在其中计算机***100是服务器***(例如,在具有多个其他服务器***的机架安装外壳中)的实施例中,可以省略图形处理单元20和显示设备24。
仍参考图1,说明性计算机***100还包括将主扩展总线26桥接至各种辅助扩展总线的第二桥接器28,所述辅助扩展总线诸如低管脚计数(LPC)总线30和***部件互连(PCI)总线32。可以由诸如通用串行总线(USB)的桥设备28来支持各种其他辅助扩展总线。然而,计算机***100不限于任何特定的芯片组制造商,并且因此可以等价地使用来自多种制造商中的任何一个的桥设备和扩展总线协议。
固件集线器34经由LPC总线30耦合到桥设备28。固件集线器34包括包含可由主处理器10执行的软件程序的只读存储器(ROM)。该软件程序包括在加电自我测试(POST)期间和刚好在其之后执行的过程(procedure)以及存储器参考代码的程序。POST过程和存储器参考代码在计算机***的控制被移交至操作***之前执行计算机***内的各种功能。
计算机***100还包括被说明性地耦合到PCI总线32的多个输入/输出(I/O)端口设备36。I/O端口设备36耦合到一个或多个网络类型。例如,在特定实施例中,I/O端口设备36是网络接口卡(NIC),其将计算机***100耦合到通信网络,诸如局域网(LAN)、广域网(WAN)和/或因特网。在又一其他实施例中,I/O端口设备是存储适配器卡,其经由存储网络(例如,光纤信道)将计算机***100耦合到一个或多个远程定位长期存储设备(例如,硬盘、光盘)。可以等价地使用其他类型的I/O端口设备。虽然图1图示出被耦合到同一PCI总线32的I/O端口设备36,但在其他实施例中,I/O端口设备36可以耦合到不同的PCI总线,或者具有不同的通信协议的总线(例如,一个I/O端口卡被耦合到PCI总线且第二I/O端口设备被耦合到主扩展总线)。
仍参考图1,计算机***100还可以包括经由LPC总线30被耦合到桥接器28的超级I/O控制器38。超级I/O控制器38控制许多计算机***功能,例如与诸如“软”盘驱动器40和“软”盘42、光盘驱动器44和光盘46、键盘48以及定点设备50(例如鼠标)的各种输入和输出设备对接。超级I/O控制器38常常由于执行许多计算机***功能而被称为“超级”。
计算机***100还可以包括长期数据存储设备,诸如经由说明性PCI总线32(未示出总线适配器以免使图过于复杂)耦合到桥接器28的磁盘驱动***52。磁盘驱动***52可以是单个驱动器或作为独立(或廉价)磁盘(RAID)***的冗余阵列操作的驱动器阵列。虽然说明性磁盘驱动***52被示为被耦合到PCI总线24,但磁盘驱动***可以等价地耦合至其他总线,诸如主扩展总线26或其他辅助扩展总线。
每个I/O端口设备36实现至少一个通信端口,并且每个I/O端口设备36可以实现多个通信端口。例如,在采用NIC形式的I/O端口设备36的说明性情况下可以实现四个或八个通信端口,并且因此可以实现四个或八个单独可控接口。作为另一示例,在采用存储适配器卡形式的I/O端口设备36的说明性情况下,每个存储适配器可以实现四个或八个通信端口,并且因此可以实现到远程定位存储器的四个或八个单独可控接口。根据各种实施例,可以出于故障容忍度和/或增加通信吞吐量的目的将两个或更多端口分组、分队或聚合。可以在相同的I/O端口设备上实现聚合端口,或者端口可以跨越多个I/O端口设备。此外,计算机***100可以实现多个聚合队。
图2示出了根据至少一些实施例的被处理器10执行以实现聚合的各种软件的说明性关系。特别地,计算机***实现了支持远程通信的操作***(O/S)60。可以使用支持远程通信的任何当前可用或后来开发的操作***。在图2的说明性情况下,操作***60支持软件栈62。在其中I/O端口设备36是通信网络接口设备的情况下,软件栈62可以是传输控制协议/网际协议(TCP/IP)栈,但可以同时地或替换地实现其他通信协议(例如,IPX、NetBEUI)。在其中I/O端口设备36是存储网络设备的情况下,软件栈62是存储网络栈,诸如SCSI栈。操作***60且特别是说明性软件栈62使得一个或多个应用程序63能够通过网络和/或远程定位存储设备向例如其他计算机***进行通信。
每个端口64具有与之相关联的驱动器68(在一些情况下,可以替换地将每个单独驱动器称为小端口驱动器)。在其中每个I/O端口设备36由同一卖方制造且具有相同能力的情况下,驱动器68可以是重复程序。然而,I/O端口设备不需要由同一卖方制造或者具有相同的能力。例如,在I/O端口设备36是NIC的情况下,一个NIC可以实现100兆位每秒(Mbps)数据吞吐量,同时另一NIC可以实现1000Mbps(千兆位)吞吐量,并且在这些替换实施例中驱动器可以是卖方和/或能力特定的。尽管具有不同的卖方和/或不同的能力,根据本发明的实施例,仍可以将各种I/O端口设备或其端口聚合。
在其中每个端口64独立地操作的情况下,说明性栈软件62直接与每个驱动器68通信;然而,根据各种实施例,端口64被聚合。为了使得能够实现聚合,聚合软件70在说明性软件栈62与各种驱动器68之间对接。虽然图2将软件栈62和聚合软件70示为单独的软件片段(pieces),但在一些情况下,可以将该功能在单个程序中组合,如虚线71所图示的。更特别地,在通信网络的情况下,聚合软件70与软件栈42通信且向软件栈呈现用于每组聚合端口的单个逻辑端口(即,看起来像单个驱动器)。同样地,在通信网络的情况下,聚合软件70表现为每个驱动器68的软件栈。在I/O端口设备是NIC的情况下,可使用多个市售聚合软件产品,诸如可从加利福尼亚州帕洛阿尔托市的惠普公司获得的自动端口聚合(APA)LAN监视软件。
在存储网络的情况下,聚合以作为到端存储设备(end-storagedevice)的冗余链路的I/O端口形式出现。针对到存储设备的冗余链路,可以从任何聚合端口发送出存储通信,并且其仍到达端存储设备。由此可见,在其中所有I/O端口64被聚合的图2的说明性情况下,可以从I/O端口64中任何一个发送出存储通信,并且其仍到达特定端存储设备(例如,硬盘)。在存储网络的情况下,软件栈62可以知道用聚合I/O端口64表示的冗余链路,但是聚合软件70进行关于存储通信从哪个I/O端口流出的判定,并且因此执行聚合功能。这里再次地,虽然说明性图2将软件栈62和聚合软件示为单独软件片段,但可以将该功能组合成单个程序,如虚线71所图示的。
然而,除端口64的聚合之外,根据各种实施例的聚合软件70还在I/O端口级执行关于功率管理的任务。在深入研究功率管理功能之前,并且为了更好地理解各种实施例,本说明书首先描述相关技术的功率管理的缺点。
在其中端口64独立地操作的情况下(即,无组队或聚合),一些相关技术***实现基于端口的不活动性操作的功率节省特征。例如,如果端口空闲达到预定时间量,则该端口可以被其各自的驱动器置于较低功率消耗模式。然而,并未跨越端口协调相关技术中的关于功率消耗模式的判定。此外,在其中端口被组队或聚合的情况下,相对于单个端口进行功率消耗模式修改可能对总体操作不利。考虑其中一个端口充当主端口的情况(所有通信被从该主端口发送出,并且通过该主端口接收所有通信)以及充当热待机的第二端口。如果第二端口基于不活动性而被置于降低功率消耗模式,则第二端口将不会具有在主端口发生故障的情况下快速地且无缝地载送负载的能力。由于不能跨组队或聚合端口应用协调控制,所以相关技术设备在此类情况下不能实现功率消耗模式控制(即,功率消耗模式控制被关掉,并且端口始终在峰值功率消耗模式下运行)。
根据各种实施例,除实现用于端口64的聚合策略之外,聚合软件70还实现每个I/O端口64的功率消耗模式的协调控制,其中功率消耗模式控制取决于所实现的聚合的类型。本说明书首先转到功率消耗模式(和相关峰值功率状态)的描述,然后至在本文中称为“活动-待机”情况下的功率消耗模式控制,后面是在本文中称为“活动-活动”的情况下的功率消耗模式控制。
I/O端口设备具有各种功率消耗模式。在其中在经由PCI总线耦合到计算机***部件的I/O端口设备36上实现端口64的说明性情况下,可能的功率消耗模式包括D0“全开”模式、D3hot“关”模式和两个中间功率消耗模式D1和D2。此外,根据串行总线
(PCIe)动态功率分配(DPA)标准,D0模式具有多个子状态,其中,每个子状态定义所消耗功率、性能和/或其他特性之间的权衡。每个功率消耗模式可以具有不同的峰值功率状态。例如,说明性D0“全开”模式具有第一峰值功率状态,并且说明性D2中间模式具有第二峰值功率状态,其中,第二峰值功率状态低于第一峰值功率状态。可以用多种操作技术中的任何一个来实现较低峰值功率状态,诸如用于I/O端口设备上的电路的较低时钟速率、由I/O端口设备降低的通信频率以及I/O端口设备的降低的存储器使用。因此,为了使设备在其功率消耗模式下被最大可能地利用,功率消耗模式的变化导致功率消耗的变化。
虽然每个功率消耗模式具有峰值功率状态,但设备不需要在峰值功率状态下操作—峰值功率状态仅仅是可以基于特定模式下的利用率被吸取的峰值功率。例如,在说明性D0“全开”状态中操作的设备(但该设备不在被利用)吸取特定量的功率以保持设备上的各种电路活动,但是吸取或耗散比设备被完全利用的情况下少的功率。然而,即使是针对未被利用的设备,功率消耗模式的变化也可能导致较低功率使用。例如,其功率消耗模式从说明性D0“全开”变成D3hot“关”状态的空闲设备在D3hot“关”状态下将吸取比D0“全开”更少的功率,即使未发生利用率的变化。为了本说明书的平衡,对功率消耗模式的变化的参考隐含地包括峰值功率状态的变化,再次地,理解成功率变化可以来自变化的利用率(当在功率消耗模式的极限处操作时)、甚至在不存在用于特定模式的完全利用的变化功率消耗或同时来自两者。
在说明性活动-待机模式下操作的端口64表示其中端口64被聚合的情况,并且通过聚合软件70的操作表现为到软件栈62的单个端口。然而,在活动-待机模式下,一个端口(例如,端口64A)被指定为主端口,并且其余端口(例如,端口64B—64D)被指定为辅助端口。说明性主端口64A发送和接收所有通信,并且其余端口作为待机端口进行操作,准备在主端口故障的情况下接管作为主端口的职责。为了快速地且无缝地接管作为主端口的职责,在其中在几乎没有延迟的情况下端口能够接管有故障主端口(即,热待机)的功率消耗模式下操作辅助端口。
根据在活动-待机模式下操作的实施例,聚合软件70实现跨所有聚合端口的功率控制策略,其并未负面地影响活动-待机操作模式。例如,考虑其中所有端口64处于其最高功率消耗模式且其中端口64A是主端口的情况。如果聚合软件70判定或被命令降低端口64的功率消耗,则聚合软件70可以将端口中的一个选择为唯一热待机端口(例如,端口64B)。还可预期一个以上的热待机端口,但是为了方便起见,本讨论采取单个热待机端口。所选热待机被留在其中能够通过热待机来快速地且无缝地接管通信的功率消耗模式。换言之,聚合软件70避免改变热待机端口和主端口的功率消耗模式。其余端口(例如,端口64C和64D)被置于降低功率消耗模式。在实现端口64的PCI设备的说明性情况下,主端口64A和热待机端口64B两者被置于或留在D0“全开”模式,而其余端口64C和64D被置于降低功率消耗模式(例如,D3hot“关”模式)。
如果在说明性活动-待机情况下期望进一步的功率降低,并且能够容忍数据通信吞吐量降低,则聚合软件70可以改变主端口64A和热待机端口64B的功率消耗模式(例如,D0的子状态)。
在主端口故障的情况下,聚合软件70将热待机设置为主端口;另外,知道用于活动-待机情况的功率策略的聚合软件70可以选择另一(未发生故障)端口并提高所选端口的功率消耗模式以变成新的热待机。例如,在初始主端口64A故障时,聚合软件将端口64B设置为主端口,将另一端口(例如,端口64C)选择为热待机端口,并且将新的热待机为端口64C置于用于热待机操作的适当功率消耗模式。在一些情况下,用于热待机端口的适当功率消耗模式将是与主端口相同的功率消耗模式。
仍参考图2,本说明书现在转到端口的操作的说明性活动-活动模式。在说明性活动-活动模式下操作的端口64表示其中端口64被聚合且通过聚合软件70的操作对软件栈62表现为单个端口的情况。然而,在活动-活动模式下,每个端口参与同端口附着到的网络的通信。例如,在实现到存储网络的通信的端口的说明性情况下,每个端口64在到网络附着存储设备的通信中担任活动角色。同样地,在实现到通信网络的通信的端口的说明性情况下,每个端口在通信中担任活动角色。然而,活动角色不需要跨所有端口是相同的。例如,在实现到通信网络的通信的端口64的说明性情况下,一个端口(例如,端口64A)可以既发送又接收消息分组,并且其余端口(例如,端口64B—64D)可以仅从网络发送消息分组。在其他情况下,每个端口64可以既发送又接收消息分组。
无论在活动-活动模式下实现的精确机制如何,聚合软件70跨所有聚合端口实现功率控制策略,其并不负面地影响活动-活动操作模式。例如,考虑其中所有端口64处于其最高功率消耗模式且所有端口以某种形式参与到网络的通信的情况。如果聚合软件70判定或被命令降低端口64的功率消耗,则聚合软件70通过降下(lowering)功率消耗模式或一个或多个端口64的功率状态来降低功率消耗。在一个情况下,聚合软件可以均匀地降低所有端口64的功率消耗模式。例如,聚合软件可以将所有端口的功率消耗模式从D0“全开”模式变成D0的子状态中的一个。
然而,降低活动-活动模式下的功率不需要功率消耗模式下的均匀降低。例如,在一些情况下,聚合软件可以在聚合端口64的较小子集上降低功率消耗模式以实现功率降低。例如,在其中一个端口既发送又接收消息分组(例如,端口64A)且其余端口被用作只发送(例如,端口64B和64C)的情况下,聚合软件可以降低只发送端口中的一个或多个的功率消耗模式以降低功率消耗。在一些情况下,功率消耗模式的降低包括将端口置于关闭状态。
除降低功率之外,聚合软件70还可以负责增加功率。例如,聚合软件70可以判定或被命令以基于通信负载的实际或预期增加来增加可用通信容量。聚合软件70可以在预期利用率增加之前提高功率消耗模式,诸如网络服务器的用于端口64是通信网络端口的一天中的忙碌时间,或者可预期大的数据备份的用于端口64是存储网络端口的一天中的预期时间。就像功率消耗模式的降低,可以均匀地施加(例如,所有端口被置于D0“全开”模式)或者非均匀地施加功率消耗模式的增加。
而且,聚合软件70可以考虑活动-活动和活动-待机说明性模式下的端口特定参数。如上所述,可以在每个I/O端口设备上实现一个端口64,可以在单个I/O端口设备上实现多个端口,并且I/O端口设备不需要具有相同的制造商、品牌或型号。在这些实施例中,聚合软件70可以考虑特定参数进行功率消耗模式修改。作为示例,考虑在单个I/O端口设备上实现端口64C和64D(用虚线72图示出)。在这样的情况下,不可能不同地或者至少明显不同地设置端口64C和64D的功率消耗模式(例如,虽然两个端口可以在不同的“可操作”功率消耗模式下操作,但不可能将一个端口关闭而留下第二个可操作)。无论是在活动-待机还是在活动-活动操作中,在选择要关闭的端口时(例如,说明性D3“关”状态),聚合软件70可以选择关掉同一I/O端口设备72上的端口,其可以包括将特定功能移动至其他端口(例如,分别将主和热待机移动至端口64A和64B)。如果可以使得所有其端口64不活动并设置在较低功率消耗模式,则可以将I/O端口设备72断电。这样做导致显著的功率节省。
此外,给定端口64可以跨越不同的卖方和能力,端口64可以具有用于特定利用率的变化功率消耗。聚合软件70在实现特定功率策略时可以选择最高效的(从功率角度出发)一个或多个端口以用于预期利用率。例如,端口64A和64B可以具有类似的峰值消息分组操作速率,但是可以在功率消耗方面不同(例如,相对于较旧的设备而言较新的硬件设备)。因此,在实现功率策略时(包括改变功率消耗模式以降低I/O的总功率使用)时,聚合软件可以选择在最低功率消耗下提供期望功能的设备或设备组。当需要附加功能或容量时,不那么高效的端口可以将其功率消耗模式提高,使得端口参与或更多地参与总体通信。基于与特定端口相关联的参数来改变功率策略可在活动-活动和活动-待机情况下应用。
仍参考图2,根据至少一些实施例,聚合软件70仅负责知道和实现用于计算机***100的聚合I/O的功率策略。例如,聚合软件可以始终尝试实现用于I/O端口的功率消耗模式,其在最低功率消耗下提供足够量的带宽或吞吐量能力。然而,在至少一些实施例中,聚合软件70是被频繁地计划用于执行且具有管理员权限的内核级软件。然而,在一些情况下,不需要如计划和执行聚合软件70那样频繁地进行功率策略判定,并且因此为了降低聚合软件的复杂性,一些实施例实现功率策略管理程序74。
功率策略管理程序74至少与聚合软件70通信,并且命令聚合软件70实现关于I/O端口的功率策略的变化。在特定实施例中,功率策略管理程序74是用户级程序,并且因此与聚合软件70相比不那么频繁地运行且具有较低权限。在一些情况下,在计算机***100内执行功率策略管理程序74,但是在其他情况下在不同的计算机***中执行。功率策略管理程序74可以独立地进行关于功率策略的判定(在一些情况下基于从聚合软件接收到的数据,诸如利用率),或者功率策略管理程序74可以从其他程序接收命令(未明确地示出),并且基于从聚合软件70学习的计算机***100的当前状态和较高级命令来设计特殊化策略。
图3示出了根据至少一些实施例的方法(例如,软件)。特别地,该方法开始(方框300)并前进至:将多个输入/输出(I/O)端口聚合(方框302);以及控制计算机***中的功率消耗(方框304)。控制功率消耗包括:从在计算机***中执行的功率策略管理程序向同样在计算机***中执行的聚合软件发送命令(方框306),聚合软件实现聚合;并响应于该命令而改变I/O端口中的至少一个的功率消耗模式(方框308)。其后,该方法结束(方框310)。
根据在本文中提供的描述,本领域的技术人员很容易能够将如所述地创建的软件与适当的通用或专用计算机硬件组合以根据各种实施例来创建计算机***和/或计算机子部件,以创建用于执行各种实施例的方法的计算机***和/或计算机子部件,以及和/或创建用于存储软件或程序以实现各种实施例的方法方面的非暂时性计算机可读存储介质。
以上讨论意图说明本发明的原理和各种实施例。一旦完全认识到以上公开,许多变更和修改对于本领域的技术人员而言将是显而易见的。例如,每个部件具有最大数目的功率循环,在那之后,设备很可能将发生故障。在一些实施例中,在本文中所讨论的协调控制在做出关于用于设备的功率消耗模式的判定时将设备的功率循环的数目考虑在内。此外,本发明人使用不同的术语“程序”或“软件”来帮助读者区分可由处理器执行的指令的各种功能单元,并且并不意味着存在基本差异(除被编码成执行不同任务之外)。事实上,可以用相同的编程语言来编写每个程序和/或软件且其具有被共享或重叠的许多元素。意图在于将以下权利要求解释为涵盖所有此类变更和修改。

Claims (18)

1.一种控制聚合I/O端口的功率消耗的方法,其包括:
将计算机***的多个输入/输出(I/O)聚合;
通过以下各项来控制计算机***中的功率消耗:
从功率策略管理程序向在计算机***中执行的聚合软件发送命令,所述聚合软件实现所述聚合;
响应于所述命令改变所述多个I/O端口中的至少一个的功率消耗模式;以及
操作所述多个I/O端口,使得每个I/O端口参与同所述计算机***耦合到的网络的通信;以及
其中,改变所述功率消耗模式还包括:
将所述多个I/O端口的功率消耗模式从具有用于每个I/O端口的第一峰值功率状态的第一功率消耗模式变成具有与所述第一峰值功率消耗不同的用于每个I/O端口的第二峰值功率状态的第二峰值消耗模式。
2.根据权利要求1所述的方法,其还包括:
其中,发送所述命令还包括发送用以降低功率消耗的命令;以及
其中,改变所述功率消耗模式还包括将所述多个I/O端口的第一I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率消耗的第二峰值功率状态的第二功率消耗模式。
3.根据权利要求1所述的方法,其还包括:
将所述多个I/O端口中的第一I/O端口作为主端口来操作,并且将所述多个I/O端口中的第二和第三I/O端口作为热待机端口来操作;以及
其中,改变所述功率消耗模式还包括:
将所述第三I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率消耗的第二峰值功率状态的第二功率消耗模式。
4.根据权利要求3所述的方法,其还包括:
确定所述第一I/O端口已经经历故障;以及然后
将所述第二I/O端口设置为主端口;以及
将所述第三I/O端口的功率消耗模式变成所述第一功率消耗模式。
5.根据权利要求1所述的方法,其中,改变所述I/O端口的功率消耗模式还包括选自由以下各项组成的组的至少一个:变成具有比所述第一峰值功率消耗模式低的峰值功率状态的所述第二峰值功率消耗模式;以及变成具有比所述第一峰值功率消耗模式高的峰值功率状态的所述第二峰值功率消耗模式。
6.根据权利要求1所述的方法,其中,聚合还包括将是选自由以下各项组成的组的至少一个的所述多个I/O端口聚合:适配器端口,其被配置成跨因特网与设备通信;以及适配器端口,其被配置成与存储设备通信。
7.一种计算机***,其包括:
处理器;
多个输入/输出(I/O)适配器,其被耦合到处理器,所述输入/输出(I/O)适配器被配置成耦合到网络;
存储器,其被耦合到处理器,所述存储器存储指令,所述指令在被处理器执行时促使处理器:
实现软件栈;
将多个I/O端口聚合;
从功率策略管理程序向执行所述多个I/O端口的聚合的聚合软件递送命令;以及
响应于所述命令改变所述多个I/O端口中的至少一个的功率消耗模式;
其中,在功率消耗模式变化之前,所述计算机***操作所述多个I/O端口,使得每个I/O端口参与同网络的通信;以及
其中,当所述处理器改变功率消耗模式时,所述指令促使处理器:
将所述多个I/O端口的功率消耗模式从具有用于每个I/O端口的第一峰值功率状态的第一功率消耗模式变成具有用于每个I/O端口的第二峰值功率状态的第二功率消耗模式,所述第二峰值功率状态不同于所述第一峰值功率状态。
8.根据权利要求7所述的计算机***,其还包括:
其中,当所述处理器递送命令时,所述指令还促使处理器递送命令以降低功率消耗模式;以及
其中,当所述处理器改变功率消耗模式时,所述指令还促使处理器将所述多个I/O端口中的第一I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率状态的第二峰值功率状态的第二功率消耗模式。
9.根据权利要求7所述的计算机***,其还包括:
其中,在功率消耗模式变化之前,所述计算机***将所述多个I/O端口中的第一I/O端口作为主端口来操作,将所述多个I/O端口中的第二I/O端口作为热待机端口来操作,并且将所述多个I/O端口的其余I/O端口作为热待机端口来操作;以及
其中,当所述处理器改变功率消耗模式时,所述指令促使处理器:
将其余I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率状态的第二峰值功率状态的第二功率消耗模式。
10.根据权利要求9所述的计算机***,其中,所述聚合软件的指令还促使所述处理器:
确定所述第一I/O端口已经经历故障;以及然后
将所述第二I/O端口设置为主端口;以及
将所述多个I/O端口中的第三I/O端口的功率消耗模式变成所述第一功率消耗模式。
11.根据权利要求7所述的计算机***,其中,当所述处理器改变所述多个I/O端口的功率消耗模式时,所述指令促使所述处理器进行选自由以下各项组成的组的至少一个:变成第二功率消耗模式,其中,所述第二峰值功率状态低于所述第一峰值功率状态;以及变成所述第二峰值功率消耗模式,其中,所述第二峰值功率状态高于所述第一峰值功率状态。
12.根据权利要求7所述的计算机***,其中,所述多个I/O端口还包括选自由以下各项组成的组的至少一个:适配器端口,其被配置成跨因特网进行通信;以及适配器端口,其被配置成与存储设备通信。
13.根据权利要求7所述的计算机***,其中,所述存储器是选自由以下各项组成的组的一个或多个:随机存取存储器(RAM);只读存储器(ROM);硬盘驱动器;以及光盘驱动器。
14.一种控制聚合I/O端口的功率消耗的设备,其包括:
用于将计算机***的多个输入/输出(I/O)聚合的装置;
用于通过以下各项来控制计算机***中的功率消耗的装置:
用于从功率策略管理程序向在计算机***中执行的聚合软件发送命令,所述聚合软件实现所述聚合的装置;
用于响应于所述命令改变所述多个I/O端口中的至少一个的功率消耗模式的装置;以及
用于操作所述多个I/O端口,使得每个I/O端口参与同所述计算机***耦合到的网络的通信的装置;以及
其中,用于改变所述功率消耗模式的装置还包括:
用于将所述多个I/O端口的功率消耗模式从具有用于每个I/O端口的第一峰值功率状态的第一功率消耗模式变成具有与所述第一峰值功率消耗不同的用于每个I/O端口的第二峰值功率状态的第二峰值消耗模式的装置。
15.根据权利要求14所述的设备,其还包括:
其中,用于发送所述命令的装置还包括用于发送用以降低功率消耗的命令的装置;以及
其中,用于改变所述功率消耗模式的装置还包括用于将所述多个I/O端口的第一I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率消耗的第二峰值功率状态的第二功率消耗模式的装置。
16.根据权利要求14所述的设备,其还包括:
用于将所述多个I/O端口中的第一I/O端口作为主端口来操作的装置,并且用于将所述多个I/O端口中的第二和第三I/O端口作为热待机端口来操作的装置;以及
其中,用于改变所述功率消耗模式的装置还包括:
用于将所述第三I/O端口的功率消耗模式从具有第一峰值功率状态的第一功率消耗模式变成具有低于所述第一峰值功率消耗的第二峰值功率状态的第二功率消耗模式的装置。
17.根据权利要求16所述的设备,其还包括:
用于确定所述第一I/O端口已经经历故障的装置;
用于将所述第二I/O端口设置为主端口的装置;以及
用于将所述第三I/O端口的功率消耗模式变成所述第一功率消耗模式的装置。
18.根据权利要求14所述的设备,其中,用于改变所述I/O端口的功率消耗模式的装置还包括选自由以下各项组成的组的至少一个:用于变成具有比所述第一峰值功率消耗模式低的峰值功率状态的所述第二峰值功率消耗模式的装置;以及用于变成具有比所述第一峰值功率消耗模式高的峰值功率状态的所述第二峰值功率消耗模式的装置。
CN201080068348.4A 2010-07-30 2010-07-30 控制聚合i/o端口的功率消耗的方法和*** Expired - Fee Related CN103026317B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/043816 WO2012015418A1 (en) 2010-07-30 2010-07-30 Method and system of controlling power consumption of aggregated i/o ports

Publications (2)

Publication Number Publication Date
CN103026317A CN103026317A (zh) 2013-04-03
CN103026317B true CN103026317B (zh) 2016-02-24

Family

ID=45530388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080068348.4A Expired - Fee Related CN103026317B (zh) 2010-07-30 2010-07-30 控制聚合i/o端口的功率消耗的方法和***

Country Status (4)

Country Link
US (1) US20130124889A1 (zh)
EP (1) EP2598971A4 (zh)
CN (1) CN103026317B (zh)
WO (1) WO2012015418A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160187958A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Techniques for managing power and performance for a networking device
CN105548678A (zh) * 2015-12-14 2016-05-04 潘小胜 一种计算机机房电功率计算装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816790A (zh) * 2003-02-14 2006-08-09 英特尔公司 基于非主cpu/os的操作环境
CN1910538A (zh) * 2003-12-18 2007-02-07 英特尔公司 改变高速缓存策略的方法和***
CN1951070A (zh) * 2004-05-13 2007-04-18 皇家飞利浦电子股份有限公司 用于ieee802.11n的具有不同数据速率的多接收机聚合(mra)
CN101444131A (zh) * 2006-05-10 2009-05-27 交互数字技术公司 在聚合无线发射/接收单元中用于电源管理的方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6714549B1 (en) * 1998-12-23 2004-03-30 Worldcom, Inc. High resiliency network infrastructure
JP4257509B2 (ja) * 2003-06-27 2009-04-22 日本電気株式会社 ネットワークシステム、ノード装置、冗長構築方法、および冗長構築プログラム
US7366921B2 (en) * 2004-04-23 2008-04-29 Hewlett-Packard Development Company, L.P. Selecting input/output devices to control power consumption of a computer system
US7487377B2 (en) * 2005-02-09 2009-02-03 International Business Machines Corporation Method and apparatus for fault tolerant time synchronization mechanism in a scaleable multi-processor computer
US7610480B2 (en) * 2005-04-01 2009-10-27 Alcatel Lucent System and method for controlling boot-up process in a communications network switch
US7729361B2 (en) * 2006-02-24 2010-06-01 Cisco Technology, Inc. Method and system for power-efficient adaptive link aggregation
US7907528B2 (en) * 2006-10-28 2011-03-15 Dell Products L.P. Managing power consumption in a NIC team
US7898986B2 (en) * 2006-10-31 2011-03-01 Hewlett-Packard Development Company, L.P. Port configuration
US20100011230A1 (en) * 2008-07-08 2010-01-14 Olaf Mater Link aggregation with dynamic bandwidth management to reduce power consumption
US8127165B2 (en) * 2009-02-05 2012-02-28 Lsi Corporation Multipath power management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816790A (zh) * 2003-02-14 2006-08-09 英特尔公司 基于非主cpu/os的操作环境
CN1910538A (zh) * 2003-12-18 2007-02-07 英特尔公司 改变高速缓存策略的方法和***
CN1951070A (zh) * 2004-05-13 2007-04-18 皇家飞利浦电子股份有限公司 用于ieee802.11n的具有不同数据速率的多接收机聚合(mra)
CN101444131A (zh) * 2006-05-10 2009-05-27 交互数字技术公司 在聚合无线发射/接收单元中用于电源管理的方法和设备

Also Published As

Publication number Publication date
US20130124889A1 (en) 2013-05-16
EP2598971A4 (en) 2016-06-15
EP2598971A1 (en) 2013-06-05
CN103026317A (zh) 2013-04-03
WO2012015418A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
US20070093124A1 (en) Methods and structure for SAS expander optimization of SAS wide ports
US20190250930A1 (en) Method and apparatus for configuring a serial data link
US9256268B2 (en) Adaptive low-power link-state entry policy for active interconnect link power management
CN103543961B (zh) 一种基于PCIe的存储扩展***及存储扩展方法
CN107783882B (zh) 一种服务器功耗管理方法及设备
CN101557379B (zh) 一种pcie接口的链路重组方法和装置
US7907528B2 (en) Managing power consumption in a NIC team
US20140280960A1 (en) Methods and apparatus for dynamically allocating devices between multiple controllers
CN110209606B (zh) 一种基于PCIe的多接口存储设备的控制方法
CN102449621A (zh) 一种节点控制器链路的切换方法、处理器***和节点
US10394309B2 (en) Power gated communication controller
CN112433596B (zh) 链路宽度调节方法、装置、设备和存储介质
US9092334B2 (en) Method for shortening enumeration of tightly coupled USB device
CN101145145A (zh) Pcie通道扩展装置、***及其配置方法
TWI780359B (zh) 資訊處理系統及向電力軌供電以向資訊處理系統的負荷供電的方法
CN103026317B (zh) 控制聚合i/o端口的功率消耗的方法和***
CN104460942A (zh) 一种基于业务的服务器节能***及方法
JP5549733B2 (ja) 計算機管理装置、計算機管理システム及び計算機システム
US11093422B2 (en) Processor/endpoint communication coupling configuration system
WO2022267341A1 (zh) 数据处理装置、方法、计算机设备及存储介质
CN110175092B (zh) 一种基于PCIe的多接口存储设备
CN107273198B (zh) 一种ssd控制芯片的中断控制方法、装置及ssd设备
EP3995965A1 (en) Method of achieving storage service continuity in storage system, front-end interface card, and storage system
US12001851B2 (en) Power conservation and standby graphics rendering in an information handling system
US11960899B2 (en) Dual in-line memory module map-out in an information handling system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20161221

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett-Packard Development Company, L.P.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160224

Termination date: 20170730