CN1707462A - 用于动态托管分区页面分配的方法和设备 - Google Patents
用于动态托管分区页面分配的方法和设备 Download PDFInfo
- Publication number
- CN1707462A CN1707462A CN200510054112.6A CN200510054112A CN1707462A CN 1707462 A CN1707462 A CN 1707462A CN 200510054112 A CN200510054112 A CN 200510054112A CN 1707462 A CN1707462 A CN 1707462A
- Authority
- CN
- China
- Prior art keywords
- subregion
- data
- memory areas
- handling system
- memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000005192 partition Methods 0.000 title abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 7
- 230000004044 response Effects 0.000 abstract description 5
- 238000003860 storage Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013142 basic testing Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005469 granulation Methods 0.000 description 1
- 230000003179 granulation Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Abstract
一种用于传输数据的方法,设备和计算机指令。在分配给逻辑分区数据处理系统中第一分区的存储器区内接收第一分区中的数据,以形成接收数据。当判定接收数据是针对第二分区时,将存储器区分配给第二分区。从而,第二分区可访问在存储器区中的数据。
Description
技术领域
本发明通常涉及改进型数据处理系统,具体涉及用于传输数据的改进型方法和设备。更具体而言,本发明涉及一种用于在逻辑分区的数据处理系统中从一个分区向另一分区传输数据的改进型方法,设备和计算机指令。
背景技术
越来越大型的对称多处理器数据处理系统,如可从IBM公司获得的IBM eSever P690,可从Hewlett-Packard公司获得的DHP9000Superdome Enterprise Sever,可从Sun Microsystems公司获得的Sunfire 15K服务器,不是被用作单个大型数据处理系统。而是将这些类型的数据处理系统进行分区,以将其用作更小的系统。这些系统还被称为逻辑分区(LPAR)的数据处理系统。在数据处理系统内进行逻辑分区的功能允许在单个数据处理系统平台上同时运行单个操作系统的多个拷贝或多个异构型操作系统。其中运行操作系统映象的分区被指派平台资源的非重叠子集。这些平台可分配资源包括一个或多个体系结构不同,具有各自中断管理区、系统存储器区和输入/输出(I/O)适配器总线槽的处理器。分区的资源由平台固件提供给操作系统映象。
运行在平台内的每个不同操作系统或操作系统的映象彼此之间受到保护,以使在一个逻辑分区上的软件错误不会影响任何其他分区的正确操作。通过分配所要由各操作系统映象直接管理的平台资源的不相交集合,以及提供用于确保各个映象不会控制未分配给该映象的任何资源,从而提供该保护。此外,防止在操作系统分配资源的控制中出现的软件错误影响任何其他映象的资源。
这样,操作系统的每个映象或每个不同的操作系统直接控制在平台内可分配资源的不同集合。至于在逻辑分区的数据处理系统中的硬件资源,这些资源在多个分区之间不相交地共享。这些资源可包括,例如,输入/输出(I/O)适配器,存储器DIMM,非易失性随机存取存储器(NVRAM)和硬盘驱动器。在不必重开启整个数据处理系统的条件下,可对LPAR数据处理系统内的每个分区反复进行引导启动和关闭。
在逻辑分区环境中,一个分区通常托管(host)输入/输出(I/O)请求,如从与该分区相关的网络适配器接收的那些请求。数据从用于网络适配器的固定(pinned)存储器区拷贝到用于托管I/O请求的分区的局部存储器区。该分区通常称作托管(hosting)分区。如果除托管分区之外的另一分区请求数据,则数据从用于托管分区的局部存储器区拷贝到用于请求分区的局部存储器区。
与不分区的系统相比,该当前使用的用于传输数据的系统需要附加的数据拷贝操作。在不分区的系统中,数据从适配器的存储器区拷贝到主存储器,数据在那里可由应用使用以便进行处理。相反,在逻辑分区的数据处理系统中,需要进一步的拷贝操作以将数据从与托管分区相关的存储器区拷贝到请求数据的分区的存储器区。
该附加操作需要额外的处理器资源和时间。从而,当出现大量数据请求时,可导致性能下降。因此,最好提供一种用于对请求分区提供对逻辑分区数据处理系统中的数据的访问的改进型方法,设备和计算机指令。
发明内容
本发明提供了用于传输数据的方法,设备和计算机指令。在逻辑分区数据处理系统中,在分配给第一分区的存储器区内接收第一分区中的数据,以形成接收数据。当确定接收数据是针对第二分区时,将存储器区分配给第二分区。从而,第二分区可访问存储器区中的数据。
附图说明
在所附权利要求中给出了被认为是本发明特性的新颖特征。不过,结合附图,参照后面说明性实施例的详细描述,将更好地理解本发明本身,和优选实施方式,以及其目的和优点,其中:
图1的框图表示可实现本发明的数据处理系统;
图2的框图表示可实现本发明的示例性逻辑分区平台;
图3表示,根据本发明优选实施例,将数据从一个分区传递到另一个分区时用到的部件;
图4A-4B表示,根据本发明的优选实施例,从一个分区到另一分区的页面再分配;
图5A-5E表示根据本发明优选实施例的动态页面分配;
图6表示,根据本发明优选实施例,用于将数据从一个分区传输到另一分区的过程的流程图;以及
图7表示,根据本发明优选实施例,用于获得数据访问的过程的流程图。
具体实施方式
现参照附图,具体参照图1,图1的框图表示可实现本发明的数据处理系统。数据处理系统100可为包括与系统总线106相连的多个处理器单元101,102,103和104的对称多处理器(SMP)系统。例如,数据处理系统100可为纽约Armonk的IBM公司的产品IBMeSever,该产品被实现为网络内的服务器。或者可使用单处理器系统。与系统总线106相连的还有存储器控制器/高速缓存108,存储器控制器/高速缓存108提供到多个局部存储器160~163的接口。I/O总线桥110与系统总线106相连,并提供到I/O总线112的接口。可按如所述方式集成存储器控制器/高速缓存108和I/O总线桥110。
数据处理系统100为逻辑分区(LRAR)的数据处理系统。从而,数据处理系统100可具有同时运行的多个异构型操作系统(或单个操作系统的多个实例)。这多个操作系统的每个均可具有在其中执行的任何数量的软件程序。对数据处理系统100进行逻辑分区,使得可将不同的PCI I/O适配器120~121,128~129和136,图形适配器148,和硬盘适配器149指派给不同的逻辑分区。在此情形中,图形适配器148提供用于显示设备(未示出)的连接,而硬盘适配器149提供用于控制硬盘150的连接。
从而,例如假设将数据处理系统100分为三个逻辑分区P1,P2和P3。各PCI I/O适配器120~121,128~129,136,图形适配器148,硬盘适配器149,各处理器单元101~104,以及局部存储器160~163中的存储器被分配给三个分区的每个分区。在这些示例中,存储器160~163可采用双列直插存储器模块(DIMM)的形式。通常不会逐个DIMM地向分区分配DIMM。而是,分区将获得由平台所看到的整个存储器的一部分。例如,可将处理器101,局部存储器160~163中的某部分存储器,以及I/O适配器120,128和129分配给逻辑分区P1;将处理器102~103,局部存储器160~163中的某部分存储器,以及PCI I/O适配器121和136分配给逻辑分区P2;将处理器104,局部存储器160~163中的某部分存储器,图形适配器148和硬盘适配器149分配给逻辑分区P3。
将执行在数据处理系统100内的每个操作系统分配给不同的逻辑分区。这样,执行在数据处理系统100内的每个操作系统只可访问在其逻辑分区内的那些I/O单元。从而,例如先进交互执行程序(AIX)操作系统的一个实例可执行在分区P1内,AIX操作系统的第二个实例(映象)可执行在分区P2内,Linux或OS/400操作系统可操作在逻辑分区P3内。
与I/O总线112相连的外设部件互连(PCI)主机桥114提供到PCI局部总线115的接口。可通过PCI至PCI桥116,PCI总线118,PCI总线119,I/O槽170,和I/O槽171将多个PCI输入/输出适配器120~121与PCI总线115相连。PCI至PCI桥116提供到PCI总线118和PCI总线119的接口。PCI I/O适配器120和121分被设置在I/O槽170和171中。典型的PCI总线设备将支持四和八个之间的I/O适配器(即用于内插连接器的扩展槽)。每个PCI I/O适配器120~121在数据处理系统100与输入/输出设备(例如作为数据处理系统100的客户机的其他网络计算机)之间提供接口。
附加PCI主机桥122为附加PCI总线123提供接口。PCI总线123与多个PCII/O适配器128~129相连。PCI I/O适配器128~129可通过PCI至PCI桥124,PCI总线126,PCI总线127,I/O槽172,和I/O槽173与PCI总线123相连。PCI至PCI桥124提供到PCI总线126和PCI总线127的接口。PCI I/O适配器128和129分别设置在I/O槽172和173中。以此方式,可通过各PCI I/O适配器128~129支持附加I/O设备,如调制解调器或网络适配器。从而,数据处理系统100允许到多个网络计算机的连接。
插到I/O槽174中的存储器映射图形适配器148可通过PCI总线144,PCI至PCI桥142,PCI总线141,和PCI主机桥140与I/O总线112相连。硬盘适配器149可放置在I/O槽175中,I/O槽175与PCI总线145相连。该总线又与PCI至PCI桥142相连,PCI至PCI桥142通过PCI总线141与PCI主机桥140相连。
PCI主机桥130提供用于使PCI总线131连接到I/O总线112的接口。PCI I/O适配器136与I/O槽176相连,I/O槽176通过PCI总线133与PCI至PCI桥132相连。PCI至PCI桥132与PCI总线131相连。该PCI总线还将PCI主机桥130与服务处理器邮箱接口和ISA总线访问通路逻辑194,以及PCI至PCI桥132相连。服务处理器邮箱接口和ISA总线访问通路逻辑194转发寻的到PCI/ISA桥193的PCI访问。NVRAM存储设备192与ISA总线196相连。服务处理器135通过其局部PCI总线195与服务处理器邮箱接口和ISA总线访问通路逻辑194相连。服务处理器135还通过多个JTAG/I2C总线134与处理器101~104相连。JTAG/I2C总线134为JTAG/scan总线(参见IEEE 1149.1)和Phillips I2C总线的组合。不过,可选地,可仅用Phillips I2C总线或仅用JTAG/scan总线来代替JTAG/I2C总线134。主机处理器101,102,103和104的所有SP-ATTN信号一起连接到服务处理器的中断输入信号。服务处理器135具有其自身的局部存储器191,并具有对硬件OP-面板(hardware OP-panel)190的访问。
当初次给数据处理系统100加电时,服务处理器135使用JTAG/I2C总线134询问系统(主机)处理器101~104,存储器控制器/高速缓存108,和I/O桥110。完成该步骤后,服务处理器135具有关于数据处理系统100的清单(inventory)和拓扑的理解。服务处理器135还对通过询问主机处理器101~104,存储器控制器/高速缓存108,和I/O桥110而发现的所有部件执行内置自检(BIST,Built-In-Self-Test),基本保证测试(BAT,Basic Assurance Test),和存储器测试。由服务处理器135收集和报告有关在BIST,BAT,以及存储器测试期间所检测的失效的所有错误信息。
如果在取消BIST,BAT以及存储器测试期间发现有错误的部件之后仍可能存在有意义/有效的系统资源配置,则允许数据处理系统100继续将可执行码装载到局部(主机)存储器160~163中。然后,服务处理器135释放处理器单元101~104,以执行加载到局部存储器160~163中的代码。当处理器单元101~104正执行来自数据处理系统内各自操作系统的代码时,服务处理器135进入监控并报告错误的模式。由服务处理器135监控的项目的类型包括例如冷却风扇的转速和操作,热传感器,电源调节器,和由处理器单元101~104,局部存储器160~163,和I/O桥110报告的可恢复和不可恢复错误。
服务处理器135负责保存和报告关于在数据处理系统100中所有监控项目的错误信息。服务处理器135还基于错误类型和所定义的阈值采取行动。例如,服务处理器135可注意到处理器的高速缓冲存储器上有过多的可恢复错误,并判定这是硬故障的预示。基于此判定,服务处理器135可标记该资源以在当前运行会话和未来初始程序装入(IPL,Initial Program Load)期间解除配置(deconfiguration)。IPL有时又称为“引导”或“自举”。
数据处理系统100可使用市场上可获得的各种计算机系统来实现。例如,可使用可从IBM公司获得的IBM eSever iSeries Model 840系统来实现数据处理系统100。这种系统可支持使用OS/400操作系统进行逻辑分区,OS/400操作系统也可从IBM公司获得。
本领域普通技术人员应该理解,可对在图1中所示硬件进行变化。例如,除所示硬件外,还可使用其他外设,如光盘驱动器等,或者用这些外设代替所示硬件。所述示例并不意在表示对本发明进行结构上的限制。
现参照图2,图2的框图表示可实现本发明的示例性逻辑分区的平台。可将在逻辑分区平台200中的硬件实现为例如图1所示的数据处理系统100。逻辑分区平台200包括分区硬件230,操作系统202,204,206,208,和系统管理程序210。操作系统202,204,206,208可为同时运行在平台200上的单个操作系统的多个拷贝或多个异构型操作系统。可使用OS/400实现这些操作系统,OS/400被设计为与分区管理固件如系统管理程序接口。在这些示意性实施例中,OS/400仅用作示例。当然,还可根据具体实施方式,使用其他类型的操作系统,如AIX和Linux。操作系统202,204,206,208处在分区203,205,207和209中。系统管理程序软件为可用于实现分区管理固件210的软件示例,并可从IBM公司获得。固件是存储在存储器芯片(在不供电的条件下它还可保持其内容),例如,只读存储器(ROM),可编程ROM(PROM),可擦可编程ROM(EPROM),电可擦可编程ROM(EEPROM),和非易失性随机存储存储器(非易失性RAM)中的“软件”。
另外,这些分区还包括分区固件211,213,215,和217。可使用初始引导程序代码,IEEE-1275标准开放固件,和运行时抽象软件(RTAS,runtime abstraction software)来实现分区固件211,213,215和217,RTAS可从IBM公司获得。当实例化分区203,205,207和209时,通过平台固件210将引导程序代码的拷贝加载到分区203,205,207和209上。之后,将控制转移到引导程序代码,然后,由引导程序代码加载开放固件和RTAS。从而,将与分区相关或分配给分区的处理器分派给分区的存储器,以执行分区固件。
分区硬件230包括多个处理器232~238,多个系统存储器单元240~246,多个输入/输出(I/O)适配器248~262,和存储单元270。可将各处理器232~238,存储器单元240~246,NVRAM存储设备298,和I/O适配器248~262分配给逻辑分区平台200内的多个分区的其中一个,每个分区与操作系统202,204,206和208中的一个相对应。
分区管理固件210执行分区203,205,207和209的多个功能和服务,以创建并实施逻辑分区平台200的分区。分区管理固件210是等同于基本硬件的固件实现的虚拟机。从而,分区管理固件210允许通过虚拟化逻辑分区平台200的所有硬件资源使独立的OS映象202,204,206和208同时执行。
服务处理器290可用来提供多种服务,如对分区中平台错误的处理。这些服务还可用作服务代理,以向供应商如IBM公司报告错误。不同分区的操作可通过硬件管理控制台(如硬件管理控制台280)来控制。硬件管理控制台280是分立的数据处理系统,系统管理员通过该数据处理系统可执行多种功能,包括对不同分区的资源再分配。
本发明提供了用于在逻辑分区的数据处理系统中将数据从一个分区传输到另一个分区的改进型方法,设备和计算机指令。当寻的到另一分区的数据到达托管分区时,托管分区避免当前使用的将数据从托管分区的局部存储器区拷贝到请求分区的存储器区的拷贝步骤或操作。该附加拷贝操作的避免是通过将托管分区的存储器区再分配给该数据所寻的的分区来实现的。
下面参看图3,其中根据本发明优选实施例描述了图解在将数据从一个分区传递到另一个分区时用到的部件的图例。在该示意性示例中,分区300为托管分区,其接收I/O操作中的数据。该数据例如可通过分配给分区300的网络适配器来接收。分区302为需要分区300所接收的数据的请求分区。
在这些示意性示例中,存储器304包含有可分配给分区300和分区302的存储器区。对存储器304中的数据的访问通过平台固件306来处理。将存储器304内的存储器区向不同区的分配可通过存储器映象308来跟踪。
页310为存储器304中的存储器区,它包含有分区300所接收的数据。页310被分配给分区300,且不能被分区302所访问。分区302需要访问页310中的数据。通常在没有本发明机制的情况下,将该页中的数据拷贝到分配给分区302的存储器区。该拷贝步骤通过使用本发明的机制而得以避免。
不是将页310中的数据拷贝到另一存储器区,而是将该存储器区再分配给分区302。在这些示例中,按照示意性示例中基于页尺寸的增量对再分配的存储器区,如页310,进行再分配。当然,根据具体实施方式,还可使用其他尺寸。
一旦托管分区中的页310填满了所请求的数据。则通过对平台固件306的调用,将存储器区,即页310分配给请求分区,即分区302,从而,将指针结构312传递到请求分区,即分区302。
该固件例如可为可从IBM公司获得的系统管理程序。
在所述示例中的指针结构312包含页中的存储器区的地址和存储器区的长度。在该示意性示例中,指针结构312包含页310的地址,页310的长度为1表明是单页。在请求分区中的应用程序处理了页310中的数据之后,通过对平台固件306的另一固件调用,分区302释放包含有页310的存储器区。该第二调用导致将页310再分配回托管分区,即分区300。该机制通过传递指针来避免拷贝数据。由于行为“隐蔽(under the covers)″发生,动态页再分配固件请求不由请求分区负责。
由于再分配的存储器区来自托管分区,本发明的这个机制不会干扰请求分区的相似域(affinity domain)。换而言之,通过不对来自其局部存储器区的页进行再分配,从而保留局部请求分区的相似域。在这些示意性示例中,仅有来自托管分区的页适合用于再分配。
下面,参照图4A-4B,这些图表示,根据本发明的优选实施例,从一个分区到另一分区的页的再分配。在图4A中,在逻辑分区数据处理系统中存在有托管分区400,分区402和分区404。数据406放置在托管分区400内的存储器区中。数据406寻的到分区402,或由分区402所请求。该再分配通过从托管分区400到平台固件410的调用408而实现。矩形412表示分区402分配给存储器区。在托管分区400中的虚线矩形414表示存储器区从托管分区400再分配给托管分区402。
在图4B中,当数据406已得到处理时,将存储器区从分区402恢复或再分配回托管分区400。当不再需要数据406时,对平台固件410实现调用420,以释放存储器区。此时实现调用422,以将存储器区再分配回托管分区400。在分区402中的虚线矩形416和在托管分区400中的矩形418表示,存储器区已从分区402再分配给托管分区400。尽管以不同的分区示出存储器区,然而存储器区实际并不移动或改变编址。使用虚线矩形和矩形对存储器区的表示是出于说明存储器区到具体区的所有或分配关系的目的。
下面,参看图5A-5E,图5A-5E表示根据本发明优选实施例的动态页分配。在图5A中,显示出托管分区500和分区502。另外,显示出的存储器504包括分区存储器506和分区存储器508。在这些示例中,分区存储器506是分配给托管分区500的一部分存储器。分区存储器508是分配给托管分区502的一部分存储器。下面,通过平台固件510,促成由托管分区500和分区502对存储器504的分配和访问。
对托管分区500分配I/O设备512。该I/O设备可为例如物理网络适配器。对分区502分配虚拟设备514,虚拟设备514可为例如虚拟网络适配器。在该示例中,通过I/O设备512接收数据516。该数据寻的到分区502。在该示例中,分区502不能直接接收数据,这是由于该分区不具有物理I/O设备。
在与存储器I/O设备512相关的或对其分配的存储器中接收数据516。在图5B中,通过由托管分区500启动的拷贝操作520将数据516拷贝到存储器区518中。该拷贝操作通过对平台固件510的调用而促使发生。在这些示例中,存储器区518具有一个或多个页的大小或长度。另外,通过调用522告知平台固件510数据516是寻的到分区502的。
下面,参看图5C,通过由平台固件510对托管分区500实现的调用524而进行存储器区518的再分配。调用524导致托管分区500从托管分区500的可寻址空间去除在存储器区518中的任何页。接下来,由平台固件510做出调用526,以将存储器区518中的页添加到分区502的可寻址空间。在分区中的操作系统对虚拟地址进行处理,而分区固件在访问存储器中可寻址空间时处理物理地址。此时,已将存储器区518从托管分区500再分配给分区502。
如图5C所示,通过存储器区518的再分配,分区502可实现用于访问在存储器区518中数据516的数据访问528。当托管分区500完成对数据516的使用时,由分区502向平台固件510发送“完成(done)”调用530,如图5D所示。该调用用于释放存储器区518。在图5E中,平台固件510向分区502发出调用532,以便从分区502的可寻址空间去除在存储器区518中的页。然后,向托管分区500发出调用534,以向该分区的可寻址空间添加存储器区518。该调用将存储器区518再分配回托管分区500。
以此方式,将数据从一个分区传输到另一个分区不需要数据拷贝。而是,将包含数据的存储器区再分配给适当的分区。
现参看图6,其中根据本发明优选实施例示出用于将数据从一个分区传输到另一分区的过程的流程图。图6所示的过程可在分区中实现,如在图5的托管分区500中实现。
过程以接收数据为开始(步骤600)。该数据随着部分I/O操作而被接收。数据可在分配或分派给分区的I/O设备处接收。该I/O设备可为例如网络适配器。接着,将数据存储在存储器区中(步骤602)。步骤602涉及将数据从I/O设备的存储器传输或拷贝到分配给接收I/O设备的分区的存储器区中。
然后,判定数据是否寻的到另一分区(步骤604)。如果数据是寻的到另一分区,则调用平台固件以将存储器区再分配给目标分区(步骤606),之后,过程结束。在这些示意性示例中,作为对该调用的响应,平台固件将对接收数据的分区以及要使用数据的分区进行调用,从而以将包含数据的存储器区再分配给要使用数据的分区的方式,改变可寻址空间。再次参看步骤604,如果数据并不是寻的到另一分区,则过程结束。
现参看图7,图7表示根据本发明优选实施例用于由请求数据(被托管)的分区获得数据访问的过程的流程图。在图7中所示的流程可在分区,例如图5中的分区502中实现。
过程以接收指针数据结构为开始(步骤700)。在这些示例中,接收指针数据结构导致向可寻址空间添加页,从而临时改变页帧表(page frame table)。使用由指针数据结构所指向的可寻址空间来更新页帧表(步骤702)。接着,访问数据(步骤704)。然后,判定该分区是否仍需要数据(步骤706)。分区中的应用程序可能仍需要访问数据以进行处理。在此情形中,仍需要数据。如果完成了对数据的处理,则在这些示意性示例中不再需要数据。
如果不需要数据,则调用平台固件以释放存储器区(步骤708),之后过程结束。在这些示例中,对平台固件进行调用。再次参看步骤706,如果需要数据,则过程返回到如前所述的步骤704。
从而,本发明提供用于从一个分区向另一分区传输数据的改进型方法,设备和计算机指令。通过将分派的存储器区从一个分区向另一个分区的再分配而消除了拷贝步骤。这种重新分配允许第二分区访问数据。
减少数据拷贝的数量导致减少在虚拟存储器管理器上的负载。对虚拟存储器管理器的负载的这种减轻对在系统上运行的所有分区都重要,这是由于分区无需等到其本身的I/O被进行处理。另外,该特性减少了单个I/O请求的总体响应时间。从应用方面而言,减少响应时间也很重要。具有严格响应时间要求的应用更适合于使用诸如本发明的机制,该机制减少了访问数据所需的操作数。
尽管对示意性实施例的描述针对于传统逻辑分区数据处理系统环境的行为,不过本发明还可用于共享资源分区环境。
共享处理器LPAR是主帧引发的技术(main-frame inspiredtechnology),它可在pSeries LPAR机器(可从IBM公司获得)中实现。共享处理器的概念允许逻辑分区使用一个或多个物理处理器的部分或局部。
固件通过将分区在物理处理器上按需进行调度和时间划分而管理各分区。在该环境中,多个共享处理器LPAR分区共享同一物理处理器。
共享处理器LPAR的支持不仅能够进行更精细粒度的分区,还能更有效地使用物理资源。尽管共享处理器LPAR特别是指多个分区之间对物理处理器的共享,然而资源“虚拟化”的引入引起了另一组共享资源分区。在此情形中,通过创建虚拟化的托管分区可在多个分区之间共享单个物理I/O设备,如网络适配器,或存储设备。
共享处理器LPAR和虚拟化的托管分区环境都属于共享资源分区的类别。本发明的方法,设备和计算机指令可应用于这些类型或其他类型的逻辑分区数据处理系统环境。
重要的是应注意,即便鉴于全功能的数据处理系统来描述本发明,然而本领域普通技术人员应该理解,本发明的处理能够以计算机可读指令介质的形式以及多种其它形式分布,并且无论实际用于实现分布的信号承载介质的具体类型如何,本发明同样适用。计算机可读介质的示例包括可读类型介质,如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,和传输类型介质,诸如使用例如无线电频率和光波传输的传输形式的数据和模拟通信链路,有线或无线通信链路。计算机可读介质可采用编码格式的形式,该编码格式在具体数据处理系统中为实际使用而进行解码。
本发明的描述是出于说明及描述目的,并不意在以所批露的形式详尽列举出本发明或限制本发明。显而易见,本领域普通技术人员能够易于想到多种修改和变形。所选及所述实施例是为了更好地说明本发明的原理以及实际应用,并能够使本领域其他普通技术人员理解本发明的具有各种修改的多种实施例,这些修改的实施例适用于他们所想到的具体应用。
Claims (30)
1.一种在逻辑分区数据处理系统中传输数据的方法,所述方法包括:
在分配给逻辑分区数据处理系统中第一分区的存储器区内接收第一分区中的数据,以形成接收数据;和
当判定接收数据是针对第二分区时,将存储器区分配给第二分区,其中,第二分区可访问存储器区中的数据。
2.根据权利要求1的方法,其中,第一分区为托管分区。
3.根据权利要求1的方法,还包括:
当将存储器区分配给第二分区后,向第二分区发送指针结构。
4.根据权利要求3的方法,其中,指针结构包括存储器区的地址。
5.根据权利要求4的方法,其中,指针结构还包括存储器区的长度。
6.根据权利要求1的方法,其中,存储器区为页。
7.根据权利要求1的方法,其中,分配步骤包括:
调用平台固件以将存储器区分配给第二分区。
8.根据权利要求1的方法,其中,接收步骤和分配步骤由第一分区执行。
9.根据权利要求1的方法,还包括:
当访问不必要的数据时,由第二分区将存储器区从使用中释放出来。
10.根据权利要求9的方法,还包括:
响应第二分区释放存储器区,将存储器区再分配给第一分区。
11.根据权利要求1的方法,其中,通过分配给第一分区的适配器接收存储器区中的数据。
12.一种用于传输数据的逻辑分区数据处理系统,所述数据处理系统包括:
接收装置,用于在分配给逻辑分区数据处理系统中第一分区的存储器区内接收第一分区中的数据,以形成接收数据;和
分配装置,用于当判定接收数据是针对第二分区时,将存储器区分配给第二分区,其中,第二分区可访问存储器区中的数据。
13.根据权利要求12的数据处理系统,其中,第一分区为托管分区。
14.根据权利要求12的数据处理系统,还包括:
发送装置,用于当将存储器区分配给第二分区后,向第二分区发送指针结构。
15.根据权利要求14的数据处理系统,其中,指针结构包括存储器区的地址。
16.根据权利要求15的数据处理系统,其中,指针结构还包括存储器区的长度。
17.根据权利要求12的数据处理系统,其中,存储器区为页。
18.根据权利要求12的数据处理系统,其中,分配装置包括:
调用装置,用于调用平台固件以将存储器区分配给第二分区。
19.根据权利要求12的数据处理系统,其中,接收装置和分配装置处在第一分区中。
20.根据权利要求12的数据处理系统,还包括:
释放装置,用于当访问不必要的数据时,由第二分区将存储器区从使用中释放出来。
21.根据权利要求20的数据处理系统,还包括:
再分配装置,用于响应第二分区释放存储器区,将存储器区再分配给第一分区。
22.根据权利要求12的数据处理系统,其中,通过分配给第一分区的适配器接收存储器区中的数据。
23.一种在计算机可读介质中用于传输数据的计算机程序产品,所述计算机程序产品包括:
第一指令,用于在分配给逻辑分区数据处理系统中第一分区的存储器区内接收第一分区中的数据,以形成接收数据;和
第二指令,用于当判定接收数据是针对第二分区时,将存储器区分配给第二分区,其中,第二分区可访问存储器区中的数据。
24.根据权利要求23的计算机程序产品,还包括:
第三指令,用于在将存储器区分配给第二分区后,向第二分区发送指针结构。
25.根据权利要求23的计算机程序产品,其中,指针结构包括存储器区的地址。
26.根据权利要求23的计算机程序产品,其中,存储器区为页。
27.根据权利要求23的计算机程序产品,其中,第二指令包括:
用于调用平台固件以将存储器区分配给第二分区的子指令。
28.根据权利要求23的计算机程序产品,还包括:
第三指令,用于当访问不必要的数据时,由第二分区将存储器区从使用中释放出来。
29.根据权利要求28的计算机程序产品,还包括:
第四指令,用于响应第二分区释放存储器区,将存储器区再分配给第一分区。
30.一种逻辑分区数据处理系统,所述系统包括:
总线系统;
与总线系统相连的存储器,其中,存储器包括一组指令;以及
与总线系统相连的处理单元,其中,处理单元执行该组指令,以在分配给逻辑分区数据处理系统中第一分区的存储器区内接收第一分区中的数据,以形成接收数据,并且当判定接收数据是针对第二分区时,将存储器区分配给第二分区,其中,第二分区可访问存储器区中的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/865,702 US7318140B2 (en) | 2004-06-10 | 2004-06-10 | Method and apparatus for dynamic hosting partition page assignment |
US10/865,702 | 2004-06-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1707462A true CN1707462A (zh) | 2005-12-14 |
CN1707462B CN1707462B (zh) | 2010-04-28 |
Family
ID=35461847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510054112.6A Active CN1707462B (zh) | 2004-06-10 | 2005-03-04 | 逻辑分区数据系统及其传输数据的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7318140B2 (zh) |
JP (1) | JP4405435B2 (zh) |
CN (1) | CN1707462B (zh) |
TW (1) | TW200609727A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100590620C (zh) * | 2006-06-14 | 2010-02-17 | 国际商业机器公司 | 用于使记录在分区之间移动的系统和方法 |
CN101410813B (zh) * | 2006-05-25 | 2011-11-16 | 国际商业机器公司 | 在存储器迁移期间停止dma操作的计算机实现的方法、设备和计算机程序产品 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689800B2 (en) | 2005-05-12 | 2010-03-30 | Microsoft Corporation | Partition bus |
US7899958B2 (en) * | 2006-12-21 | 2011-03-01 | Unisys Corporation | Input/output completion system and method for a data processing platform |
JP4792434B2 (ja) * | 2007-08-31 | 2011-10-12 | 株式会社日立製作所 | 仮想計算機の制御方法 |
US8307188B2 (en) * | 2009-11-10 | 2012-11-06 | International Business Machines Corporation | Information handling system memory management |
US20130042238A1 (en) | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
US8954704B2 (en) * | 2011-08-12 | 2015-02-10 | International Business Machines Corporation | Dynamic network adapter memory resizing and bounding for virtual function translation entry storage |
US9342342B2 (en) | 2013-03-15 | 2016-05-17 | International Business Machines Corporation | Refreshing memory topology in virtual machine operating systems |
JP2016115253A (ja) * | 2014-12-17 | 2016-06-23 | 富士通株式会社 | 情報処理装置、メモリ管理方法およびメモリ管理プログラム |
JP6579916B2 (ja) * | 2015-10-28 | 2019-09-25 | 株式会社日立製作所 | 仮想計算機間の通信経路制御方法および計算機システム |
US11086686B2 (en) * | 2018-09-28 | 2021-08-10 | International Business Machines Corporation | Dynamic logical partition provisioning |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775672B2 (en) * | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Updating references to a migrated object in a partition-based distributed file system |
-
2004
- 2004-06-10 US US10/865,702 patent/US7318140B2/en active Active
-
2005
- 2005-03-04 CN CN200510054112.6A patent/CN1707462B/zh active Active
- 2005-06-03 TW TW094118441A patent/TW200609727A/zh unknown
- 2005-06-09 JP JP2005169422A patent/JP4405435B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410813B (zh) * | 2006-05-25 | 2011-11-16 | 国际商业机器公司 | 在存储器迁移期间停止dma操作的计算机实现的方法、设备和计算机程序产品 |
CN100590620C (zh) * | 2006-06-14 | 2010-02-17 | 国际商业机器公司 | 用于使记录在分区之间移动的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4405435B2 (ja) | 2010-01-27 |
JP2005353070A (ja) | 2005-12-22 |
US20050278488A1 (en) | 2005-12-15 |
CN1707462B (zh) | 2010-04-28 |
US7318140B2 (en) | 2008-01-08 |
TW200609727A (en) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707462A (zh) | 用于动态托管分区页面分配的方法和设备 | |
US7480911B2 (en) | Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system | |
US8108196B2 (en) | System for yielding to a processor | |
US8327083B2 (en) | Transparent hypervisor pinning of critical memory areas in a shared memory partition data processing system | |
US8954997B2 (en) | Resource affinity via dynamic reconfiguration for multi-queue network adapters | |
CN100578456C (zh) | 信息处理装置、进程控制方法 | |
US8302102B2 (en) | System utilization through dedicated uncapped partitions | |
US8201167B2 (en) | On-demand allocation of virtual asynchronous services interfaces | |
US20030212873A1 (en) | Method and apparatus for managing memory blocks in a logical partitioned data processing system | |
CN1702625A (zh) | 保存跟踪数据的方法和装置 | |
CN1655123A (zh) | 逻辑分区计算机系统各分区中逻辑资源共享结构和方法 | |
US9483782B2 (en) | Automating capacity upgrade on demand | |
US9075644B2 (en) | Secure recursive virtualization | |
US20110145555A1 (en) | Controlling Power Management Policies on a Per Partition Basis in a Virtualized Environment | |
JP2004318880A (ja) | ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置 | |
CN1673924A (zh) | 用于防止在逻辑分区数据处理系统中加载和执行流氓操作系统的方法和设备 | |
US20090182967A1 (en) | Packet transfer in a virtual partitioned environment |
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 |