专利名称:分区数据处理系统中的能源节约的制作方法
技术领域:
本发明一般地涉及数据处理系统领域,特别是在分区数据处理系统中的能耗节约。
背景技术:
在数据处理系统领域,对服务器整合方案的需求在增长。受降低硬件成本的协调努力所驱动,服务器整合包括若干工具,它们使系统管理员能在单个服务器上互相隔离地运行多个应用,以及多个重要的操作系统。利用服务器整合的概念,企业能把它当前分布在多个服务器上的应用和服务整合起来,从而不需要大量服务器箱(server box)。整合受益于“虚拟化”和“分区”等相关概念。这两个概念已在大型计算机上存在多年,但现在正在成为Unix和Intel平台的越来越需要和越来越有生命力的选择。
逻辑分区是指“使单个多处理器系统表现为犹如两个或更多个独立系统的能力”。每个逻辑分区(LPAR)代表系统内资源的一部分。每个分区是逻辑上的,因为这种资源分组并不是必定与系统内的物理的、由硬件确定的边界联系在一起,尽管某些机器,例如IBM×Series 440,具有某种类型的模块结构,其中能作为独立存在的系统的若干机器被紧密地连接成一个更大的系统。在一个典型系统中的首要资源包括它的处理器、主存储器(系统存储器)、I/O总线以及I/O适配器(IOA)。每个逻辑分区被配置成作为独立的逻辑系统进行操作,但每个分区可共享物理系统属性,如系统序列号,系统型号及处理器特性代码。各分区的其他系统属性可改变。例如,在一个传统上实现的LPAR中的每个分区有专用的硬件,如处理器、主存储器及I/O设备。对于LPAR实现的详细信息,读者可参考“Slicing theAS/400 with Logical PartitioningA How to Guide”(以逻辑分区对AS/400切片使用指南)(SG24-5439-00)以及“Capacity Planning forLogical Partitioning on the IBM i Series Server”(在IBM Series服务器上进行逻辑分区的容量规划)(SG24-6209-00),二者均可在IBM红皮书中找到(www.redbooks.ibm.com)。
逻辑分区系统作为实现服务整合策略的一种手段正在得到普及。对系统资源(如处理器、存储器、盘式存储装置以及其他I/O设备等)的逻辑分区允许软件的逻辑隔离,如每个分区运行它自己的操作系统(OS)。如果配置得当,逻辑分区还具有一些硬件容错能力。在单个机器上可能不会一起运行得良好的交互或批量工作负荷能被隔离并在分开的分区中更有效地运行。类似地,在单个物理系统中能实现生产和测试环境。这样,客户能以逻辑分区把若干系统整合到一个系统中,从而排除对额外硬件的需求和费用。
历史上,LPAR或多或少是静态的,意思是说,指定给一个特定分区的资源是不随时间改变的,除非进行完全重新配置(通常包括系统引导)。LPAR系统通常利用低级软件,或者称作虚拟机监视器或管理程序(hypervisor),它负责管理各种分区,包括每个分区可用的资源。管理程序代码的开发已导致动态逻辑分区(DLPAR)系统的出现。
在日益强调整合的同时,企业还变得越来越认识到操作成本,特别是能耗成本与信息技术的基础设施有关联。在历史上,与性能(低延迟和高吞吐量)、可靠性、可用性和安全性目标相比,降低服务器操作成本的目标被放在了低优先级。然而,随着企业继续把计算能力组装到越来越密集的配置中,不仅从成本的角度,而且从性能和可靠性的角度来看,能耗以及所造成的热扩散已变得重要了。
所以,在服务器系统上用于支持逻辑分区的管理程序中引入能源意识功能是人们所希望的。
发明内容
根据本发明使用的有能源意识的虚拟化数据处理系统及相应的方法,上面所认识到的问题得到解决。所公开的系统包括一组物理资源和一个管理程序。该管理程序建立逻辑分区并且至少分配一些物理资源至这些逻辑分区。该系统能降低未被分配给任何分区的物理资源的功耗。该管理程序可向各逻辑分区分配物理资源以使未被分配的物理资源数最大化。物理资源可包括若干处理器,而管理程序可把至少一个处理器的一碎片部分(fractional portion)分配给一个分区。在这一实施例中,系统可通过调节部分地被分配的处理器的供电电压或时钟频率来降低功耗。资源可包括存储器模块,而管理程序可把这些模块指定给分区,其指定方式是使被分配或被指定给现用分区的模块个数达到最少。资源还可包括一组存储盘,被配置成例如连接到数据处理系统的存储区域网络(SAN)。在这一实施例中,能通过对SAN进行逻辑分区以反映数据处理系统的逻辑分区,并使那些没有分配给任何SAN分区的盘以及被分配给待用分区的那些盘掉电,以此来实现能源节约。
参考附图阅读下文中的详细描述,将清楚地看出本发明的其他目的和优点,这些附图是图1是传统的逻辑分区的数据处理系统中选定部件的方框图;图2是根据本发明一个实施例的有能源意识的逻辑分区系统中选定部件的概念化显示;图3是图2的逻辑分区系统中一个分区的选定部件的方框图;图4是根据本发明的一个实施例的向一逻辑分区分配物理资源以助于实施能源节约策略的方法的流程图;以及图5显示根据本发明的采用存储区域网络的有能源意识的逻辑分区系统的一个实施例。
尽管本发明容许各种修改和替代形式,但在附图中作为举例显示了本发明的特定实施例,而且这里将详细描述。然而,应该理解,这里呈现的附图和详细描述并非旨在将本发明限定于所公开的特定实施例,相反,本发明覆盖落入由所附权利要求定义的本发明精神和范围内的所有修改、等效物和替代物。
具体实施例方式
一般地说,本发明构想一种方法和系统,用于把能源意识(awareness)引入虚拟机系统的管理程序或类似的管理软件,从而使该虚拟化的或逻辑分区的机器系统中的功耗最小化。优选地,该管理程序将监视并至少是部分地基于为实现希望的分区所需要的分离物理资源的个数来向逻辑分区分配系统资源。例如,当一个特定分区能以两个物理资源或者三个物理资源实现时,则将选择两个资源的实现(所有其他考虑是一样的)。这里把这种分配哲学称作资源组装(resource packing),或简称组装。然后,选定的资源将被分配给各分区。于是,管理程序能通过关闭未分配的系统资源的电源来降低功耗。
在一个实现中,系统利用碎片资源分配(fractional resourceallocation),其中两个或更多个分区共享一个共同物理资源的各部分,并把被分配的碎片资源组装到尽可能少的物理部件中,以此来使未被分配的资源量最大化(从而使可能的能耗节省最大化)。例如,如果第一分区需要一个物理资源的0.5个单位,第二分区需要1.5个单位,则使用根据本发明的碎片资源分配和组装,能把这两个分区恰好分配给两个物理资源。然后,所有未被分配的物理资源能转换到低供电状态以使能耗最小化。
在典型的系统中,最可能成为有能源意识的LPAR系统中考虑的候选者的物理资源包括系统的主存储器、处理器和存储子系统。这些资源特别有意义,一般地说,这是因为它们是比较充裕的资源,而且在操作中的电源成本比较高。处理器、主存储器和存储容量代表比较充裕的资源,因为这些资源的容量常常超过任何特定应用的要求。如果使用逻辑分区将该应用与其他应用隔离,则从能源意识的角度,不希望把超过该应用需要的更多物理资源分配给该应用。
再有,当服务器整合发生时,一个LPAR系统可被分区,为每个系统建立一个代替它的分区。在许多情况中,特别是工作负荷的类型和/或强度每日、每周或每月在变化的情况中,某些分区可能是或可能变为待用的。在许多情况中,这些分区可能在其中没有操作系统在运行。根据本发明,指定给这些待用分区的资源可被关闭。作为举例,如果由于低工作负荷而使得一些分区被删掉,因而保持了一池未被分配的资源,这些资源也可被关闭。
除了相对比较充裕外,存储器、处理器和存储器资源的操作还相对比较昂贵,因为即使在低活动时间也倾向于吸收大量电流。例如,主存储器通常是以某种形式的易失性随机存取存储器实现的,对它们必须提供恒定电流以保持其内容。类似地,通用处理器在消耗大量功率和散发大量热量方面是出了名的。由于这些理由,下面的描述将参考这些特定资源说明本发明的能源意识的概念。然而,应该指出,其他系统资源,如I/O适配器,可自然地纳入下文的讨论中。
在讨论本发明的新部件之前,给出对逻辑分区数据处理系统的简要介绍。转到附图,图1是利用传统的逻辑分区方案的数据处理系统100的选定部件方框图。在所描绘的实施例中,系统100包括多个通用微处理器,包括第一处理器102a和第二处理器102b(一般地或共同地称作处理器102)。处理器102经由主机总线104与系统存储器模块106a和106b(一般地或共同地称作系统存储器106)相连。系统存储器106通常以高密度易失性存储技术实现,如DRAM。
主机桥接器108提供主机总线104和I/O总线109之间的接口。I/O总线109代表任何标准化的外围总线,包括例如在基于微处理器的数据处理系统设计领域公知的外围部件互连(PCI)总线等。所描绘的系统100的实施例使用I/O总线109作为基本I/O总线,它通过一对I/O桥接器110a和110b与第一和第二次级I/O总线120a和120b相连。连接到每个I/O总线120上的是外围设备或I/O适配器(IOA),它们由标号122a、124a、122b及124b标识。这些外围设备可代表多种外围设备中的任何设备,包括例如图形适配器、盘控制器和网络适配器。
系统100在逻辑上被分成两个分区,101a和101b。在图1中描绘的分区中,诸如处理器102、I/O总线120以及IOA122等系统资源是第一分区101a或第二分区101b专用的。在其他分区方案中,处理器、主存储器和存储器资源可以逻辑上在若干分区中分割。现代分区方案一般还允许至少是重新定义分区而无需进行系统范围的复位。然而,系统100的分区通常没有考虑功耗。根据本发明的有能源意识的逻辑分区机制即针对这一缺点。
现在参考图2和图3,图中公开了根据本发明一个实施例的虚拟机系统200的概念化描述。在所描绘的实施例中,系统200包括四个逻辑分区210-213、一个管理程序201以及系统资源220a至220h。如图3中所示,分区210包括的逻辑资源有逻辑存储器240、逻辑处理器241以及标识为逻辑盘242的逻辑I/O适配器。逻辑存储器240含有或包括操作系统230以及一个或多个应用程序231和232。
管理程序201通常是作为计算机可执行指令(软件)实现的,它存储在计算机可读介质上,如主存储器、高速缓冲存储器、盘式存储装置、ROM存储器、闪速存储器等。管理程序201适于把一个数据处理系统例如对称多处理器(SMP)服务器系统等,分区成独立的和逻辑上分开的分区。
根据本发明的管理程序201被配置成把逻辑分区以及它们的相应逻辑资源映射到该系统的物理资源220a至220h(一般地或共同地称作220)。此外,管理程序201的这个优选实施例能够把分区210至213的逻辑资源映射到分配全部分区所需要的资源220的最小子集。在这一实施例中,管理程序201可包括附加功能以控制对资源220的功率和/或性能设置。在管理程序201已完成分区210至213到物理资源220的最小子集的映射之后,管理程序201可通过对未被分配的一个或多个物理资源220断电或降低供电来实现降低功耗策略。
图2显示一个示例性的系统,其中管理程序201已定义四个分区。分区210至213有不同的大小,所述的大小反映该分区所需的计算资源。这样,所示分区211比分区210大50%左右,因而反映出分区211所需计算资源大约为分区211所需计算资源的1.5倍。管理程序201通过至少是部分地根据这些分区各自的计算资源来把物理资源分配和映射到逻辑分区,从而反映每个分区变化着的计算需求。可结合系统管理员提供的配置定义来进行这些分配。这样,分区0(210)显示为被映射到单一的和整个的物理资源220a(如虚线所指),而分区1(211)显示为被映射到资源220b的全部以及资源220c的大约50%的碎片部分。
如前面的描述中表明的那样,管理程序201引入碎片资源支持,使得物理资源可在多个逻辑分区当中共享。在存储器的情况中对物理资源的碎片分配比较易于概念化,因为存储器被配置成可互换的元件(存储器单元)的阵列。根据本发明的管理程序201能支持对主存储器以外的其他资源进行碎片资源划分。在一个适于使处理器功耗最小化的实施例中,管理程序201包括碎片处理器支持,其中单个物理处理器由两个或更多个逻辑分区共享。碎片的处理器通常是通过在多个分区当中分时共享一个处理器来实现。在这类实现中,第一分区将在第一时间片拥有该处理器,而第二分区将在第二时间片拥有该处理器,等等。在一些实施例中,一个处理器甚至可被分割成小于1%的单元。系统200是作为动态LPAR系统实现的。在这样的系统中,管理程序201可周期性地(或异步地)评估当前的资源分配并可以更新或改变此时的资源分配。这种更新通常进行得相对不频繁(例如在数分钟的量级),因为频繁地进行分区重新配置会造成性能恶化。因为重分配分区不频繁,故管理程序可实现相对复杂的算法以分配资源。有能源意识的分区能公式化为一个约束线性最优化的问题或装箱(bin-packing)问题。
在图4的流程图所示的实施例中,系统200可完成方法250以便把它的各分区组装到最少量物理资源中。为此,首先把所有分区分类为需要整数个资源的或需要碎片数量资源的分区(块251)。(碎片资源分类将包括那些需要非整数个数资源的分区,不论该个数大于或小于1)。对于分类为整个分区的每个分区(块252),管理程序将通过简单地指定给该分区一个或多个整个资源来适当地分配物理资源(块254)。在分配了整个分区之后,管理程序将确定该系统是否有任何碎片分区(块256)。如果该系统有大的碎片分区(需要大于1个单元物理资源的碎片分区,例如需要1.5个资源单元的碎片分区),则管理程序将首先分配资源以容纳这些大碎片分区的整数部分(块258)。然后,管理程序将指定一个资源作为当前碎片的资源(块260)并以各碎片分区的碎片部分填充被指定的资源(块262)。如果在填充了当前被指定的资源后仍存在另外的未被分配的碎片分区(块264),则指定(块266)并填充一个新的资源,直至所有碎片分区都已被分配为止。这样,管理程序把碎片的分区部分组装到最小数量物理资源中。
除了上文描述的资源分配方法外,管理程序201还被配置成通过确定或跟踪物理资源220(图2)中有哪些是未被分配的或没有被完全分配的,并采取行动减小没有被完全分配的资源的功耗,从而减小系统200的功耗和散热。这样,图2显示的管理程序201包括或连接于一个功率控制单元203,控制单元203控制资源220的功耗状态。
优选地,功率控制单元203能控制应用于资源220的(多个)供电电压。在完全未被分配的资源(如图2中的资源220e至220h)的情况中,功率控制单元203很可能被配置成使资源完全断电从而使功耗减至零。在部分地被分配的资源(如图2中的资源220d)的情况中,可使功率控制单元203能通过适当的电压调节来减小功耗,如果相应的资源支持这一电压调节的话。例如,处理器可允许在不需要处理器的完全计算能力(例如以每秒执行的操作次数计量)时调节电压以减小功耗。此外,处理器和其他资源可支持通过允许使用较慢的时钟频率来减小能耗。在支持较慢时钟频率的资源中,功率控制单元203可降低电压、减小时钟频率或这二者的组合,以实现降低部分地被分配的处理器资源的功耗。
在资源220代表物理存储器模块的实施例中,管理程序201可以引入技术以在任何给定时间动态地改变被分配的物理资源数。具体地说,管理程序201优选地被配置成把分配给特定分区的物理页面帧分组成为可能的物理存储器模块的最小集合。此外,管理程序201优选地被配置成监视物理页面访问并在指定条件下指定一个或多个物理页面作为解除分配的候选者。例如,管理程序能指定在指定时间段内未被访问过的物理页面解除分配。管理程序201的另一实施例可利用最近最少使用(LRU)算法解除页面分配。在指定一个或多个页面供解除分配之后,管理程序能通过把该页面数据保存在盘式存储装置上来解除对该页面的分配。这样,管理程序能潜在地随时减小支持分区所需物理页面的个数。如果在从物理资源中完全解除对所有页面的分配方面的减小是成功的,则管理程序能进一步通过调用功率控制单元203断掉对解除分配的资源供电来减小功耗。管理程序可与分区中运行的操作系统合作,让操作系统通知管理程序关于它们对分配给它们的物理页面帧的使用情况。根据操作系统提供的信息,管理程序能解除对一些页面帧的分配,当一些存储器模块变成完全不被使用时关闭它们。
在一个实施例中,物理资源220可代表物理盘式存储装置。在这一实施例中,物理资源能作为存储区域网络(SAN)205实现,如图5中所示。在这一实施例中,管理程序201可被配置成向SAN205传递分区信息。SAN205可包括它自己的处理、存储器和软件资源,足以在SAN205内创建逻辑分区,在所描绘的实施例中,SAN205接收来自管理程序201的分区信息,并在SAN内创建影子分区。这样,对于每个管理程序分区,SAN205创建相应的SAN分区,其中分配给SAN分区的盘资源反映相应管理程序分区对盘式存储装置的需求。分配到每个SAN分区的物理盘的数量取决于所需要的冗余级别以及其他因素。然而,最终SAN205的分区可能造成物理盘的某些部分未被分配。在这种情况中,SAN205包括使未分配的盘降低转速以节省能量的设备。
对于从这一公开内容中受益的本领域技术人员,显然可见的是本发明考虑了在逻辑分区的服务器环境中节省能量的系统和方法。应该理解,在详细描述和附图中显示和描述的本发明的形式只是作为当前的的优选实例。下面的权利要求将要被广义地解释为包括所公开的优选实施例的所有变体。
权利要求
1.一个数据处理系统,包含一组物理资源;在系统内创建分区并将至少一些物理资源分配给所述分区的管理程序;以及用于降低未被该管理程序分配的物理资源的功耗的装置。
2.权利要求1的系统,其中,所述管理程序将物理资源分配给各分区,其中,未被分配的资源量被最大化。
3.权利要求1的系统,其中,该组物理资源包含一组处理器,而且其中,所述管理程序把至少一个处理器的碎片部分分配给至少一个分区。
4.权利要求3的系统,其中,所述用于降低功耗的装置包括用于调节所述至少一个被碎片分配的处理器的电源电压和时钟频率的装置,以及用于对未被分配的处理器关闭电源的装置。
5.权利要求1的系统,其中,该组物理资源包含一组存储器模块,而且其中,所述用于降低功耗的装置包括用于对未被分配的存储器模块终止供电的装置。
6.权利要求5的系统,其中,管理程序包括用于通过根据预先确定的选择标准把选定的物理页面帧换页到盘式存储装置上、从而动态地减少被分配的存储器模块量的装置。
7.权利要求5的系统,其中,所述预先确定的选择标准包括物理页面被访问的频率或由分区内运行的操作系统提供的信息。
8.权利要求5的系统,其中,所述预先确定的选择标准是基于分区内运行的操作系统提供的存储器页面信息。
9.权利要求1的系统,其中,该组物理资源包括一组存储盘,该组存储盘被配置成连接至该数据处理系统的存储区域网络(SAN),而且其中,所述用于降低功耗的装置包括用于对SAN逻辑分区以反映该数据处理系统分区的装置和用于使未被分配给任何SAN分区的盘断电的装置。
10.一种数据处理系统,包含一组物理资源;用于在系统内创建分区的装置,其中,每个分区被配置成执行独立于其他分区的相应的操作系统;用于通过将所述分区组装到物理资源的最小子集而将至少一些物理资源分配给所述分区的装置;以及用于关闭未分配给任何分区的物理资源的装置。
11.权利要求10的系统,其中,组装分区包括将至少两个分区的碎片分区部分分配给一个共同的物理资源。
12.权利要求11的系统,其中,组装分区包括当碎片分区部分超过两个不同物理资源中的第一个的容量时,在所述两个物理资源之间分开一个碎片分区部分。
13.权利要求10的系统,其中,该组物理资源包括一组处理器,而且其中,至少一个处理器的碎片部分被分配给至少一个所述分区。
14.权利要求13的系统,进一步包含通过调节其供电电压和时钟频率来降低至少一个被碎片方式分配的处理器的功耗以及通过关闭其电源降低未被分配的处理器的功耗。
15.权利要求10的系统,其中,该组物理资源包含一组存储器模块,而且其中,该系统包括通过用于根据预先确定的选择标准把选定的物理页面帧换页到盘式存储装置上、从而动态地减少被分配的存储器模块量的装置。
16.一种用于在数据处理系统中分配资源的计算机程序产品,该计算机程序产品包含存储在计算机可读存储介质上的计算机可读程序代码并包括用于在系统内创建逻辑分区的代码手段;用于通过把这些分区组装到物理资源的最小子集而将至少一些物理资源分配给所述分区的代码手段;以及用于对未分配给任何分区的物理资源减少供电的代码手段。
17.权利要求16的计算机程序产品,其中,组装分区包括用于将至少两个分区的碎片分区部分分配给一个共同的物理资源的代码手段。
18.权利要求17的计算机程序产品,其中,组装分区包括当碎片分区部分超过两个不同物理资源中的第一个的容量时,在所述两个物理资源之间分开一个碎片分区部分的代码手段。
19.权利要求16的计算机程序产品,其中,该组物理资源包含一组处理器,而且其中,至少一个处理器的碎片部分被分配给至少一个分区。
20.权利要求19的计算机程序产品,进一步包含用于通过调节其供电电压和时钟频率来降低至少一个被碎片分配的处理器的功耗的代码手段以及用于通过关闭其电源降低未被分配的处理器的功耗的代码手段。
21.权利要求16的计算机程序产品,其中,该组物理资源包含一组存储器模块,而且其中,该系统包括用于根据预先确定的选择标准把选定的物理页面帧换页到盘式存储装置上、从而动态地减少被分配的存储器模块量的代码手段。
全文摘要
有能源意识的逻辑分区的数据处理系统和相应的使用方法,包括一组物理资源和一个管理系统。该管理程序创建分区并将至少一些物理资源分配给分区。该系统进一步包括用于降低未被分配给分区的任何物理资源的功耗的装置。该管理程序可把物理资源分配给分区以使未被分配的物理资源数最大化。物理资源可包括处理器,而管理程序可把至少一个处理器的碎片部分分配给一个分区。在这一实施例中,系统可通过调节被碎片分配的处理器的供电电压或时钟频率来降低功耗。这些资源可包括存储器模块,而管理程序可通过使支持分配给分区的存储器所需存储器模块数量减至最少来动态地减少被分配的存储器和功耗。这些资源还可包括通过存储区域网络(SAN)提供的盘。该SAN可按与主数据处理系统相同的方式进行分区,而且SAN分区可以关闭未被分配的或未被使用的盘驱动器的电源,以降低功耗。
文档编号G06F9/50GK1506794SQ20031011723
公开日2004年6月23日 申请日期2003年12月8日 优先权日2002年12月9日
发明者F·L·罗森三世, F L 罗森三世 申请人:国际商业机器公司