首页> 中国专利> 优化在多平台系统中执行的应用的分布

优化在多平台系统中执行的应用的分布

摘要

本发明涉及优化在多平台系统中执行的应用的分布。具体地,要求保护的主题的实施方式涉及通过将一个平台上操作的特定过程向系统中的另一平台迁移、从而允许多在平台系统(诸如,大型机)上操作的过程的优化的方法和系统。在一个实施方式中,优化通过以下方式来执行:评估在专有操作系统下操作的分区中执行的过程;从过程中确定将被迁移的过程汇集;计算迁移该过程汇集的迁移成本;以迁移顺序为该过程汇集设置优先级;以及根据迁移顺序递增地将过程向大型机中执行较低成本(例如,开源)操作系统的另一分区迁移。

著录项

  • 公开/公告号CN101887380A

    专利类型发明专利

  • 公开/公告日2010-11-17

    原文格式PDF

  • 申请/专利权人 埃森哲环球服务有限公司;

    申请/专利号CN201010177487.2

  • 发明设计人 M·尼夫特;

    申请日2010-05-11

  • 分类号G06F9/48;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 瑞士沙夫豪森

  • 入库时间 2023-12-18 01:05:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-05

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):G06F9/48 申请日:20100511

    实质审查的生效

  • 2011-03-02

    专利申请权的转移 IPC(主分类):G06F9/48 变更前: 变更后: 登记生效日:20110113 申请日:20100511

    专利申请权、专利权的转移

  • 2010-11-17

    公开

    公开

说明书

优先权要求

本申请要求于2009年5月11日提交的序列号为61/177,149的临时专利申请的优先权,该申请名称为“Optimizing A Distribution ofApplications Operating In A Multiple Environment System(优化在多环境系统中操作的应用的分布)”。

技术领域

本申请涉及多平台系统中应用分布的优化。

背景技术

大型机是主要由大型商业机构和组织使用的计算系统,用于执行使命和任务关键的应用(诸如批量数据处理),这些应用对于商业机构或组织的核心常常至关重要。这些应用常常为组织提供竞争优势,因此,大型机是出于长使用寿命、容错以及耐久的目的而设计的。

另外,相对于普通个人计算机而言,大型机还提供了极大提高的计算性能。与诸如PC的个人计算机相比,大型机通常具有数百到数千倍的数据存储,并且能够快得多地对这些数据进行访问、操纵和执行操作。大型机被设计用于处理极大量的输入和输出(I/O),并且着眼于吞吐量计算。传统上,大型机设计包括若干附属计算机(称为通道或者外围处理器),其管理I/O设备,从而使中央处理单元(CPU)可以仅处理高速存储器。而且,典型的大型机应用通常用来执行对于操作该大型机的商业机构的核心而言至关重要的任务。

此外,几乎所有的传统大型机还具有运行(或者主控)多个操作系统的能力,由此不是作为单个计算机进行操作,而是作为多个虚拟机来进行操作。这最常见的是通过使用多个逻辑分区来实现的。每个逻辑分区(通常称为“LPAR”)是计算系统的硬件资源的子集,其被虚拟化为单独的计算机。在这方面,单个大型机可以替代很多或者说甚至数百个较小的服务器。作为通常的实践,大型机经常使用大型机制造商的专有操作系统,并且传统的实现可以包括操作同一操作系统的多个实例的单个大型机。近来的发展已经允许在同一大型机中结合在分布式逻辑分区中操作的各种异类操作系统。

不幸地,大型机的购买和取得通常非常昂贵。而且,大型机操作系统和应用的开发和/或许可也可能非常昂贵。由于大型机制造商和软件开发者的数目相对较少,因此大型机消费者通常除了大型机制造商的专有操作系统之外几乎没有什么其他选择。自然,对单个、专有的操作系统的依赖可能是昂贵的,并且专有操作系统的许可费可能构成拥有和操作大型机以及购买大型机计算服务的成本的重要部分。而且,由于维护和升级费用,这些费用对于大型机消费者而言几乎肯定将继续增长。对大型机的实际所有权的一个备选方案是,从大型机服务提供商处租赁大型机计算服务。然而,与这些提供商(其可能是大型机制造商本身)的服务采购计划经常可能随时间而变得同样昂贵。

