充分利用并行处理器用于数据处理制造技术

技术编号:10486040 阅读:190 留言:0更新日期:2014-10-03 15:34
提供用于充分利用并行处理器以用于数据处理的示例性方法、系统和计算机程序产品实施例。在一个实施例中,仅举例而言,将并行处理器集合根据并行处理器的集合的索引分割成不相交子集。不相交子集中的每个不相交子集的大小对应于被指派为处理该层之一的数据组块的处理器的数目。向在不同数据组块中的不同层指派处理器中的每个处理器,从而处理器中的每个处理器忙碌、并且数据组块在数目等同于层的数目的时间步骤内被完全处理。设计从并行处理器的集合在时间步骤之一的索引到并行处理器的集合在后继时间步骤的索引的转换函数。

【技术实现步骤摘要】
【国外来华专利技术】充分利用并行处理器用于数据处理的方法和系统
本专利技术总体涉及计算机,并且更具体地涉及用于充分利用并行处理器以用于在计算环境中的数据处理的计算机。
技术介绍
在如今的社会中,计算机系统司空见惯。可以在工作地、在家里或者在学校找到计算机系统。计算机系统可以包括用于处理和存储数据的数据存储系统或者盘存储系统。每天需要处理大量数据,并且当前趋势表明这些数量将在可预见的将来继续不断增加。一种用于缓解该问题的高效方式是通过使用去重。在去重系统下面的思想是通过对重复的数据进行定位并且仅存储它的第一出现来利用反复复制和转发可用数据的大量部分而无任何改变这样的事实。用指向存储的出现的指针替换后续部分,如果数据确实重复则这显著减少存储要求。处理很大量信息是待解决的关键问题,因此存在对例如通过使用并行工作的处理器的集合来改善处理的需要。在某些应用中,可以指派处理器集合以在若干级或者层中执行某个任务,并且可以用分级方式将任务反复拆分成子任务。系统的性能最终依赖于如何确切地将处理器分配给它们的子任务的布局,因此存在对于用于分级并行计算的改进的处理器布局的需求。因此,在本领域中存在对解决前述问题的需求。
技术实现思路
如提到的那样,处理在存储系统中出现的很大量信息和数据是待解决的关键问题。例如在数据去重(数据去重指减少和/或者消除冗余数据)中,使用分组块方法将数据对象——该数据对象可以是文件、数据流或者某个其它形式的数据——分解成称为组块的一个或者多个部分。在数据去重过程中,数据的重复副本被减少或者消除,从而相应地留下最少量的冗余副本或者数据的单个副本。使用去重过程提供诸多益处、比如减少所需存储容量和增加网络带宽。由于这些和其它益处,去重在近年来已经在计算存储系统中作为高度地重要的
而显现。在另一存储系统中,可以存在并发写入无关数据的多个事务。因而并且鉴于前文,提供用于在多个初始化步骤之后充分利用并行处理器集合以对数据组块序列执行任务的各种示例方法、系统和计算机程序产品实施例,其中数据组块中的每个数据组块在若干时间步骤中且被多个层处理,而多个层在时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置。在一个实施例中,仅举例而言,将并行处理器集合根据并行处理器的集合的索引分割成不相交子集,从而不相交子集中的每个不相交子集的大小对应于被指派为处理该层之一的数据组块的处理器的数目。根据分割向在数据组块中的不同数据组块中的不同层指派处理器中的每个处理器,从而处理器中的每个处理器忙碌、并且数据组块中的每个数据组块在数目等同于多个层的数目的时间步骤内被完全处理。设计从并行处理器的集合在时间步骤之一的索引到并行处理器的集合在后继时间步骤的索引的转换函数。转换函数与指派相一致。附加系统和计算机程序产品实施例被公开并且提供有关优点。从第一方面来看,本专利技术提供一种用于在多个初始化步骤之后充分利用多个并行处理器的集合、以在计算环境中由处理器设备对数据组块序列执行任务的方法,其中数据组块中的每个数据组块在若干时间步骤中且被多个层处理,多个层在时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置,该方法包括:将多个并行处理器的集合根据多个并行处理器的集合的索引分割成不相交子集,从而不相交子集中的每个不相交子集的大小对应于被指派为在多个层之一处理数据组块的多个处理器的数目;根据分割向在数据组块中的不同数据组块中的多个层中的不同层指派多个处理器中的每个处理器,从而多个处理器中的每个处理器忙碌、并且数据组块中的每个数据组块在数目等同于多个层的数目的时间步骤内被完全处理;以及设计从多个并行处理器的集合在时间步骤之一的索引到多个并行处理器的集合在后继时间步骤的索引的转换函数,其中转换函数与指派相一致。从又一方面来看,本专利技术提供一种用于在多个初始化步骤之后充分利用多个并行处理器的集合、以在计算环境中对数据组块序列执行任务的系统,其中数据组块中的每个数据组块在若干时间步骤中且被多个层处理,多个层在时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置,该系统包括:在计算环境中操作的处理器设备,其中处理器设备适于执行用于执行本专利技术的步骤的方法。从又一方面来看,本专利技术提供一种用于在多个初始化步骤之后充分利用多个并行处理器的集合、以在计算环境中由处理器设备对数据组块序列执行任务的计算机程序产品,其中数据组块中的每个数据组块在若干时间步骤中并且被多个层处理,多个层在时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置,该计算机程序产品包括非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质具有其中存储的计算机可读程序代码部分,这些计算机可读程序代码部分包括:第一可执行部分,用于将多个并行处理器的集合根据多个并行处理器的集合的索引分割成不相交子集、从而不相交子集中的每个不相交子集的大小对应于被指派为在多个层之一处理数据组块的多个处理器的数目;第二可执行部分,用于根据分割向在数据组块中的不同数据组块中的多个层中的不同层指派多个处理器中的每个处理器、从而多个处理器中的每个处理器忙碌、并且数据组块中的每个数据组块在数目等同于多个层的数目的时间步骤内被完全处理;以及第三可执行部分,用于设计从多个并行处理器的集合在时间步骤之一的索引到多个并行处理器的集合在后继时间步骤的索引的转换函数,其中转换函数与指派相一致。从又一方面来看,本专利技术提供一种用于在多个初始化步骤之后充分利用多个并行处理器的集合以在计算环境中由处理器设备对数据组块序列执行任务的计算机程序产品,其中数据组块中的每个数据组块在若干时间步骤中且被多个层处理,多个层在时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置,该计算机程序产品包括可由处理电路读取并且存储有指令的计算机可读存储介质,这些指令用于由处理电路执行用于执行用于执行本专利技术的步骤的方法。从另一方面来看,本专利技术提供一种在计算机可读介质上存储并且可向数字计算机的内部处理器中加载的计算机程序,该计算机程序包括在所述程序在计算机上被运行时用于执行本专利技术的步骤的软件代码部分。除了前述示例方法实施例之外,其它示例系统和计算机产品实施例被提供并且供应有关优点。已经提供前述
技术实现思路
以用简化形式介绍以下在具体实施方式中进一步描述的概念选集。这一
技术实现思路
未旨在于标识要求保护的主题内容的关键特征或者实质特征,它也未旨在于用作辅助确定要求保护的主题内容的范围。要求保护的主题内容不限于解决了在
技术介绍
中指出的任何或者所有缺点的实现方式。附图说明现在将参照如以下各图中所示优选实施例仅通过示例描述本专利技术:图1图示了根据现有技术的具有示例存储设备的计算机存储环境,并且在该计算机存储环境中可以实施本专利技术的优选实施例;图2图示了根据现有技术示出计算机中的数据存储系统的硬件结构的示例性框图,在该示例框图中可以实施本专利技术的优选实施例;图3是图示根据本专利技术的优选实施例的用于为用于处理数据组块的分级并行计算而改进处理器布局的示例性方法的流程图;图4是图示根据本专利技术的优选实施例的用于使转换函数受到约束的示例性方法的流程图;图5图示了示出根据本专利技术的优选实施例的用于贮存库的数据组块的第一种子的示例性框图;图6图示了示出根据本专利技术的优选实施例的用于若干初始数据组块的处理器布局的本文档来自技高网
...
充分利用并行处理器用于数据处理

