基于异构多处理器阵列的低功耗重构技术的制作方法

文档序号:12733581阅读:305来源:国知局
基于异构多处理器阵列的低功耗重构技术的制作方法与工艺

本发明涉及一种异构多处理器阵列的重构技术,特别涉及一种基于异构多处理器阵列的低功耗的重构技术。



背景技术:

网格连接的处理器阵列有规整、模块化的结构,这样的结构对于一些信号和图像处理的快速实现。在传统的二维网格连接的多处理器阵列中,所有处理器单元(Processing Elements,PEs)的处理能力和功耗等都被认定为一致。也就是说,传统的二维网格连接的多处理器阵列是基于同构多处理器阵列。随着高性能计算机不断发展,多处理器阵列逐渐从同构向异构发展。例如采用通用多核微处理器与定制加速协处理器相结合的或者基于CPU/GPU异构协同的计算平台。相比于同构多处理器阵列,异构的多处理器阵列拥有更强劲的计算能力和通用编程性、高性价比和低能耗等优势。

图1展示了一个4×4的异构多处理器阵列的体系结构。图中的方块表示计算能力强但功耗大的PEs,而六边形代表计算能力较弱但功耗小的PEs。图中的小圆圈表示开关,与传统的二维多处理器阵列体系结构一样,PEs是通过这些开关相互链接的。

当异构多处理器阵列工作一段时间后,由于某些PEs使用频繁,将会造成其温度过高。当某个PE的温度高于一定阈值时,该PE将不再工作。阵列中PEs的温度将直接威胁着整个系统的可靠性和性能。因此,如何在异构处理器阵列中利用可用的PEs重构一个低温(即低功耗)的处理器阵列成为了一个亟待解决的问题。现有的技术重构一个低温的子阵列是基于同构的多处理器单元的,而非异构多处理器阵列的。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于异构多处理器阵列的低功耗重构技术。

对于阵列的温度定义,我们将逻辑阵列中的PE最高温度定义为整个逻辑阵列的温度。为方便说明,我们用R1,R2,…,Rm表示异构多处理器阵列的行。用PE u表示阵列中处于行Ri的一个PE,用col(u)表示PE u所在的行的列号,v表示行Ri+1的一个PE。与同构的多处理器阵列相关算法一样,我们设定补偿距离为1,即当且仅当|col(u)–col(v)|≤1时,PE u才能与PE v通讯。同时我们定义了一个温度阈值Tm,当PEs温度达到或高于Tm时,则认为其不可用,即不可工作。t(u)表示阵列中PE u的当前温度,用A(u)表示PE u的邻域,即A(u)={t(v)<Tm且|col(u)–col(v)|≤1}。

1、首先,使用贪心思想,在阵列中的可用PE从左至右构造一个最大可用的处理器阵列。该步骤详细说明如下。

①在第一行中选择当前最左边且t(u)<Tm的PE u作为当前逻辑列的起始节点,并对其进行标记,表示其已经被选中。

②在PE u的邻域A(u)中选择当前最左边的PE v,把v链接至u,并将v也做上选中标记。

③上述过程①和②将会按以下要求不断重复下去:每一步都试图将当前PE的邻域中未被选中且最左的PE链接到当前PE x.如果链接无法构造,那么包含当前PE的逻辑列将无法生成。此时将进行回溯,回溯至链接x的前驱y,接着在A(y)-x集合中选择一个最左且未被选中的PE与y相链接。

④以上过程①~③将不断进行迭代,直至达到终止条件,即1)在最后一行的一个PE已经链接至倒数第二行的一个PE上,或者2)算法回溯到第一行的某个PE。

2、采用动态规划的思想,对步骤1构造出的异构多处理器逻辑阵列进行从右到左的优化,使其整个系统的温度尽可能的降低。假设步骤1构造出的异构多处理器逻辑阵列的逻辑列分别为C1',C2',…,Ck'。根据动态规划思想,我们构造一个最优子结构为