不幸地,对大型机所有权和操作的成本进行限制是难以实现的。响应于该问题的传统方法包括:在现状范式下继续操作;向备选平台转移系统中的过程操作;购买附加的软件和硬件包;以及战术性地管理附加成本。然而,这些方法的每一个都受制于显著的缺陷。在现状范式下继续操作的方法不太可能限制大型机所有权和操作的增加的成本,因为这仍然依赖于商业大型机制造商和软件开发商。

向备选平台转移系统中的过程操作包括:获得在当前平台中操作的过程,以及向备选平台移动应用的操作。例如,可以向其他平台(诸如,服务器)移动商业机构或组织的、提供竞争优势的专有应用。然而,向备选平台转移系统中的过程操作可能是有风险的,并且可能导致附加的延迟、不一致的结果以及不可预测的行为。而且,备选平台可能导致浪费,可能同样是高成本,并且可能需要大量附加的资本支出。而且,使用这些备选平台可能排除了将特定过程转卸给支持较快和/或并行处理的其他驻留专用处理器的能力。

购买附加的第三方软件是限制成本的另一选项(例如,消除了开发专有软件的成本)。然而,该方法也消除了专有应用的竞争优势。而且,该方法需要附加的许可费,并且无法实际上降低操作和/或所有权的成本。

对于附加成本的战术性管理通常包括:前瞻性地控制由于量的增加而引起的成本增加,或者限制对当前实现的许可费。然而,如果操作增加,则这可能严重影响操作的效力,因为性能可能受制于陈旧的或不足的资源和应用。而且,战术性管理通常不是一种成功的长期解决方案,因为成本并没有真正得到降低,而是被重新分配(例如,作为性能的损失)。

发明内容

提供本发明内容部分是为了以简化的形式引入对概念的选择,其将在下文具体实施方式部分中进一步描述。本发明内容部分并非意在标识要求保护主题的关键特征或实质特征,也非意在用来限制要求保护主题的范围。

要求保护主题的实施方式涉及通过将一个平台上操作的特定过程向系统中的其他平台进行迁移,来允许对多平台系统(诸如,大型机)上操作的过程进行优化的方法和系统。在一个实施方式中,优化通过以下方式来执行:评估在专有操作系统下操作的分区中执行的过程;从过程中确定将被迁移的过程汇集;计算迁移该过程汇集的迁移成本;以迁移顺序为该过程汇集设置优先级;以及根据迁移顺序递增地将过程向执行开源操作系统的大型机中的其他分区迁移。

在另一实施方式中,在专有操作系统下操作的分区中执行的过程的迁移通过以下方式来执行:标识将被迁移的过程;在低成本操作系统下操作的单独逻辑分区中复制该过程;以及在该低成本操作系统中测试该过程的执行。可以通过确定迁移每个过程的具体复杂性,来标识将被迁移的过程。例如,在标识将被迁移的过程时,可以将依赖性(例如,同一平台中执行的其他过程的存在)、计算资源使用率、平台特性等纳入考虑。可以为过程的评估指派值或得分,其反映迁移每个过程的估计复杂性。按照其他实施方式,只有复杂性值或得分在特定阈值以下的过程才可以作为迁移的候选,而复杂性值在阈值之上的过程可以表示该过程的迁移过于困难或者低效。

这些实施方式还可以包括:在过程的测试完成之后,将过程的主要操作从第一(专有操作系统)分区向在低成本操作系统下操作的第二分区迁移,并且随后终止过程在第一分区中的执行。按照其他实施方式,过程的迁移可以在一系列预定阶段中进行,其中所述阶段至少部分地按照过程间的各种依赖性来安排。例如,对其他过程具有很小依赖性或者没有依赖性的过程可以在较早的阶段迁移。