【技术保护点】
一种用于在多个初始化步骤之后充分利用多个并行处理器的集合、以在计算环境中由处理器设备对数据组块序列执行任务的方法,其中所述数据组块中的每个数据组块在若干时间步骤中且被多个层处理,所述多个层在所述时间步骤中的每个时间步骤被多个处理器中的至少一个处理器处置,所述方法包括:将所述多个并行处理器的所述集合根据所述多个并行处理器的所述集合的索引分割成不相交子集,从而所述不相交子集中的每个不相交子集的大小对应于被指派为在所述多个层之一处理所述数据组块的多个处理器的数目;根据所述分割向在所述数据组块中的不同数据组块中的所述多个层中的不同层指派所述多个处理器中的每个处理器,从而所述多个处理器中的每个处理器忙碌、并且所述数据组块中的每个数据组块在数目等同于所述多个层的数目的所述时间步骤内被完全处理;以及设计从所述多个并行处理器的所述集合在所述时间步骤之一的所述索引到所述多个并行处理器的所述集合在后继时间步骤的所述索引的转换函数,其中所述转换函数与所述指派相一致。

【技术特征摘要】
【国外来华专利技术】2012.01.30 US 13/361,5441.一种用于在多个初始化步骤之后充分利用多个并行处理器的集合、以在计算环境中由处理器设备对数据组块序列执行任务的方法,其中所述数据组块中的每个数据组块在若干时间步骤中且被多个层处理,所述多个层在所述时间步骤中的每个时间步骤被多个并行处理器中的至少一个处理器处置,所述方法包括:将所述多个并行处理器的所述集合根据所述多个并行处理器的所述集合的索引分割成不相交子集,从而所述不相交子集中的每个不相交子集的大小对应于被指派为在所述多个层之一处理所述数据组块的多个并行处理器的数目;将待执行的任务分割成多个层;根据所述待执行的任务的分割将所述多个并行处理器中的每个处理器分配给所述待执行的任务的多个层,从而所述多个并行处理器中的每个处理器忙碌、并且所述数据组块中的每个数据组块在数目等同于所述多个层的数目的所述时间步骤内被完全处理,其中所述多个并行处理器中被指派为在所述多个层之一处理所述数据组块的所述数目小于所述多个并行处理器中被指派为在所述多个层的先前层处理所述数据组块的处理器的数目;在与分配给所述待执行任务的多个层的数目相等的时间步骤内处理数据组块;以及设计从所述多个并行处理器的所述集合在所述时间步骤之一的所述索引到所述多个并行处理器的所述集合在后继时间步骤的所述索引的转换函数,其中所述转换函数与所述指派相一致;其中所述转换函数受到如下约束:限制所述多个并行处理器的任一个总是对相同层工作;或者对于除了最低层之外的每层,限制所述多个并行处理器的任一个总是对与在先前层中相同的数据组块一起工作。2.根据权利要求1所述的方法,其中所述约束包括将在所述时间步骤中的每个时间步骤的所述多个并行处理器中的至少一个处理器限制于所述多个层中被指派为处理所述数据组块的相同层。3.根据权利要求1所述的方法,其中所述多个约束包括将所述多个并行处理器中被指派为在所述多个层中并非第一层的层处理所述数据组块的处理器集合限制为所述多个并行处理器的所述集合中被指派为在所述多个层中的先前层处理所述数据组块的子集。4.根据权利要求1所述的方法,其中所述多个并行处理器中可用的处理器的数目是n=2d-1,其中d是所述多个层的数目,所述多个并行处理器中向级0指派的处理器的数目是n=2d-1,并且所述多个并行处理器中被指派为在所述多个层中并非第一层的一层处理所述数据组块的处理器的数目是所述多个并行处理器中被指派为在所述多个层中的所述先前层处理所述数据组块的处理器的数目的一半。5.根据权利要求1所述的方法,其中所述多个并行处理器是按整数0至2n-2的编索引集合,对于i=0,1,…,d-1,所述多个并行处理器中被指派为在被编索引为i的所述多个层之一处理所述数据组块的处理器的数目是n/2i,并且n/2i个所述多个并行处理器的所述索引是具有以0跟踪有i个1为结束的、长度为d+1的标准二进制表示的n/2i个编号。6.根据权利要求1所述的方法,其中所述多个并行处理器是按整数0至2n-1的编索引集合,对于i=0,1,…,d-1,所述多个并行处理器中被指派为在被编索引为i的所述多个层之一处理所述数据组块的处理器的数目是n/2i,并且n/2i个所述多个并行处理器的所述索引是具有以1跟踪有i个0为结束的、长度为d+1的标准二进制表示的n/2i个编号。7.根据权利要求1所述的方法,还包括与所述设计结合将所述转换函数选择为将向左移位至少一位的循环移位应用于所述多个并行处理器的所述索引的标准二进...

【专利技术属性】
技术研发人员:M·赫希S·T·克莱因Y·托夫
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1