运行前近似计算制造技术

技术编号:7898018 阅读:195 留言:1更新日期:2012-10-23 04:15
本发明专利技术涉及运行前近似计算。提供用于执行近似运行前计算的机制。选择第一组计算引擎以对输入数据的完整集执行完整计算。选择第二组计算引擎以对所述输入数据的采样子集执行计算。选择第三组计算引擎以计算由所述第一组计算引擎所生成的第一计算结果和由所述第二组计算引擎所生成的第二计算结果之间的计算结果的差别。基于由所述第三组计算引擎所生成的所述差别重配置所述第二组计算引擎。

【技术实现步骤摘要】

本申请总体上涉及改进的数据处理装置和方法,并且更具体地,涉及用于提供运行前近似计算(run-ahead approximated computations)的机制。
技术介绍
并行计算系统是具有多个用于并行处理任务的处理器的计算系统。并行程序是可包括一个或多个如下作业的程序,该作业可被分割成可由多个处理器并行执行的任务。并行程序允许在多个处理器之间的某些协调下在该处理器上同时执行任务,以便更快地获得结果。存在许多用于提供并行计算系统的不同方法。并行计算系统的一些类型的示例包括多重处理系统、计算机集群系统、并行超级计算机系统、分布式计算系统、网格计算系统等。这些并行计算系统通常通过处理器和存储器之间的互连的类型来彼此区分。并行计算系统的最广为接受的分类之一根据所有处理器执行相同指令(即单指令/多数据(SIMD))还是每个处理器执行不同指令(即多指令/多数据(MMD))来对并行计算系统进行分类。另一种对并行计算系统进行分类的方式是基于它们的存储器架构。共享存储器并行计算系统具有访问作为全局地址空间的所有可用存储器的多个处理器。这些共享存储器并行计算系统可以进一步被分类为其中对存储器的所有部分的访问次数相等的均匀存储器访问(UMA)系统或其中对存储器的所有部分的访问次数不相等的非均匀存储器访问(NUMA)系统。然而按另一分类,分布式存储器并行计算系统还提供如下并行计算系统,在该系统中利用多个处理器、但每个处理器仅能够访问其自己的本地存储器,即在存储器之间不存在全局存储器地址空间。还有一种类型的并行计算系统,也是当今最普遍使用的一种是上面系统的组合,其中系统的节点具有针对少量处理器的一定量的共享存储器,但是这些节点中的多个节点在分布式存储器并行系统中连接在一起。在一些并行计算系统中,消息传递接口(Message Passing Interface)用作由多个计算或处理设备并行执行的通信和协调工作的方式。消息传递接口(MPI)是独立于语言的计算机通信描述性应用编程接口(API),用于在共享存储器或分布式存储器并行计算系统上进行消息传递。使用MPI,通常将并行应用提供作为随后分割成多个任务的一个或多个作业,该任务可以在一个或多个计算设备的多个处理器上按照并行方式处理。MPI为处理器提供通信API,以用于关于对这些任务的处理进行彼此通信。在当今的信息时代,使用并行计算系统来处理大型分析工作负载变得日益重要,该大的分析工作负载例如面部识别工作负载、天气或交通状况分析、生物序列分析、因特网流量分析、文档库分析、各种数据挖掘应用或任何其他类型的大型分析工作负载。应理解,执行此类分析所基于的数据量非常巨大,而且在持续增加。即便通过并行计算系统可能使得速度增加,但需要分析的数据的庞大规模使得以目标性价水平对完整数据集进行分析的应用变得相当不切实际。
技术实现思路
在一个示意性实施例中,提供了一种在数据处理系统中用于执行近似运行前计算的方法。该方法包括从计算引擎池中选择第一组计算引擎以对输入数据的完整集执行完整计算。该方法还包括从计算引擎池中选择第二组计算引擎以对输入数据的采样子集执行计算。该方法还包括从计算引擎池中选择第三组计算引擎以计算由第一组计算引擎所生成的第一计算结果和由第二组计算引擎所生成的第二计算结果之间的计算结果的差别。此外,该方法包括基于由第三组计算引擎所生成的差别重配置第二组计算引擎。在其他示意性实施例中,提供了一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上执行该计算机可读程序时,该计算机可读程序使得该计算装置执行以上关于本方法示意性实施例所概述的操作中的各个操作和其组合。在又一示意性实施例中,提供了系统/装置。该系统/装置可包括一个或多个处理器和耦合到该一个或多个处理器的存储器。该存储器可包括指令,当一个或多个处理器执行该指令时,使得该一个或多个处理器执行以上关于本方法示意性实施例所概述的操作中的各个操作和其组合。本专利技术的这些和其他特征和优点将在本专利技术的示例实施例的以下详细描述中加以描述,或者鉴于本专利技术的示例实施例的以下详细描述,本专利技术的这些和其他特征和优点对于本领域普通技术人员将变得明显。附图说明当结合附图阅读时,通过参考对示意性实施例的以下详细描述能够最好地理解本专利技术和使用的优选方式及其进一步的目的和优点。 图I是可在其中实现示意性实施例的方面的分布式数据处理系统的示例图;图2是可在其中实现示意性实施例的方面的示例数据处理系统的框图;图3是根据一个示意性实施例、实现对计算引擎和分析协调器引擎分组的并行计算系统的示例图;图4A-图4D是根据一个示意性实施例、图示在各种条件下的计算阶段的示例图;以及图5是根据一个示意性实施例、列出分析协调器引擎的操作的示例流程图。具体实施例方式示意性实施例提供用于提供运行前近似计算的机制。示意性实施例的机制协调由数据处理设备的第一集合执行的快速(总是运行前(run-ahead))近似计算与由数据处理设备的第二集合执行的对完整数据集的常规分析计算两者。示意性实施例的机制通过在数据处理设备的这两个集合之间利用精度、置信水平和速度来执行此类协调,以使得从这二者产生的组合结果对于分析而言可接受。采用示意性实施例的机制,运用计算引擎中相对较大的组(I)(例如,数据处理设备、一个或多个数据处理设备中的处理器等)来用完整的输入数据进行常规计算。使用计算引擎中的第二、相对较小的组(J)来用运行前计算执行对采样数据的计算。也就是说,在一个示例实施例中,分析工作负载可对大量数据执行相同的计算,诸如通过使用具有大迭代集的循环。第一组(I)按照开始于初始迭代值并对每次迭代执行计算(根据循环的步长值)的普通方式前进通过循环迭代。第二组(J)按照运行前方式对迭代进行采样并执行计算,运行前方式即关于循环迭代以及循环的步长值,如果循环将以顺序方式执行,则在通常执行循环的迭代计算的时间之前执行该计算。当第一组(I)赶上由第二组(J)处理的工作负载的起始迭代时,使用额外的计算引擎的相对较小组(K)来检查和记录组(I)和组(J)之间生成的计算结果之间的差别。基于这些差别(或delta),分析协调器引擎可执行各种用于调度和重配置第一组计算引擎(I)和第二组计算引擎(J)的操作。例如,基于由第组⑴和第二组(J)获得的结果之间的差别,分析协调器可重配置第二组(J)中计算引擎的数目,以及在第二组(J)中由增加数目的计算引擎所处理的完整数据集的采样的数目,从而减小由第一组(I)和第二组(J)获得的结果之间的差别(delta),从而使得该差别在预定容差内。通过在相同计算时间内允许J中更多的处理器从事增加数目的数据采样来实现结果之间减小的差别(delta)。以这种方式,由第二组(J) (即运行前计算引擎)生成的近似精度被维持在可接受容差内,从而使得可以利用运行前计算引擎的结果来粗略估计对大数据集的总体分析的迭代集的计算。这些近似计算与由第一组计算引擎(I)执行的分析计算相组合,以提供对分析大输入数据集的近似计算。此外,如果存在分析计算的下一阶段,即利用来自当前阶段的结果的随后阶段,则如果由第二组(J)和第一组(I)执行的计算之间的差别在预定容差内,则由第二组(J)所进行的分析计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C·J·克莱克H·P·霍夫斯蒂D·A·詹姆塞克李剑
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2014年12月18日 17:27
    本文对几种近似算法做了较为祥细的介绍主要有顶点覆盖问题的近似算法旅行售货员问题近似算法一般的旅行售货员问题集合覆盖问题的近似算法子集和问题的近似算法
    0
1