在又一实施方式中,提供一种用于优化地迁移在多平台系统中的一个平台上操作的过程的系统。按照某些实施方式,该系统包括具有至少两个逻辑分区的大型机,其中在每个分区上执行至少一个平台。基于对迁移成本的评估将一个平台上执行的过程向其他平台迁移,以实现最优分布。

在另一实施方式中,对过程选择的标识包括确定对在第一平台上运行的多个过程对应的迁移复杂度。

在又一个实施方式中,对过程选择的标识还包括对被确定为小于预定阈值的迁移复杂度所对应的多个过程中的过程选择进行标识。

附图说明

附图包含在本说明书内并构成其一部分,其示出了本发明的实施方式,与描述一起用来阐释本发明的原理,其中:

图1按照本发明的各种实施方式描绘了多分区大型机中的应用的示例性传统分布;

图2按照本发明的各种实施方式描绘了执行至少两个操作系统的多分区大型机中的应用的示例性分布;

图3按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台大型机中的过程按照第一预定义阶段的示例性迁移;

图4按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台大型机中的过程按照第二预定义阶段的示例性迁移;

图5按照本发明的各种实施方式描绘了在过程迁移之后执行至少两个操作系统的多平台大型机中的过程的示例性分布;

图6按照本发明的各种实施方式描绘了在多平台系统中的平台之间优化过程分布的方法的示例性流程图;以及

图7按照本发明的各种实施方式描绘了在多平台系统中、在第一平台到第二平台之间迁移过程的处理的示例性流程图。

具体实施方式

现在将详细参考若干实施方式。尽管将结合备选实施方式来描述主题,但是将会理解,并非意在将要求保护的主题限制于这些实施方式。相反,要求保护的主题意在涵盖根据所附权利要求的限定可以被包括在要求保护主题的精神和范围之内的备选方案、修改和等效项。

此外,在下文详细描述中,为了提供对要求保护的主题的透彻理解,将记载多个具体细节。然而,本领域技术人员将会认识到,可以在没有这些具体细节或者具有其等效项的情况下实践实施方式。在其他情况下,没有详细地描述公知的处理、过程、组件和电路,以避免不必要地混淆主题的方面和特征。

下面的详细描述的一部分按照过程的形式来给出和讨论。尽管在这里描述该过程操作的附图(例如,图6、图7)中公开了其步骤和排序,但是这种步骤和排序是示例性的。实施方式同样适于执行其他步骤或者这里附图的流程图中记载的步骤的变形,以及按照在此描绘和描述以外的顺序来执行步骤。

详细描述的某些部分是按照过程、步骤、逻辑块、处理以及可以在计算机存储器上执行的针对数据位的操作的其他符号化表示的形式而给出的。这些描述和表示是数据处理领域的技术人员用来向本领域其他技术人员最为有效地传递其工作实质的手段。过程、计算机执行的步骤、逻辑块、处理等在此并且通常被构想为得到期望结果的步骤或指令的自洽序列。步骤是需要对物理量的物理操纵的那些步骤。通常,尽管不是必须的,这些量的形式是能够在计算机系统中存储、传输、组合、比较以及以其他方式操纵的电信号或者磁信号。已经证明,原则上出于共同使用的原因,有时将这些信号表示为比特、值、元素、符号、字符、项、数字等是方便的。

然而,应当意识到,所有这些以及类似的项将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标示。除非在下文讨论中明显地另行特别声明,否则可以理解,贯穿全文中,使用诸如“访问”、“写入”、“包括”、“存储”、“传输”、“遍历”、“关联”、“标识”、等的所有讨论表示计算机或者类似电子计算设备的动作和过程,其操纵表示为计算机系统的寄存器和存储器中的物理(电子)量的数据,并将其转换为类似地表示为计算机系统存储器或寄存器、或者其他此类信息存储、传输或显示设备中的物理量的其他数据。大型机中的应用分布

