CN100543689C - 用于在分区的计算机中推荐移动资源的系统和方法 - Google Patents

用于在分区的计算机中推荐移动资源的系统和方法 Download PDF

Info

Publication number
CN100543689C
CN100543689C CNB2008100015834A CN200810001583A CN100543689C CN 100543689 C CN100543689 C CN 100543689C CN B2008100015834 A CNB2008100015834 A CN B2008100015834A CN 200810001583 A CN200810001583 A CN 200810001583A CN 100543689 C CN100543689 C CN 100543689C
Authority
CN
China
Prior art keywords
subregion
resource
current
data
place
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.)
Active
Application number
CNB2008100015834A
Other languages
English (en)
Other versions
CN101226490A (zh
Inventor
B·M·洛根
D·G·桑顿
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101226490A publication Critical patent/CN101226490A/zh
Application granted granted Critical
Publication of CN100543689C publication Critical patent/CN100543689C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • 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

Abstract

公开了一种用于在分区的计算机中推荐移动资源的系统和方法。在实施例中,发现一个分区,其中该分区在该分区和第一资源之间传送了大于阈值量的数据。做出该分区与第二资源传送了大于阈值量的数据的确定。做出第一和第二资源之间的数据路径距离大于阈值的确定。找到开放的第三位置,并且做出第一资源和第三位置之间的数据路径距离小于阈值的确定,并且作为响应,做出将第二资源移动到第三位置的推荐。

Description

用于在分区的计算机中推荐移动资源的系统和方法
技术领域
本发明的实施例总体涉及计算机系统。具体地,本发明的实施例总体涉及在逻辑分区的计算机系统中推荐资源的移动。
背景技术
一些计算机系统利用在各个逻辑分区中分配的物理计算机中的各种资源实现逻辑分区的概念,其中单个物理计算机基本上进行与多个和独立虚拟计算机(称作逻辑分区)类似的操作,所述各种资源例如处理器、存储器和I/O(输入/输出设备)。每个逻辑分区执行单独的操作系统,并且从用户和在逻辑分区中执行的软件应用的角度,每个逻辑分区操作为独立计算机。这些分区在分区管理器或管理程序的控制下操作。
在逻辑分区的计算机中的一个基本挑战是在逻辑分区之间合理地分配物理计算机的资源,以便避免一个分区经历未用资源过剩而另一分区经历资源缺乏的问题,这将引起性能的问题。在尝试解决这些问题中,逻辑分区的计算机的开发者已经建立了管理程序技术,用于响应于分区的变化的需要而改变资源到分区的分配。
但是,当前的管理程序没有很好地响应于由计算机中资源的次优物理配置或布局引起的问题。例如,如果分区将大量数据从存储器设备传送到网络,并且管理程序已经分配了充足的存储器、网络、处理器和内存资源,则如果存储器和网络资源位于不同的I/O总线上(这引起数据传送的延迟),分区可能仍经历性能问题。如果所有分区资源彼此紧邻,则分区可能经历更佳的性能,但是当执行分配时,当前的管理程序不能考虑资源的位置。
这样,需要用于在计算机系统中将资源分配给逻辑分区的更好技术。
发明内容
提供了一种方法、装置、系统和信号承载介质。在一个实施例中,发现一个分区,该分区在该分区和第一资源之间传送了大于阈值量的数据。还做出该分区在该分区和第二资源之间传送了大于阈值量的数据的确定。进一步做出第一和第二资源之间的数据路径距离大于阈值距离的确定。找到开放的第三位置,并且做出第一资源和第三位置之间的数据路径距离小于阈值距离的确定,并且作为响应,做出将第二资源移动到第三位置的推荐。
在一个实施例中,选择当前资源,其在分区之间的分配的改变大于阈值量,并且选择等效资源,该等效资源的位置在分区的阈值距离之内,并且将等效资源而不是当前资源分配到分区。
在一个实施例中,发现被分配到当前分区的第一资源,其中当前分区向第一资源传送了小于阈值量的数据量,并且找到也被分配给当前分区的第二资源。找到开放的第三位置,其中从第三位置到第二资源的数据路径距离小于从第一资源到第二资源的数据路径距离。如果第一资源与分配到当前分区的所有其他资源之间的数据路径距离都大于阈值距离,则做出将第一资源移动到第三位置的推荐。如果第一位置和所有其他资源的位置之间的数据路径距离不大于阈值距离,则做出从当前分区解除分配第一资源的推荐。
这样,可以以提高性能的方式配置计算机并且可以将资源分配给分区。
附图说明
以下将结合附图描述本发明的各个实施例。
图1示出了用于实现本发明的实施例的示例系统的方框图。
图2示出了根据本发明的实施例的示例系统的选择的组件的方框图。
图3示出了根据本发明的实施例的用于资源配置数据的示例数据结构的方框图。
图4示出了根据本发明的实施例的用于资源分配数据的示例数据结构的方框图。
图5示出了根据本发明的实施例的用于分区使用历史数据的示例数据结构的方框图。
图6示出了根据本发明的实施例的用于动态资源分配历史数据的示例数据结构的方框图。
图7示出了根据本发明的实施例的示例用户界面的方框图。
图8示出了根据本发明的实施例的用于构建和发送推荐的资源配置、分配指令和分配推荐的示例处理的流程图。
图9示出了根据本发明的实施例的用于构建和发送推荐的资源配置的示例处理的流程图。
图10示出了根据本发明的实施例的用于构建和发送分配指令的示例处理的流程图。
图11示出了根据本发明的实施例的用于构建和发送分配推荐的示例处理的流程图。
图12示出了根据本发明的实施例的用于执行分配指令的示例处理的流程图。
然而,应该注意的是,附图仅示出了本发明的示例实施例,并且因此不应被认为是对其范围的限制,因为本发明可以允许其他等效的实施例。
具体实施方式
参考附图,其中贯穿多个视图,相同的标号代表相同的组件,图1示出了根据本发明的实施例的连接到网络130的计算机系统100的高级框图。计算机系统100的主要组件包括多个MCM(多芯片模块)106-1、106-2、106-3和106-4,它们经由MCM互连107(其可以是总线)互连在一起。MCM106-1连接到I/O总线104-1,并且MCM 106-4连接到I/O总线104-2,但是可以存在可以连接到任何MCM的任何数量的I/O总线。
每个MCM包括一个或多个处理器和/或一个或多个存储器设备。例如,MCM 106-1包括CPU(中央处理单元)101A和CPU 101B。MCM 106-2包括CPU 101C和存储器102A。MCM 106-3包括存储器102B和存储器102C。MCM 106-4包括CPU 101D和存储器102D。
CPU 101A、101B、101C和101D是通用的可编程中央处理单元。每个CPU 101A、101B、101C和101D执行存储在主存储器102A、102B、102C和/或102D中的指令,并且可以包括一个或多个板载高速缓存级。如图1所示,存储器102A、102B、102C和/或102D被分布,并可以与不同CPU或与CPU 101A、101B、101C和/或101D的集合在不同时间相关联,众所周知,这是非一致内存访问(NUMA)计算机架构。因此,在各个实施例中,CPU 101A、101B、101C和/或101D可以访问来自任意一个、部分或所有存储器102A、102B、102C和/或102D的数据并执行来自任意一个、部分或所有存储器102A、102B、102C和/或102D的指令。
I/O总线104-1和104-2包括各种连接槽或连接器、或I/O总线接口单元,诸如各个槽120-1、120-2、120-3、120-4、120-5、120-6、120-7和120-8。I/O总线104-1和104-2可以实现例如工业标准PCI(外围组件互连)总线、串行总线、并行总线、USB(通用串行总线)总线、Firewire总线、SCSI(小型计算机系统接口)总线或任何其他合适的有线或无线总线技术。
槽120-1、120-2、120-3、120-4、120-5、120-6、120-7和120-8可以连接到I/O接口单元111、112、113和114以及与I/O接口单元111、112、113和114通信,I/O接口单元111、112、113和114也称为I/O处理器(IOP)或I/O适配器(IOA)。例如,槽120-1连接到终端接口单元111,槽120-3连接到存储器接口单元112,槽120-6连接到网络接口单元114,并且槽120-8连接到辅助设备接口单元113。槽120-2、120-4、120-5和120-7是开放的或可用的,意味着当前没有资源连接到各个槽。
I/O接口单元支持与多个存储器和I/O设备进行通信。例如,终端接口单元111支持一个或多个用户终端121的附接。用户终端121可以包括视频显示设备、键盘、鼠标或其他指示设备、扬声器、麦克风、语音识别设备或用于向用户发送输出和/或从用户接收输入的任何其他机制。存储器接口单元112支持一个或多个直接访问存储器设备(DASD)125和126(其通常是旋转磁盘驱动器存储器设备,尽管替代地,它们可以是其他设备,包括配置用于表现为到主机的单个大存储器设备的盘驱动器阵列)的附接。可以将存储器102A、102B、102C和102D的内容存储在直接访问存储器设备125和126中,并可以从直接访问存储器设备125和126取回存储器102A、102B、102C和102D的内容。
辅助设备接口单元113提供到任何各种其他输入/输出设备或其他类型设备(诸如打印机或传真机)的接口,但是在其他实施例中,可以存在是不同类型的多种其他这样的设备。网络接口114提供从计算机系统100到其他数字设备和计算机系统的一个或多个通信路径;这样的路径可以包括例如一个或多个网络130。
在各个实施例中,计算机系统100可以是多用户“主框架(mainframe)”计算机系统、单用户系统、或服务器或具有很少或没有直接用户接口但从其他计算机系统(客户端)接收请求的类似设备。在其他实施例中,计算机系统100可以实现为个人计算机、便携式计算机、膝上计算机或笔记本计算机、PDA(个人数字助理)、平板计算机、袖珍计算机、电话、寻呼机、汽车、远程会议系统、仪器或任何其他适当类型的电子设备。
网络130可以是任何合适的网络或网络的组合,并可以支持任何适于来往于计算机系统100的数据和/或代码通信的合适协议。在各个实施例中,网络130可以代表直接或间接连接到计算机系统100的存储器设备或存储器设备的组合。在一个实施例中,网络130可以支持InfiniBand架构。在另一个实施例中,网络130可以支持无线通信。在另一个实施例中,网络130可以支持硬连线通信,诸如电话线路或电缆。在另一个实施例中,网络130可以支持以太网IEEE(电气和电子工程师协会)802.3x规范。在另一个实施例中,网络130可以是因特网并可以支持IP(互联网协议)。在另一个实施例中,网络130可以是局域网(LAN)或广域网(WAN)。在另一个实施例中,网络130可以是热点服务提供商网络。在另一个实施例中,网络130可以是内联网。在另一个实施例中,网络130可以是GPRS(通用分组无线服务)网络。在另一个实施例中,网络130可以是FRS(家庭无线服务)网络。在另一个实施例中,网络130可以是任何适当的蜂窝数据网络或基于小区的无线网络技术。在另一个实施例中,网络130可以是IEEE 802.11B无线网络。在又一个实施例中,网络130可以是任何合适的网络或网络的组合。尽管示出了一个网络130,在其他实施例中,可以存在任何数量(包括零)的(相同类型或不同类型的)网络。
图2示出了根据本发明的实施例的示例系统的选择的组件的方框图。图2示出(直接或间接)连接到处理器101的存储器102。处理器101一般是指CPU 101A、101B、101C和101D。存储器102一般是指存储器102A、102B、102C和102D。
存储器102是用于存储数据和程序或对数据和程序进行编码的随机访问半导体存储器。存储器102概念上是单个单片电路实体,但在实践中可以实现为更复杂的设置,诸如高速缓存层次和处于不同等级的其他存储器设备。例如,存储器可以存在于多个高速缓存级中,并且这些高速缓存可以进一步通过功能进行划分,使得一个高速缓存保存指令,而另一个保存处理器101使用的非指令数据。
存储器102被示出为存储或编码用于在计算机100上实现逻辑分区的计算机环境的主要软件组件和数据,该逻辑分区的计算机环境包括分区管理器或管理程序244管理的多个逻辑分区234-1和234-2。尽管分区234-1、分区234-2和管理程序244示出为包含在计算机系统100的存储器102内,在其他实施例中,它们中的部分或所有可以在不同计算机系统上,并且可以例如经由网络130远程访问。此外,计算机系统100可以使用虚拟寻址机制,该虚拟寻址机制允许计算机系统100的程序就像它们仅访问大的单个存储器实体而不是访问多个小的存储器实体那样运行。这样,尽管分区234-1、分区234-2和管理程序244示出为驻留在存储器102中,这些元件不必所有都在同时完全包含在相同的存储器设备中。
逻辑分区234-1和234-2的每一个使用各自的操作系统246-1和246-2,其以与非分区计算机的操作系统相同的方式控制各个逻辑分区234-1和234-2的主要操作。例如,操作系统246-1和246-2中的一个或二者全部可以使用可从纽约阿芒克的国际商业机器公司获得的i5/OS操作系统来实现,但是在另一个实施例中,操作系统246-1和246-2中的一个或二者全部可以是Linux、AIX、UNIX、微软的Windows或任何适当的操作系统。另外,操作系统246-1和246-2中的部分或全部可以彼此相同或不同。正如本领域众所周知的,可以支持任何数量的逻辑分区234-1和234-2,并且当向计算机100添加分区或从计算机100去除分区时,在任何时间驻留在计算机系统100中的逻辑分区234-1和234-2的数量可以动态改变。
逻辑分区234-1和234-2的每一个在单独的或独立的存储器空间中执行,并且因此从在每个相应逻辑分区中执行的每个应用248-1和248-2的角度,每个逻辑分区234-1和234-2与独立的、非分区的计算机非常相同地运行。这样,用户应用通常不要求用于分区的环境的任何特殊配置。假设逻辑分区234-1和234-2的本质是单独的虚拟计算机,可以希望它支持内部分区通信以允许逻辑分区彼此通信,就像逻辑分区在单独的物理机器上那样。这样,在一些实现中,可以希望支持没有示出的、与管理程序244相关联的虚拟逻辑局域网(LAN)适配器,以允许逻辑分区234-1和234-2经由诸如以太网协议的网络互联协议彼此通信。在另一个实施例中,虚拟网络适配器可以桥接到物理适配器,诸如网络接口适配器114。根据本发明的实施例,还可以支持其他支持分区之间的通信的方式。
尽管管理程序244示出为存储在存储器102中,在其他实施例中,所有或部分管理程序244可以在固件或硬件中实现。管理程序244可以执行低级分区管理功能,诸如页表管理。管理程序244还可以执行较高级分区管理功能,诸如创建和删除分区、并发I/O维持、向各个分区234-1和234-2分配和解除分配处理器、存储器和其他硬件或软件资源。
管理程序244向每个逻辑分区234-1和234-2静态地和/或动态地分配计算机100的可用资源的一部分。例如,可以向每个逻辑分区234-1和234-2分配一个或多个处理器101和/或一个或多个硬件线程、以及可用存储器空间的一部分。逻辑分区234-1和234-2可以共享专用软件和/或硬件资源,诸如处理器101,使得给定资源可以由多于一个的逻辑分区使用。在替代方案中,每次可以将软件和硬件资源仅分配给一个逻辑分区234-1和234-2。通常将例如大容量存储器、备份存储器、用户输入、网络连接以及I/O适配器的附加资源分配给逻辑分区234-1和234-2中的一个或多个。可以以多种方式(例如基于逐个总线或基于逐个资源)利用在相同总线上共享资源的多个逻辑分区来分配资源。每次甚至可以将一些资源分配给多个逻辑分区。这里识别的资源仅是示例性的,并且可以使用能够被分配的任何适当的资源。
存储器102另外存储资源配置数据236、资源分配数据238、历史数据240和工具242或对它们进行编码。资源配置数据236描述计算机系统100的资源的配置或物理布局,包括资源的物理位置和资源之间的数据路径距离。资源分配数据238描述向各个分区234-1和234-2的资源分配的分派。历史数据240包括:分区使用历史数据,其描述分区234-1和234-2对资源的过去或历史使用;以及动态资源历史数据,其描述过去发生的到分区的资源分配的变化。工具242推荐资源配置和资源分配,以便改善计算机系统100的性能。
在实施例中,工具242和/或管理程序244包括能够在处理器101上执行的指令或能够由在处理器101上执行的指令解译的语句,以执行以下参考图8、9、10、11和12进一步描述的功能。在另一个实施例中,工具242和/或管理程序244可以在微代码或固件中实现。在另一个实施例中,工具242和/或管理程序244可以经由逻辑门和/或其他适当的硬件技术在硬件中实现。
应该理解,图1和图2旨在描述处于高级的计算机系统100的代表性的大部分组件,其中各个组件可以比图1和图2中示出的具有更大的复杂性,可以存在不同于图1和图2所示的那些组件或添加到图1和图2所示的那些组件的组件,并且这样的组件的数量、类型和配置可以变化。这里公开了这种附加复杂性或附加变化的若干特定示例;应该理解,这些仅是示例,并且不必仅限于这样的变形。
可以按照多种方式实现图2示出的实现本发明各个实施例的各个软件组件,包括使用各种计算机软件应用、例程、组件、程序、对象、模块、数据结构等,以下称作“计算机程序”或简单地称作
“程序”。计算机程序通常包括一个或多个指令,其在各个时间驻留在计算机系统100的各个存储器和存储器设备中,并且当由计算机系统100中的一个或多个处理器101读取和执行时,使得计算机系统100执行为实现包括本发明的实施例的各个方面的步骤或元件所必需的步骤。
此外,尽管在全功能的计算机系统的环境中已经描述了并且之后将要描述本发明的实施例,但是本发明的各个实施例能够以多种形式作为计算机产品发布,并且不管用于实际实现发布的信号承载介质的具体类型,本发明同等地适用。定义该实施例的功能的程序可以经由多种具体信号承载介质递送到计算机系统100,该程序可以包括但不限于:
(1)永久存储在非可重写的可记录存储介质中的信息,该存储介质例如附接到计算机系统或在计算机系统内的只读存储器设备,诸如CD-ROM、DVD-R或DVD+R;
(2)存储在可重写的可记录存储介质中的可变信息,该存储介质例如硬盘驱动器(例如DASD125或126)、CD-RW、DVD-RW、DVD+RW、DVD-RAM或盘;或者
(3)由通信介质诸如通过计算机或包括无线通信的电话网络(例如网络130)传送的信息。
当执行导向本发明的功能的机器可读指令时,这样的具体信号承载介质代表本发明的实施例。
本发明的实施例还可以作为与客户公司、非赢利组织、政府实体、内部组织性结构等的服务约定的一部分而递送。这些实施例的方面可以包括将计算机系统配置为执行,以及部署实现这里所描述的部分或所有方法的计算服务(例如,计算机可读代码、硬件和Web服务)。这些实施例的方面还可以包括分析客户公司,响应于该分析来创建推荐,生成实现推荐的部分的计算机可读代码,将计算机可读代码集成到现有处理、计算机系统和计算机基础设施中,测量这里描述的系统的方法的使用,向用户分配费用,以及针对用户使用这些方法和系统而向用户计费。
另外,以下描述的各个程序可以基于在本发明的特定实施例中实现的应用而识别。但是,使用以下的任何特定程序术语仅为了方便,并且因此本发明的实施例不应该限于仅用于由这样的术语标识和/或隐含的任何特定应用中。
图1和图2所示的示例性环境不旨在限制本发明。实际上,在不偏离本发明的范围的情况下,可以使用其他替代硬件和/或软件环境。
图3示出了根据本发明的实施例的用于资源配置数据236的示例数据结构的方框图。该资源配置数据236包括记录305、310、315、320、325、330、335、340、345、350、355、360、365、370、375和380,其中每一个包括资源字段385、位置字段390和数据路径距离字段395。资源字段385标识计算机系统100中的资源。资源的示例包括处理器101,存储器102,接口设备111、112、113和114,存储器设备125和126,打印机,传真机,网络130的带宽,I/O(输入/输出)设备,能够分配给分区234-1或234-2的任何其他资源或设备,或者它们的任意部分、多个或组合。位置390标识计算机系统100内的连接或安装资源的位置、地点或定位。在一个实施例中,位置可以规定连接或安装资源的模块、板或卡。
数据路径距离字段395规定从由记录指定的资源385传送的数据必须传递到由资源配置数据236中的其他各记录指定的每个其他资源的距离。在一个实施例中,针对每个资源的数据路径距离是基于资源之间的数据传送路径上的组件数量或与该数量成比例。例如,处理器101C直接连接到模块106-2中的存储器102A,从而处理器101C仅是远离存储器102A的一个组件。与之对比,模块106-2中的存储器101C与辅助设备接口113之间的数据传送路径更长并且包括更多组件,诸如MCM互联107、MCM 106-4、I/O总线104-2、槽120-8和辅助设备接口113的组件,因为数据必须通过这些组件或由这些组件传送,作为在处理器101C和辅助设备接口113之间传送或发送的一部分。在另一个实施例中,数据路径距离也基于资源之间的数据路径上的组件的性能或被该性能加权,并且与组件的速度成反比,从而较长的数据路径距离代表较慢的组件,而较短的数据路径距离代表较快的组件。
这样,在一个实施例中,工具242基于计算机系统100中的资源或组件的数量计算资源的位置之间的数据路径距离,其中数据必须流过该计算机系统100中的资源或组件,以便在资源之间行进。在另一个实施例中,工具242基于数据必须流过的资源或组件的数量以及基于这些组件的性能特性来计算数据路径距离。性能特性的示例包括组件的容量、速度或等待时间。速度可以根据每单位时间执行的指令、时钟周期、或每单位时间传送的数据量来表达。容量是可以由组件存储、取回、接受或提供的数据量。等待时间是在组件开始向/从另一个组件或资源传送、接受、存储或提供数据之前发生的延迟。
例如,如果一个组件具有比其他组件更高的速度,则工具242可以降低针对该组件的距离或权重。或者,如果该组件具有比其他组件更低的速度,则工具242可以增加针对该组件的距离或权重。针对数据路径的总距离则是分配给数据路径内的每个组件的所有加权距离之和。
在示例记录305中,针对处理器101A的资源385的数据路径距离395示出为“0,1,2,2,2,2,2,2,3,1,3,1,3,5,3,5”,其指定处理器101A距离自己的数据路径距离是“0”,距离处理器101B的数据路径距离是“1”,距离处理器101C的数据路径距离是“2”,距离处理器101D的数据路径距离是“2”,距离存储器102A的数据路径距离是“2”,距离存储器102B的数据路径距离是“2”,距离存储器102C的数据路径距离是“2”,距离存储器102D的数据路径距离是“2”,距离连接到I/O总线104-1的槽120-1的终端接口单元111的数据路径距离是“3”,距离I/O总线104-1的槽120-2的数据路径距离是“1”,距离连接到I/O总线104-1的槽120-3的存储器接口单元112的数据路径距离是“3”,距离I/O总线104-1的槽120-4的数据路径距离是“1”,距离I/O总线104-2的槽120-5的数据路径距离是“3”,距离连接到I/O总线104-2的槽120-6的网络接口单元114的数据路径距离是“5”,距离I/O总线104-2的槽120-7的数据路径距离是“3”,距离连接到I/O总线104-2的槽120-8的辅助设备接口单元113的数据路径距离是“5”。
图4示出了根据本发明的实施例的用于资源分配数据238的示例数据结构的方框图。资源分配数据238包括示例记录405和410,其中每一个包括逻辑分区标识符字段415、等级字段420、分配的资源字段425以及位置字段430。每个记录405和410代表分配给计算机系统100内的那些资源的位置和分区的资源385。逻辑分区标识符字段415标识逻辑分区234-1或234-2。等级420代表与其他分区相比各个分区415的相对重要性或优先级,并且等级420由用户指定。分配的资源字段425指定资源,并可选地指定计算机系统100中分配给各个逻辑分区415的资源量。如果在共享或独享的基础上,逻辑分区能够使用资源、能够将数据向/从资源传送、或者如果资源能够针对分区工作或者代表分区工作,则将该资源分配给逻辑分区。位置430标识计算机系统100内的连接或安装资源425的位置、地点或定位。在一个实施例中,位置430可以指定连接或安装资源的模块、I/O总线、槽、卡或板,诸如MCM 106-1、106-2、106-3或106-4。
图5示出了根据本发明的实施例的用于分区使用历史数据240-1的示例数据结构的框图。历史数据240(图2)包括分区使用历史数据240-1。分区使用历史数据240-1包括示例记录505和510,其中每一个包括逻辑分区标识符字段515、处理器利用率字段520、存储器量字段525、以及资源之间传送的数据量字段530。记录505和510的每一个代表由逻辑分区标识符字段515标识的各个分区234-1或234-2对资源的使用历史。处理器利用率字段520指定分配给分区515的在一段时间期间由分区515实际使用的处理器容量的百分比数量。在一个实施例中,处理器利用率字段520还可以标识分配给分区515的处理器以及所分配的处理器各自的利用率。存储器量字段525标识分配给分区515的、分区515在一段时间期间实际使用的存储器102A、102B、102C或102D的百分比或量。资源之间传送的数据量字段530指示在一段时间期间在分配给分区515的资源之间传送的数据量。资源之间传送的数据量字段530可以指示分配给分区515的各个资源以及针对所分配的资源的每一个传送的数据量。
图6示出了根据本发明的实施例的动态资源分配历史数据240-2的示例数据结构的框图。历史数据240(图2)包括动态资源分配历史数据240-2。动态资源分配历史数据240-2包括示例记录605、610和612,其中每一个包括资源字段615、位置字段620、源分区标识符字段625、目的地分区标识符字段630以及时间字段635。
资源字段615标识计算机系统100中的各个资源。位置字段620标识计算机系统100内的资源615的相应位置。源分区标识符字段625标识解除分配资源615的各个分区234-1或234-2。目的地分区标识符字段630标识在从源分区625解除分配资源615之后向其分配资源615的分区234-1或234-2。时间字段635指定分配从源分区625到目的地分区630的改变的时间。这样,记录605、610和612的每一个代表从源分区625解除对相应资源615的分配,然后在时间635将该资源615分配给相应的目的地分区630。
图7示出了根据本发明的实施例的示例用户界面700的框图。工具242经由用户终端121呈现用户界面700。用户界面700包括分配指令702的指定,并允许用户发送分配指令702,该分配指令702向管理程序244指定资源715、分区705和等级710。响应于用户选择发送分配指令按钮720,用户界面700向管理程序244发送资源715的指定(其可以包括资源量)、分区的等级710的指定、以及分区705的指定。
响应于该分配指令的接收,管理程序244将指定量的指定资源715分配给各个分区705。管理程序244进一步将等级710分派给各个分区705。等级710指定分区705相对于其他分区的等级、优先级或重要性,并用于当分区竞争稀有资源时设定分区的优先级。例如,可以将彼此较接近的资源分配给具有较高等级的分区,而不是具有较低等级的分区。即,管理程序244将资源分配给分区,使得分配给较高等级分区的资源的位置之间的数据路径距离比分配给较低等级分区的资源的位置之间的数据路径距离短。
用户界面700进一步包括计算机系统100内的资源配置的推荐的改变722,该推荐的改变722以源资源725的指定的形式,其中推荐将该源资源725从计算机系统100内的源位置730移动到计算机系统100内的目标位置735。响应于推荐的配置改变722,用户可以选择在计算机系统100内物理地移动资源,或者用户可以选择忽略部分或全部推荐的配置改变722。
用户界面700进一步包括推荐的分配改变738。推荐的分配改变738可以针对分区750指定对指定资源745的分配或解除分配改变740。响应于推荐的分配改变738,用户可以选择部分或所有推荐的改变,并通过选择按钮755向管理程序244发送分配或解除分配指令。例如如果用户选择改变752并选择按钮755,则用户界面700向管理程序244发送解除分配指令,其请求管理程序244从分区234-2解除分配辅助设备接口单元113。用户还可以选择忽略推荐的改变738,在这种情况下,不将指令发送到管理程序244。
图8示出了根据本发明的实施例的用于构建和发送推荐的资源配置、分配指令和分配推荐的示例处理的流程图。控制开始于方框800。然后控制继续到方框805,其中工具242确定计算机系统100内的资源、资源的位置和资源的数据路径距离,并将描述资源、资源的位置和各种资源之间的数据路径距离的数据存储到资源配置数据236中。
然后控制继续到方框810,其中用户将资源分配指令702经由用户界面700发送到管理程序244。管理程序244接收资源分配指令,并将指定的资源分配到指定的分区,并将分区标识符415、等级420、分配的资源425和资源的位置430存储到资源分配数据238中。
然后控制继续到方框815,其中工具242收集并存储分区利用率历史数据240-1,其包括针对所有活动分区的逻辑分区标识符515、针对计算机系统100中的所有处理器的处理器利用率520、由每个分区使用的存储器量525、以及在分配给各个分区的资源之间传送的数据量530。工具242进一步读取资源分配数据238,其包括针对所有活动分区的逻辑分区标识符514、等级420、分配给各个分区的资源425、以及分配的资源的位置430。
然后控制继续到方框820,其中工具242确定推荐的资源配置722,并将该推荐的资源配置722经由用户界面700发送到用户,如下面进一步参考图9描述的那样。然后控制继续到方框825,其中工具242针对每个分区建立并向管理程序244发送分配指令,其指示管理程序244改变针对已经在分区之间频繁移动的资源的资源分配,如下面进一步参考图10描述的那样。
然后控制继续到方框830,其中工具242针对每个分区建立并向用户发送分配推荐,如果较少使用的资源(在数据路径上)远离分配给分区的其他资源,推荐从该分区解除分配较少使用的资源,如下面进一步参考图11描述的那样。
然后控制继续到方框899,其中图8的逻辑返回。
图9示出了根据本发明的实施例的用于构建和发送推荐的资源配置的示例处理的流程图。控制开始于方框900。然后控制继续到方框905,其中工具242将当前逻辑分区设置为具有等级420(其是最高等级)的逻辑分区,表示该分区与其他分区相比是最重要的或具有最高优先级。
然后控制继续到方框910,其中工具242确定计算机系统100中的当前分区是否已经在计算机系统100内的当前分区与第一位置处的(分配给当前分区的)第一资源之间传送了超过第一阈值量或百分比的数据。在方框910处,工具242通过利用逻辑分区标识符515找到分区利用率历史数据240-1中的、与当前分区的逻辑分区标识符匹配的记录,并通过将向/从各个I/O设备传送的数据量530与第一阈值量或百分比的数据进行比较,作出上述确定。例如,如果当前分区具有逻辑分区标识符“LP A”,则当前分区已经向/从网络资源传送了86.5GB(吉字节)的数据以及向/从“盘D”资源传送了14.5GB的数据,如记录505中所示。网络资源具有“MCM D”的“槽F”的位置,如记录370中(图3)所示,以及盘D资源具有槽C、“MCMA”的位置,如记录333中(图3)所示。在各个实施例中,工具242可以将86.5GB和14.5GB与第一阈值量进行比较,或者可以将86.5/(86.5+14.5)和14.5/(86.5+14.5)与第一阈值量进行比较。
如果在方框910处确定为真,则工具242发现当前分区传送了超过在计算机系统100内的当前分区与第一位置处的(分配给当前分区的)第一资源之间的第一阈值量的数据,从而控制继续到方框915,其中工具242确定当前分区是否在计算机系统100内的当前分区与第二位置处的(分配给当前分区的)任意第二资源之间传送了超过第二阈值量的数据。再一次,使用记录505的示例,如果网络I/F114是第一资源,则在方框915,工具242通过比较14.5GB与第二阈值量,或者通过比较14.5/(86.5+14.5)与第二阈值量来做出确定。
工具242进一步计算位于第一位置处的第一资源与位于第二位置处的第二资源之间的第一数据路径距离,并确定第一数据路径距离中的任一个是否大于第一阈值距离。工具242进一步确定是否任一个第三位置是开放的(如果没有另一资源安装或连接到一个位置并且该位置是可用的,则该位置是开放的)。例如,记录350、360、365和375所有都指示它们各自的位置是开放的和可用的,因为没有资源分别连接到MCM A和MCM D的槽B、D、E和G。工具242进一步计算第一位置和第三位置之间的第二数据路径距离,并确定第二数据路径距离中的任一个是否小于第二阈值距离。
在一个实施例中,工具242基于计算机系统100中的组件的数量计算数据路径距离,其中所述组件在资源之间的数据传送路径上的位置处的资源之间。在另一个实施例中,工具242基于在位置之间的数据传送路径上的计算机系统100中的组件的数量以及基于组件的性能特性,计算数据路径距离。如果当数据在位置处的资源之间传送时流过组件,则该组件位于数据传送路径上的资源位置之间,即,数据传送路径上的组件是传送数据的中间组件。例如,如图1所示,从位于MCM 106-1的CPU 101A流向位于MCM 106-4的存储器102D的数据通过组件MCM互连107在数据传送路径上流动。这样,组件MCM互连107在资源CPU 101A与存储器102D之间,并且MCM互连107在资源之间的数据传送路径上。
如果在方框915确定为真,则当前分区在位于第二位置处的至少第二资源与当前分区之间传送了超过第二阈值量的数据,至少一个第一数据路径距离大于第一阈值距离,至少一个第三位置是开放的,并且至少一个第二数据路径距离小于第二阈值距离,从而控制继续到方框920,其中工具242构建推荐的资源配置722,其推荐将相应第二位置(源位置730)处的相应第二资源(源资源725)移动到相应的第三位置(目标位置735)。然后控制继续到方框925,其中工具242确定是否存在另一逻辑分区还没有被图9的逻辑所处理。
如果在方框925处确定为真,则另一未处理的逻辑分区确实存在,从而控制继续到方框930,其中工具242将当前的逻辑分区设置为次最高等级逻辑分区。然后控制返回方框910,如前所述。
如果在方框925处确定为假,则所有逻辑分区已经由图9的逻辑处理,从而控制继续到方框935,其中工具242将推荐的资源配置722发送到用户界面700。然后控制继续到方框999,在此图9的逻辑返回。
如果在方框915处确定为假,则当前分区没有传送超过当前分区与至少一个第二资源之间的第二阈值量的数据、没有第一数据路径距离超过第一阈值距离、没有第三位置开放、或者没有第二数据路径距离小于第二阈值距离,从而控制继续到方框925,如前所述。
如果在方框910处确定为假,则当前分区在计算机系统100中的当前分区与第一资源之间没有传送超过第一阈值量或百分比的数据,从而控制继续到方框925,如前所述。
在一个实施例中,遗传算法用于确定最优推荐配置。遗传算法在多代(generations)上运行,并随机选择理论上能够交换位置的两个资源,或选择这样的两个资源,即所述两个资源向两个分区的分派理论上能够交换。例如,两个I/O总线适配器的位置理论上能够交换位置,将两个处理器分配给两个不同的分区理论上能够在分区之间交换,但是处理器和I/O适配器在理论上不能交换位置。然后,遗传算法确定从资源的交换得到的配置的效率,并且如果新的配置具有更好的效率,则保留新的配置;否则保留先前的配置。然后遗传算法进入资源位置或分派的理论交换的下一代组合。遗传算法继续通过若干代,直到已经对所选择的多代进行建模为止,并且然后遗传算法挑选具有最佳效率的建模配置。
为了确定效率,遗传算法将乘以权重的资源之间的数据路径距离相加,并利用最短累积距离选择配置。在一个实施例中,权重是基于资源彼此通信的频繁程度,其中频繁通信的设备具有较高权重,该权重与至它们位置的距离相乘。这种加权技术使得例如位于与分配给分区的资源的其他部分不同的MCM上的、使用较少的资源比经常通信的但在不同的MCM上彼此远离的两个频繁使用的资源(例如,频繁使用的处理器和存储器)具有更好的(更低的)计算效率。在另一个实施例中,其他算法可以用于例如小的配置,检查所有可能资源的所有可能位置的穷尽算法可以用于确定最佳配置。
图10示出了根据本发明的实施例的用于构建和发送分配指令的示例处理的流程图。控制开始于方框1000。然后控制继续到方框1005,其中工具242将当前的逻辑分区设置为与计算机系统100中的其他分区相比具有最高等级420的逻辑分区。
然后控制继续到方框1010,其中工具242选择当前位置处的当前资源,其中在过去(由管理程序244)对当前资源的分配从当前分区到第二分区以及从第二分区到当前分区的改变超过计算的预定量。即,在过去的某一时间(记录中的时间635,在该记录中当前资源与资源615匹配),管理程序244从当前分区解除分配当前资源(当前分区与源分区625匹配),并且将当前资源分配到第二分区(在该记录中,第二分区与目的地分区630匹配)。此外,在过去的另一时间(另一记录中的时间635,在该记录中当前资源与资源615匹配),管理程序244还从第二分区解除分配当前资源,并且将当前资源分配到当前分区(在该记录中,第二分区与源分区625匹配,并且当前分区与目的地分区630匹配)。在一个实施例中,基于资源量和分配然后解除分配资源的次数,对在分区之间分配和解除分配资源的次数以及计算的阈值量加权。例如,如图6所示,位于MCM D 106-4处的存储器的16GB的资源令其分配从逻辑分区LPB移动(解除分配然后分配)到LP A,如记录612所示,并且令其分配从逻辑分区LP A移动(解除分配然后分配)到LP B的分配,如记录605所示。因此,资源令其分配在当前分区与第二分区之间改变两次,并且该资源量是16GB,从而应用加权因子2×16GB=32GB,从而当在方框1010做出确定时,工具242比较32GB与阈值。
在一个实施例中,工具242计算阈值量,其将是针对第二最多改变的资源的分配改变量。即,与在当前分区与第二分区之间交换其分配的其他资源相比,工具242选择在当前分区和第二分区之间其分配改变得最多的当前资源(在当前分区与第二分区之间其分配交换得最多的当前资源)。
然后控制继续到方框1015,其中工具242选择折衷位置处的等效资源,其中折衷位置在当前分区的分区位置以及第二分区的分区位置的第三阈值数据路径距离内。工具242选择等效资源,其具有与当前资源等效或相同类型。例如,如果当前资源是存储器(具有存储器类型),工具242选择也为存储器的等效资源;如果当前资源是处理器器(具有处理器类型),则工具242选择也为处理器的等效资源。工具242进一步选择具有与当前资源相同或更大容量或量的等效资源。例如,如果当前资源具有16GB的量,则工具242选择具有的量或容量大于或等于16GB的等效资源。等效资源不同于当前资源,因为等效资源位于计算机系统100中的不同位置,即,等效资源的折衷位置不同于当前资源的当前位置。
在一个实施例中,当前分区的分区位置是处理器的位置,该处理器在分配给当前分区的所有处理器中具有最高利用率。在另一个实施例中,当前分区的分区位置是在其上安装了分配给当前分区的最大量的存储器的模块的位置。在另一个实施例中,当前分区的分区位置是,当与分配给当前分区的所有其他资源相比时,分配给在一段时间内传送了最大数据量的当前分区的资源的位置。工具242构建分配指令,其指定选择的等效资源,并指定选择的等效资源的量,其中等效资源已经被分配给当前逻辑分区以及第二逻辑分区。
然后控制继续到方框1020,其中工具242确定是否存在另一逻辑分区没有被图10的逻辑处理。如果在方框1020处确定为真,则存在另一逻辑分区保持由图10的逻辑处理,从而控制继续到方框1025,其中工具242将当前逻辑分区设置为具有次最高等级的逻辑分区。然后控制返回方框1010,如前所述。
如果在方框1020处确定为假,则计算机系统100中的所有逻辑分区已经被图10的逻辑所处理,从而控制继续到方框1030,其中工具242向管理程序244发送分配指令。管理程序244响应于分配指令,在折衷位置处将在分配指令中指定的等效资源分配到当前分区,而不是在当前位置处的当前资源。然后控制继续到方框1099,其中图10的逻辑返回。
图11示出了根据本发明的实施例的用于构建和发送分配推荐的示例处理的流程图。控制开始于方框1100。然后控制继续到方框1105,其中工具将当前逻辑分区设置为计算机系统100中的具有最高等级的逻辑分区。然后控制继续到方框1110,其中工具242发现第一位置处的第一资源,其被分配给当前分区。工具242进一步发现当前分区向第一资源传送了第一数据量,并且第一数据量小于阈值数据量。
然后控制继续到方框1115,其中工具242确定第一位置距分配给当前分区的所有其他资源的位置是否大于(数据传送路径上的)阈值距离。即,工具242确定在第一位置和分配给当前分区的所有其他资源的位置之间的所有数据路径距离是否大于阈值距离。
如果在方框1115确定为真,则在第一位置和分配给当前分区的所有其他资源的位置之间的所有数据路径距离都大于阈值距离,从而控制继续到方框1120,其中工具242找到第二位置处的(分配给当前分区的)第二资源,其具有在当前分区(与分配给当前分区的其他资源相比)之间(向当前分区和/或从当前分区)传送的最大量的数据530,或者工具242找到第二位置处的第二资源,其中第二资源是分配给当前分区的处理器并且具有大于利用率阈值的利用率520。
然后控制继续到方框1125,其中工具242确定第三位置是否是开放的,该第三位置比第一位置更接近于第二位置。即工具242确定第三位置是否空闲或者确定第三位置是否当前没有连接到资源,并确定从第三位置到第二位置的数据路径距离小于从第一位置到第二位置的数据路径距离。
如果在方框1125处确定为真,则第三位置在计算机系统100中是开放的,并且第三位置比第一位置更接近于第二位置,从而控制继续到方框1130,其中工具242构建推荐配置,其推荐将第一资源移动到第三位置。然后控制继续到方框1135,其中工具242确定是否存在另一个逻辑分区还没有被图11的逻辑处理。如果在方框1135处确定为真,则另一未处理的逻辑分区确实存在,从而控制继续到方框1140,其中工具242将当前逻辑分区设置为具有次最高等级的下一个未处理的逻辑分区。然后控制返回框1110,如前所述。
如果在方框1135处确定为假,则所有逻辑分区已经被图11的逻辑处理,从而控制继续到方框1145,其中工具242向用户界面700发送推荐的配置722(如果存在),其推荐将第一资源(源资源725)从第一位置(源位置730)移动到第三位置(目标位置735)。然后控制继续到方框1199,在此图11的逻辑返回。
如果在方框1125处确定为假,则计算机系统100中的第三位置不是开放的,或者计算机系统100中的任何开放的位置不比第一位置更接近于第二位置,从而控制继续到方框1135,如前所述。
如果在方框1115处确定为假,则第一位置距分配给当前分区的所有其他资源的所有其他位置不大于阈值数据路径距离,即,在第一位置和分配给当前分区的所有其他资源的位置之间的所有数据路径距离不大于阈值距离,从而控制继续到方框1150,其中工具242构建解除分配推荐,其推荐将第一资源从当前分区解除分配。然后控制继续到方框1135,其中工具242确定是否存在另一逻辑分区还未由图11的逻辑处理。如果在方框1135处确定为真,则另一逻辑分区确实存在,从而控制继续到方框1140,如前所述。
如果在方框1135处确定为假,则所有逻辑分区已经由图11的逻辑处理,从而控制继续到方框1145,其中工具242向用户界面700发送解除分配推荐738和推荐的配置(如果存在)。然后控制继续到方框1199,在此图11的逻辑返回。
图12示出了根据本发明的实施例的用于执行分配指令的示例处理的流程图。控制开始于方框1200,然后控制继续到方框1205,其中管理程序244从工具242或用户界面700接收分配或解除分配指令。然后控制继续到方框1210,其中管理程序244向/从计算机系统100中的指定分区执行分配或解除分配指定位置处的指定资源。然后控制继续到方框1299,在此图12的逻辑返回。
在本发明的示例性实施例的先前的详细描述中,参考了形成这里的一部分的附图(其中相同标号表示相同元件),并且其中借助于可以实现本发明的特定示例性实施例的示例来示出。以充分的细节描述了这些特定示例性实施例,从而使得本领域的技术人员能够实现本发明,但是可以使用其他实施例,以及可以做出逻辑的、机械的、电的以及其他变化,而不偏离本发明的范围。在先前的描述中,阐述了大量的特定细节,以提供对本发明的实施例的透彻理解。但是在没有这些特定细节时也可以实现本发明。在其他情况下,为了不至于混淆本发明,没有详细示出公知的电路、结构和技术。
在本说明书中使用的词语“实施例”的不同实例不必涉及相同的实施例,但是它们可以涉及相同实施例。这里示出或描述的任何数据和数据结构仅是示例性的,并且在其他实施例中,可以使用不同的数据量、数据类型、字段、字段的数量和类型、字段名称、行数和行类型、记录、条目或数据的组织。另外,任何数据可以与逻辑相结合,从而单独的数据结构不是必须的。因此,先前的详细描述不应认为是限制性的,并且本发明的范围仅由所附权利要求限定。

Claims (15)

1.一种用于在逻辑分区的计算机系统中推荐移动资源的方法,包括:
发现逻辑分区的计算机系统中的第一分区,该第一分区在该第一分区和第一位置处的第一资源之间传送了大于第一阈值量的数据;
确定该第一分区在该第一分区和第二位置处的第二资源之间传送了大于第二阈值量的数据;
计算该第一位置和该第二位置之间的第一数据路径距离大于第一阈值距离;
算出第三位置没有安装或连接另一资源并且是可用的,并且该第一位置和该第三位置之间的第二数据路径距离小于第二阈值距离;以及
响应于所述发现、所述确定、所述计算以及所述算出,推荐将该第二资源移动到该第三位置。
2.根据权利要求1所述的方法,其中所述计算进一步包括:
基于该计算机系统中的该第一位置和该第二位置之间的组件的数量,计算所述第一数据路径距离。
3.根据权利要求1所述的方法,其中所述计算进一步包括:
基于该计算机系统中的该第一位置和该第二位置之间的组件的数量以及基于所述组件的性能特性,计算所述第一数据路径距离。
4.根据权利要求1所述的方法,进一步包括:
选择当前位置处的当前资源,该当前资源的分配从当前分区到第二分区以及从该第二分区到该当前分区的改变超过一阈值量;以及
选择折衷位置处的等效资源,其中所述折衷位置在所述当前分区的分区位置和所述第二分区的分区位置的第三阈值距离内。
5.根据权利要求4所述的方法,进一步包括:
将所述等效资源而不是所述当前资源分配给所述当前分区。
6.根据权利要求4所述的方法,其中所述当前分区的分区位置包括分配给所述当前分区的处理器的位置,其中所述处理器具有比分配给所述当前分区的所有其他处理器更高的利用率。
7.根据权利要求4所述的方法,其中所述当前分区的分区位置包括模块的位置,所述模块包括分配给所述当前分区的存储器的量,其中所述存储器的量大于从其他模块分配给所述当前分区的所有其他存储器的量。
8.根据权利要求4所述的方法,其中所述当前分区的分区位置包括分配给所述当前分区的资源的位置,其中与分配给所述当前分区的所有其他资源相比,该资源传送了较大量的数据。
9.用于在逻辑分区的计算机系统中推荐移动资源的系统,包括:
用于发现逻辑分区的计算机系统中的第一分区的装置,该第一分区在该第一分区和第一位置处的第一资源之间传送了大于第一阈值量的数据;
用于确定该第一分区在该第一分区和第二位置处的第二资源之间传送了大于第二阈值量的数据的装置;
用于计算该第一位置和该第二位置之间的第一数据路径距离大于第一阈值距离的装置;
用于算出第三位置没有安装或连接另一资源并且是可用的、并且该第一位置和该第三位置之间的第二数据路径距离小于第二阈值距离的装置;以及
用于响应于所述用于发现逻辑分区的计算机系统中的第一分区的装置、所述用于确定该第一分区在该第一分区和第二位置处的第二资源之间传送了大于第二阈值量的数据的装置、所述用于计算该第一位置和该第二位置之间的第一数据路径距离大于第一阈值距离的装置以及所述用于算出第三位置没有安装或连接另一资源并且是可用的、并且该第一位置和该第三位置之间的第二数据路径距离小于第二阈值距离的装置,而推荐将所述第二资源移动到所述第三位置的装置。
10.根据权利要求9所述的系统,其中所述用于计算该第一位置和该第二位置之间的第一数据路径距离大于第一阈值距离的装置进一步包括:
用于基于该计算机系统中的该第一位置和该第二位置之间的组件的数量,计算所述第一数据路径距离的装置。
11.根据权利要求9所述的系统,其中所述用于计算该第一位置和该第二位置之间的第一数据路径距离大于第一阈值距离的装置进一步包括:
用于基于该计算机系统中的该第一位置和该第二位置之间的组件的数量以及基于所述组件的性能特性,计算所述第一数据路径距离的装置。
12.根据权利要求9所述的系统,进一步包括:
用于选择当前位置处的当前资源的装置,该当前资源的分配从当前分区到第二分区以及从该第二分区到该当前分区的改变超过一阈值量;以及
用于选择折衷位置处的等效资源的装置,其中所述折衷位置在所述当前分区的分区位置和所述第二分区的分区位置的第三阈值距离内。
13.根据权利要求12所述的系统,进一步包括:
用于将所述等效资源而不是所述当前资源分配给所述当前分区的装置。
14.根据权利要求12所述的系统,其中所述当前分区的分区位置包括分配给所述当前分区的处理器的位置,其中所述处理器具有比分配给所述当前分区的所有其他处理器更高的利用率。
15.根据权利要求12所述的系统,其中所述当前分区的分区位置包括模块的位置,所述模块包括分配给所述当前分区的存储器的量,其中所述存储器的量大于从其他模块分配给所述当前分区的所有其他存储器的量。
CNB2008100015834A 2007-01-15 2008-01-14 用于在分区的计算机中推荐移动资源的系统和方法 Active CN100543689C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/623,203 US8112524B2 (en) 2007-01-15 2007-01-15 Recommending moving resources in a partitioned computer
US11/623,203 2007-01-15

Publications (2)

Publication Number Publication Date
CN101226490A CN101226490A (zh) 2008-07-23
CN100543689C true CN100543689C (zh) 2009-09-23

Family

ID=39618756

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2008100015834A Active CN100543689C (zh) 2007-01-15 2008-01-14 用于在分区的计算机中推荐移动资源的系统和方法

Country Status (2)

Country Link
US (1) US8112524B2 (zh)
CN (1) CN100543689C (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5596343B2 (ja) * 2007-04-13 2014-09-24 日本電気株式会社 仮想計算機システムおよびその最適化方法
US20080270653A1 (en) * 2007-04-26 2008-10-30 Balle Susanne M Intelligent resource management in multiprocessor computer systems
US8140817B2 (en) * 2009-02-24 2012-03-20 International Business Machines Corporation Dynamic logical partition management for NUMA machines and clusters
US20100229175A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
US8719831B2 (en) * 2009-06-18 2014-05-06 Microsoft Corporation Dynamically change allocation of resources to schedulers based on feedback and policies from the schedulers and availability of the resources
US8745633B2 (en) * 2010-05-11 2014-06-03 Lsi Corporation System and method for managing resources in a partitioned computing system based on resource usage volatility
US8839239B2 (en) * 2010-06-15 2014-09-16 Microsoft Corporation Protection of virtual machines executing on a host device
US8745207B2 (en) * 2010-07-15 2014-06-03 Lsi Corporation System and method for managing computer applications running among computing systems based on their resource usage volatility
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9021179B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9116788B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
US9116789B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Chaining move specification blocks
US9323668B2 (en) * 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9058243B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US20140310493A1 (en) * 2013-04-11 2014-10-16 International Business Machines Corporation Migrating data across storages with dissimilar allocation sizes
US9535746B2 (en) 2013-12-19 2017-01-03 International Business Machines Corporation Honoring hardware entitlement of a hardware thread
US10148592B1 (en) * 2015-06-29 2018-12-04 Amazon Technologies, Inc. Prioritization-based scaling of computing resources
US10021008B1 (en) 2015-06-29 2018-07-10 Amazon Technologies, Inc. Policy-based scaling of computing resource groups
US9928097B1 (en) * 2015-09-14 2018-03-27 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for defining and updating a virtual computing system comprising distributed resource components
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US10908940B1 (en) * 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
US11023287B2 (en) * 2019-03-27 2021-06-01 International Business Machines Corporation Cloud data center with reduced energy consumption

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658591B1 (en) * 2000-06-08 2003-12-02 International Business Machines Corporation Recovery from data fetch errors in hypervisor code
US7523454B2 (en) * 2001-03-06 2009-04-21 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a partitioned server
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US6711700B2 (en) * 2001-04-23 2004-03-23 International Business Machines Corporation Method and apparatus to monitor the run state of a multi-partitioned computer system
US7694303B2 (en) * 2001-09-25 2010-04-06 Sun Microsystems, Inc. Method for dynamic optimization of multiplexed resource partitions
JP3879471B2 (ja) * 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US6820217B2 (en) * 2001-10-29 2004-11-16 International Business Machines Corporation Method and apparatus for data recovery optimization in a logically partitioned computer system
US7565398B2 (en) * 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
US6912625B2 (en) * 2003-01-09 2005-06-28 International Business Machines Corporation Method, system, and computer program product for creating and managing memory affinity in logically partitioned data processing systems
US8135795B2 (en) * 2003-04-03 2012-03-13 International Business Machines Corporation Method to provide on-demand resource access
US6976137B2 (en) * 2003-04-24 2005-12-13 International Business Machines Corporation Preservation of memory associated with a hypervisor partition
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US7877754B2 (en) * 2003-08-21 2011-01-25 International Business Machines Corporation Methods, systems, and media to expand resources available to a logical partition
US20060161753A1 (en) * 2005-01-18 2006-07-20 Aschoff John G Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
JP4733399B2 (ja) * 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7493515B2 (en) * 2005-09-30 2009-02-17 International Business Machines Corporation Assigning a processor to a logical partition
US7624262B2 (en) * 2006-12-20 2009-11-24 International Business Machines Corporation Apparatus, system, and method for booting using an external disk through a virtual SCSI connection

Also Published As

Publication number Publication date
CN101226490A (zh) 2008-07-23
US8112524B2 (en) 2012-02-07
US20080172672A1 (en) 2008-07-17

Similar Documents

Publication Publication Date Title
CN100543689C (zh) 用于在分区的计算机中推荐移动资源的系统和方法
CN107430528B (zh) 机会性资源迁移以优化资源放置
JP5159884B2 (ja) 論理区分の間におけるネットワーク・アダプタ・リソース割振り
CN102082692B (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
US8972983B2 (en) Efficient execution of jobs in a shared pool of resources
CN100390740C (zh) 为被先占的虚拟处理器分配应得处理器周期的方法和系统
US20100229175A1 (en) Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
CN109710405B (zh) 区块链智能合约管理方法、装置、电子设备及存储介质
US10616134B1 (en) Prioritizing resource hosts for resource placement
US7099814B2 (en) I/O velocity projection for bridge attached channel
CN105187512A (zh) 一种虚拟机集群负载均衡方法及系统
CN103827803A (zh) 用于在存储网络中进行性能优化的计算机系统及管理系统
EP4187813A1 (en) Resource distribution method for cloud service and related device
US20230006891A1 (en) Techniques and architectures for efficient allocation of under-utilized resources
KR20220014325A (ko) 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템
CN101789962A (zh) 分布式系统中交换服务的方法、装置和系统
KR102351426B1 (ko) 사용 목적에 적합한 가상 머신을 추천하는 방법 및 이를 구현하는 가상 머신 추천 시스템
CN113204421A (zh) 无服务器功能与存储池的同分布
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
CN111147556A (zh) 一种负载均衡方法、装置、设备及存储介质
US10721181B1 (en) Network locality-based throttling for automated resource migration
US11941296B2 (en) Intelligent storage of messages in page sets
US11842213B2 (en) Cooling-power-utilization-based workload allocation system
WO2022223047A1 (zh) 数据读写方法、数据读写控制器及存储介质
Pascual et al. A fast implementation of the first fit contiguous partitioning strategy for cubic topologies

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