T(u,Rm):=max{t(u),minv∈A(u){T(v,Rm}},

其中T(u,Rm)表示从PE u到行Rm的温度。

该步骤具体说明如下。

①首先设定一个优化区域,第一个优化区域为逻辑列Ck'的右边区域,包括逻辑列Ck'上的PE。此时i=k.

②初始化优化区域中所有的T(u,Rm)为t(u),Ci:={u},其中i表示当前优化的逻辑列是第i条逻辑列。

③对于优化区域中的每个可用的PE u(即u在优化区域内且t(u)<Tm)执行如下操作。计算T(u,Rm):=max{t(u),minv∈A(u){T(v,Rm}},比较t(u)和t(v)的大小,若t(u)>t(v),则u:=v.最后将u加入逻辑列Ci中。其中,计算T(u,Rm)时是自底向上的,即u在优化区域内且u∈Ri,i是从m-1递减至1的。

④经过①~③优化后,得到优化后的逻辑列Ck.依此类推,依次对Ci'(i=k-1,k-2,…,1)进行优化,优化区域的左边界为Ci',右边界为Ci+1,同理,优化区域包括左边界上的所有PE,但不包括右边界上的所有PE。对各个优化区域进行②③步优化操作,得到优化后的逻辑列Ci(i=k-1,k-2,…,1)。综合后,最终构造出由Ci(i=k,k-1,…,1)组成的低功耗逻辑阵列。

该步骤的示例图如图2所示,在此例中,我们假定温度阈值为85,实线表示优化区域的左边界,虚线表示优化区域右边界,中间的点虚线表示重构后的逻辑列。

3、如果用户对整个阵列的计算能力没有要求,则输出步骤1和2重构的异构多处理器逻辑阵列。若用户对于整个阵列的计算能力有一定要求,则检查重构出的多处理器能否满足要求;如果无法满足,则对逻辑阵列进行调整,即选择阵列中空闲的、计算能力强且温度最低的PE,替换该PE邻域内被选中的、计算能力低且温度较高的PE。若邻域内没有被选中的PE或替换后还未满足用户需求,则选择空闲的、计算能力强且温度次低的PE,直至满足用户需求为止。若最终都无法满足要求,则给予用户建议调整计算能力需求或等待一段时间,使得温度过高的PE能自我降温至可用,再重构。当然,如果用户要求的计算能力过高,在整个阵列可用的情况下,都无法达到该计算能力,则输出错误或告诉用户无法达到需求。

本发明相对于现有技术具有如下的优点及效果:

1、该技术是基于异构的多处理器阵列上的。以往的技术都是基于同构的多处理器阵列上提出的。

2、该技术构造出的逻辑阵列是最大的可用逻辑阵列,这与同构的多处理器阵列容错情况下重构逻辑子阵列类似,同理可证,其构造出的可用逻辑阵列是最大的。

3、该技术构造出的逻辑阵列是低功耗的异构多处理器逻辑阵列,其逻辑阵列的温度接近于最低。在步骤2中,在优化区域内逻辑列的温度达到了最低,即达到了局部最优。这样构造出的异构多处理器逻辑阵列可均衡整个阵列的温度,使得温度过高的某些PE暂时不工作,冷却自身温度,可避免温度过高导致PE永久损坏。

4、该技术考虑了用户可能对异构多处理器阵列的计算能力有一定的要求,则在满足用户对计算能力需求情况下,尽可能地降低阵列的温度。即,使得异构多处理器阵列保证计算能力的情况下尽可能地达到低功耗状态。

附图说明

图1是二维异构多处理器阵列体系结构;

图2是逻辑列重构示例图;

图3是重构低功耗逻辑阵列示例图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

本发明是针对异构多处理器阵列的一种低功耗重构技术,具体操作步骤如图3所示。图3(a)为4×4的异构多处理器阵列运行一段时间后的状态,其中PE内的数字表示该PE的现在的温度,设定阈值Tm=85,则阵列中PE温度大于等于85的均不可用。步骤1使用贪心策略,依次选择位置最左且其温度小于阈值的PE,最终构造出图3(b)的3×4的逻辑阵列。步骤2使用动态规划思想,对步骤1构造的阵列进行功耗方面的优化,优化后的逻辑阵列如图3(c)所示。最后检查该阵列的计算能力是否满足用户需求,满足则输出该逻辑阵列。否则将对其进行调整。假设用户要求要5个计算能力强的PE,但重构的逻辑阵列的PE中仅有4个是计算能力强的,所以我们选中空闲的、计算能力强且功耗最小的PE(即位于阵列中第4行第3列的PE)替换邻域内被选中的、计算能力低且温度较高的PE(即位于阵列中的第4行第2列的PE),最终得到的逻辑阵列如图3(d)所示。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1