按照本发明的实施方式,提供一种用于在多平台系统中的平台之间优化地分布过程的系统。在一个实施方式中,提供一种系统,包括多个逻辑分区,每个逻辑分区主控至少一个平台,并且每个平台执行一个或多个过程。在平台之间优化地分布过程例如可以包括:通过在较不昂贵的平台中执行过程,来更为有效地使用资金和/或技术资源。图1按照本发明的实施方式描绘了多平台系统100中的应用的示例性传统分布。

在一个实施方式中,系统100可以实现为例如大型机计算系统。如图所示,系统100实现为大型机计算系统,其在布置于该计算系统中的一个或多个硬驱动中包括多个逻辑分区(例如,LPAR-A 101和LPAR-B 103)。如所述的,每个逻辑分区主控至少一个平台。在一个实施方式中,平台实现为操作系统(例如,OS1 105)。在其他实施方式中,这些操作系统可以是由大型机制造商许可的专有操作系统。在典型配置中,每个分区经由分区间通信机制可通信地耦合,诸如通过总线或者经由协议(例如,超套接字(hipersocket)107)而通过存储器进行。如图1所绘,系统100包括超套接字107以促进单独分区101、103之间的通信。

在某些实施方式中,系统100可以具有在一个或多个系统分区101、103中执行的多个软件应用。在一个典型的实施方式中,这些应用可以包括但不限于:事务服务器111、数据库117和数据库管理应用113、网络通信软件115。在某些实施方式中,对于主控相同平台105的分区101、103,在一个分区(例如,分区101)中运行的一个或多个应用也可以在第二分区(例如,分区103)上主控的相同平台105中执行。在又一实施方式中,系统100还可以包括用于仅执行特定任务的专用处理器或者引擎(例如,处理器109)。

附加逻辑分区上的备选平台

在一个实施方式中,大型机或者类似的计算系统配置用于在多个逻辑分区中执行相异的平台。图2按照本发明的各种实施方式描绘了在执行至少两个操作系统的多分区系统200中的应用的示例性分布。如所示的,系统200包括逻辑分区(例如,LPAR-A 101和LPAR-B103),其执行相同平台105;超套接字107;应用(111、113、115和117)以及专用处理器109;如上文参照图1的系统100所述。在典型的配置中,在逻辑分区LPAR-A 101和LPAR-B 103上执行的平台可以是由大型机制造商许可的专有操作系统。然而,这可能导致明显的和/或过高的操作成本。

如图2所示,可以通过备选的、低成本的以及非专有平台的执行,来减少操作附加平台的成本。这些平台(例如,OS2 207)可以在系统200中的附加逻辑分区(例如,LPAR-C 201、LPAR-D 203)上执行。在一个实施方式中,平台可以直接作为操作系统(例如,LPAR-D203中的OS2 207的实例)来执行。在备选实施方式中,平台也可以实例化为虚拟机(例如,LPAR-C的VM 205)。因此,通过使用低成本和/或非专有的平台,大型机操作者或者大型机服务消费者能够减少由于传统上使用大型机不可避免的软件授权而引起的操作成本。

跨不同平台间的应用迁移

在某些实施方式中,可以通过将较高成本和/或专有平台中预先执行的过程向较低成本和/或非专有平台迁移,并同时将成本与效用、安全性、可靠性和/或性能进行平衡,来进一步降低操作大型机的成本。然而,平台中执行的每个应用并非都可以适于进行迁移。由此,在每个平台之间优化应用的平衡可以获得显著的节约,同时维持或者超过当前的性能水平。图3按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台系统中的过程按照第一预定义阶段300的示例性迁移。在典型配置中,系统300包括多个逻辑分区(例如,LPAR-A 101和LPAR-C 103);在一个逻辑分区(例如,LPAR-A 101)上执行的第一平台(例如,OS1 105);在其他逻辑分区(例如,LPAR-C 201)上执行的第二平台(例如,OS2 207);以及多个应用(111、117、115)。

如图3所绘,在第一平台上执行的应用(例如,应用111)在执行期间可以执行多个过程和/或事务。这些过程和事务可以包含在第一平台之内和/或之外执行的附加应用。在一个实施方式中,应用和/或应用的特定过程或者事务可以从在第一平台中执行而迁移为在第二平台中执行。过程或事务的迁移例如可以这样来执行:在第二平台中复制目标事务或过程的执行,并且在两个平台中暂时地同时执行该过程或事务。由此,例如,第一平台中执行的过程或事务所使用的数据可以在第二平台中执行的过程或事务中复制和使用。在一个实施方式中,可以将过程复制为具有相同的源代码。在又一实施方式中,可以这样构造过程:即,使得相同的数据通过该过程的两个实例来运行。备选地,可以这样构造过程:即,使得特定的指令可以在交替的实例中执行,所述指令由负载处理器来委派。如上所述,可以经由分区间通信机制(例如,超套接字107)在平台之间转送通信和数据。

在某些实施方式中,某些应用可以依赖于特定应用或者特定应用的部分,并且可能无法轻易地迁移。在一个实施方式中,可以为具有最小量依赖性同时补偿最高节约量的应用设置优先级。为了确定应用在平台之间迁移的可行性,可以使用启发式方式来确定应用的候选资格。在一个实施方式中,可以通过评估应用对基础操作系统的依赖性以及相对耦合来确定应用的候选资格。在又一实施方式中,应用的候选资格可以包括估计的计算成本节约。

在一个实施方式中,可以通过以下方式针对多个过程来确定计算节约:生成应用或过程所使用的处理(例如,CPU消耗)量,以及解析应用或者过程的源代码以确定源代码中的操作元数目。随后,可以通过比较各自的操作元数目以及CPU消耗来确定估计的节约,从而为多个过程设置优先级。

在一个实施方式中,平台中特定应用的依赖性可以通过创建与每个特定应用对应的逻辑流来确定。逻辑流可以用来标识过程的划界,以便在不增加操作的延迟和/或复杂性的情况下向其他平台迁移过程。

在其他实施方式中,可以在第二平台中监测目标事务或者过程,以确保某些标准或者量度(例如,可靠性、性能)的维持。在又一些实施方式中,可以将过程或事务的主要操作从第一平台向第二平台迁移,以便根据期望来添加测试或者完成迁移。在一个实施方式中,可以在平台之间迁移一个或多个过程、事务或者甚至应用。按照这些实施方式,可以针对迁移的适当性来评估第一平台中执行的过程、事务和应用。例如,某些错综复杂地链接至第一平台的应用可能不适于迁移,因此不被选中进行迁移。在某些实施方式中,一个或多个应用的迁移可以在预定义的阶段中执行,例如用以最小化对整个系统的风险。如图3中所绘,事务1(例如,TR01)在第一平台OS1 105与第二平台OS2 207之间迁移。在一个实施方式中,第一平台(例如,OS1105)可以实现为由大型机制造商许可的专有操作系统。在某些实施方式中,第二平台(例如,OS2 207)可以实现为低成本和/或非专有操作系统。

图4按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台系统中的过程按照第二预定义阶段400的示例性迁移。图4包括图3的组件,但是描绘出了包括应用(例如,应用111)的附加事务(例如,TR02、TR03)从第一平台OS1 105向第二平台OS2 207的迁移。

图5按照本发明的各种实施方式描绘了在过程迁移500之后包括至少两个操作系统的多平台大型机中的过程的示例性分布。图5包括图3和图4的组件,并且描绘了将包括应用111的所有事务(例如,TR02、TR03...TRNN)从第一平台OS1 105向第二平台OS2 207的最终迁移。一旦将一个或多个应用从第一平台成功地迁移到一个或多个其他平台,便可以转移应用的主要操作,并且可以终止该应用在第一平台中的执行。由此,在某些实施方式中,在迁移完成之后,只有错综复杂地链接至第一平台或者特定于第一平台的事务或过程(例如,编译器)将仍然在第一平台上执行。

为迁移而评估应用

参考图6,其按照本发明的各种实施方式描绘了优化多平台系统中的平台之间的应用分布的过程的示例性流程图600。在一个实施方式中,多平台系统包括至少一个低成本平台(例如,Linux之类的开源操作系统)。步骤601-615描述了按照在此描述的各种实施方式的流程图600的示例性步骤。在一个实施方式中,提供流程图600以在不增加组织风险或者不增加网络延迟的情况下,标识应当向低成本平台迁移系统中执行的应用的哪个部分。

在步骤601,发起在较高成本平台中执行的应用所执行的过程或事务的迁移适合性的评估。对过程或事务的评估例如可以包括,选择在较高成本平台中执行的过程以便评估。在一个实施方式中,可以通过评估应用对基础操作系统的依赖性以及相对耦合来确定应用的候选资格。在又一些实施方式中,应用的候选资格可以包括计算成本的估计节约。

在步骤603,确定过程是否为平台特定的。平台特定性例如可以包括对平台资源的高度依赖性,而非总体平台特定性。如果在步骤603中确定过程是依赖于平台的,则不认为该过程或事务是迁移的候选,并且方法进行到步骤615,在此,选择其他过程或事务以便评估。然而,如果在步骤603确定过程不是平台特定的,则方法进行到步骤605。

在步骤605,汇集多个迁移候选。通过将在步骤601被评估为候选并且还在步骤603被确定为未与基础平台或操作系统过度耦合的过程进行聚集,来汇集迁移候选。

在步骤607,计算过程汇集中每个迁移候选的迁移成本。迁移成本例如可以通过以下方式来计算:通过生成特定事务、应用或过程的CPU消耗,以及解析应用或者过程的源代码以确定源代码中的操作元数目,来考虑过程汇集的计算节约。还可以通过比较各自的操作元数目以及CPU消耗来确定估计的节约,从而计算多个过程的成本。在步骤609,可以按照迁移成本对每个过程、事务或者应用进行排序。

在步骤611,可以将迁移组织为一系列顺序阶段,以降低对系统的风险。最后,在步骤613,可以按照步骤611处定义的阶段来迁移过程。

过程迁移

参考图7,其按照本发明的各种实施方式描绘了在多平台系统中在第一平台向第二平台之间迁移过程的方法的示例性流程图700。步骤701-709描述了按照在此描述的各种实施方式的流程图700的示例性步骤。

在步骤701,标识对第一平台(操作系统)中执行的选定过程,以便向第二平台(不同的操作系统)迁移(例如,在其中执行)。在一个实施方式中,过程可以包括作为一个或多个应用的执行基础的处理线程,并且可以按照启发式评估(例如,上文描述的图6的步骤601到607)来标识。在步骤703,在异类的第二平台中复制在步骤701中标识的选定过程。复制例如可以包括:在第二平台中执行的过程实例中,复制在第一平台中执行的过程实例所使用的数据。在一个实施方式中,可以将过程复制为具有相同的源代码。在又一些实施方式中,可以这样来构造过程,使得相同的数据通过该过程的两个实例来运行。备选地,可以这样来构造过程,使得特定的指令可以在交替的实例中执行,所述指令由负载处理器来委派。

在步骤705,测试过程在第二平台中的执行。测试例如可以包括监测第二平台中的过程,以及诸如负载和容错的其他传统软件测试协议。在一个实施方式中,使用仿真事件来引发特定的环境。一旦测试完成,便可以在步骤707向第二平台中执行的过程转移过程的主要操作。主要操作可以包括特定的接口或入口,过程的预期服务通过该接口或入口与预期消费者(或其他用户)通信、和/或向预期消费者(或其他用户)通信。主要操作的转移例如可以包括将实际实时数据从第一平台向该过程传送(funnel)。在某些实施方式中,可以在步骤709终止第一平台中的该过程。

由此,通过优化过程分布,可以通过使用多个平台来减少大型机操作中的显著操作成本。该过程分布例如可以通过评估一个或多个过程的迁移适当性、复制过程以及在低成本的第二平台中测试过程来实现。

尽管已经通过特定于结构化特征和/或过程逻辑动作的语言描述了主题,但是将会理解,所附权利要求中限定的主题未必限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号