当前位置:文档之家› 众核发展趋势浅析

众核发展趋势浅析

众核发展趋势浅析顾名思义,众核(manycore)处理器比多核(multicore)处理器中的处理内核数量还要多,计算能力更强大,这得益于1965年gordonmoore预测的moore定律在延续。

如果从wikipedia上搜索manycore,你会得到这样的介绍:“当前的软件结构可以在当前的多核结构上得到较好的扩展,但如果超过八个处理器核,当前软件结构的扩展能力将会很差。

超过八个处理器核的设计就被称为‘众核’处理器。

”本文将浅显地回答四个问题,这是我们开展众核设计最关心的问题,即计算所为什么要做众核设计?众核设计的技术问题是什么?适合于众核的应用是什么?计算所在众核设计上开展了哪些工作?一、计算所为什么要做众核?计算所的传统优势是以高性能排序为核心的芯片和系统设计,五十多年去几代人一直紧紧围绕这个领域辛勤耕耘,从成果至文化上都存有了相当的底蕴,特别就是2000年后,顺利研发的多款龙芯芯片更为我们在高性能排序核心技术上获得了实质性突破。

众核设计恰恰可以进一步增强我们在高性能排序领域的优势地位,以众核研究为基础的大型循序系统设计可以进一步稳固排序所在战略性、基础性、前瞻性的国立研究所定位。

众核设计的核心目标就是充分开发片上高性能计算能力,这是高性能计算发展的必然趋势。

以intel公司为例,在其推出双核和四核通用处理器的同时,开发了峰值性能超过teraflops的polaris和larabee,使单芯片计算能力得到几十倍的提高。

虽然众核设计上的进步将有效率促进我所在高性能排序领域的发展,但在众核设计的研究过程中,须要密切紧紧围绕龙芯和曙光在产业应用领域中对此类众核高性能快速芯片的实际市场需求。

国内系统结构研究领域的各优秀研究团队对众核设计广泛关注,2021年3月27日,复旦大学同uiuc大学的非赢利组织gelato承办了“shanghaimany-coreworkshop”,国内的参与者包括计算所、清华大学、国防科大、江南所、hp中国、ibm中国、intel中国等单位的超过一百名研究人员。

可以看到,很多研究机构都在开展面向众核技术的研究工作,一场面向众核设计相关技术方向的研究竞争已经展开,从自然科学基金的项目申请上就可以清楚看到这个趋势,在2021年和2021年就有二十项左右与多核和众核相关研究的申请获得批准。

由此可见,无论从计算所的传统优势和计算所的定位,还是从技术发展趋势,以及从科研资源获取角度分析,尽快将众核研究推向深入都是势在必行。

二、众核设计的技术问题是什么?众核研究就是一项繁杂的系统性研究,全然无法直观地认知为处理器核的六边形,分析众核结构应以看看处理器结构图做为终点,而不是起点,首要高度关注的就是暗藏在结构图后面系统化的设计思想。

下面我们从三个层次展开分析,表明众核设计所牵涉的关键技术。

众核设计的基础是摩尔定律的延续,也就是人类掌握的最先进的硅制造工艺的进步。

制造工艺的进步带来了四个主要的变化:1.集成度提高,2.带宽受限,3.功耗问题突出,4.线延迟变长。

这些芯片生产工艺变化直接引出了众核设计的关键问题。

首先,芯片集成度的提升就是众核设计的基本条件,这使更多的计算资源可以内置在一块芯片上,但这种内置却也增添了硬件资源管理的困难和对资源的竞争。

如何难地将排序任务展开划分,态射至众多处理器核上?众多处理器核如何互动片上非常有限的存储空间?如何使众多处理器核利用非常有限片上传输网络传递数据,而冲突最轻?如何对片上众多资源展开测试和复原?其次,芯片的访存带宽问题在众核设计中变得更为严峻,访存带宽的限制是众核发展的最大制约。

以nvidiag8800gtx为例,访存带宽为86.4gb/s,计算能力为588.8gflops,每次计算需要2个4b宽数据,计算访存比约为55flops/b,stanford大学设计的流处理器merrimac的排序软件配置管理比为32flops/b,随着工艺的进步,这个比例还将减小,比例越大,就意味著可以在此结构上获得吻合峰值性能的应用领域算法越太少。

这轻易导入了一系列问题,如何使众多处理器核有数据可以算是?如何更充份地利用片上非常有限存储空间的众核间共享资源,以防止片出访存有?如何充分利用非常有限软件配置管理频宽,尽量使软件配置管理地下通道拥挤,并能够优先满足用户处在关键路径处理器核的软件配置管理命令?再有,虽然众核设计有助于提高芯片的能效(power-efficiency),如intel的80核实验设计polaris能效为16gflops/watt,而intel传统超标量clovertown设计的能效为0.35gflops/watt,但是不能忽视,由于众核芯片面积庞大,功耗问题依然突出。

根据半导体国际工艺路线发展报告itrs-2021的分析,在2021年,芯片的供电电压将为0.7v,而目前为1.1v,即使假设不提高设计主频,根据功耗计算公式cv2f,功耗降低仅为(1.1/0.7)2=2.5倍,但集成的晶体管数量却可以增加12倍以上,绝对功耗会有明显增加。

如何在众核设计中提高能效?如何对众多计算资源进行调度管理才能最大限度降低众核设计的功耗?这些问题依然要在众核结构设计过程中寻找答案。

最后,线延后变小短使在众核设计中展开集中控制显得困难,如何使用更分布式的方式顺利完成结构设计?如何在原产的结构中同时实现共享资源数据的递送传播?如何在原产的结构中同时实现高效率的核间不相容mammalian操作方式?将上面根据工艺实现的变化带来的众核设计关键问题进行凝练,众核设计的主要研究内容包括并行编程模型、运行时系统、存储模型、通讯模型等。

在对这些问题进行深入研究,对不同设计部分进行匹配权衡,最终凝练为完善的系统软件、运行时库,以及众核结构模型。

众核结构模型只是整个系统的集中体现。

众核设计就是一种新型的并行计算形式,传统的基于smp或集群的循序研究成果无法轻易应用领域,必须展开再次评价。

这个研究领域尚待化解的问题很多,虽然目前世界上很多研究人员都参予至该领域的研究中,但还没找出系统解决问题的不好方法,而且未来五年,众核设计可以一直就是研究的热点。

三、适合于众核的应用领域就是什么?首先罗列了一下已有众核芯片自称适用的应用领域,包括生物计算、网络安全系列、虚拟现实、信号处理(gsm、mpeg-4、放大、滤波等)、国土安全(加密解密、模式匹配、搜寻等)、网络纸盒处置、生物特征辨识、图形处理、移动游戏、服务器组件和机器人自学等。

从上面的列出可以窥见,适合众核设计的应用领域很广为,下面我们更技术化地从两个层次展开详细分析,一就是应用领域算法本身的特性,一就是融合众核处理器结构,看看何种应用领域更适宜特定众核设计,应用领域的特性如何同结构融合。

应用算法本身特性主要体现在三个方面,即应用算法是否有足够的并行度,计算和访存的比例是否合适,是否强调单线程速度。

如果应用算法本身难于进行并行划分,或者非常强调单线程速度,那就不适合在众核设计上进行并行化,而更适于在指令集并行性开发更好的超标量处理器上执行;如果应用算法对计算能力的需求不高,而数据处理量很大,那也不适合在众核上进行加速,因为目前众核设计最大的限制就是访存带宽。

假如应用算法在这三个方面都是适合的,那就应该考虑用众核设计来加速此应用。

接下来,就要融合众核处理器的结构特点去确认与否与应用领域相匹配,主要考量两个方面。

一方面就是结构上与否积极支持高效率的片上同步和高效率的线程管理机制,这同意着此众核设计能够研发何种粒度的并行性。

如果线程管理的开支不大,而同步效率很高,在相同处理器核上运转的程序段很难在片上展开信息的共享资源与互换,那么就能够研发程序中的细粒度循序,这就是众核设计真正的优势,否则如果同步操作都须要经过内存,那么同传统的smp设计有别,只适宜粗粒度循序。

比如说,nvidia的g8800gtx设计,虽然具有588.8gflops的单精度浮点峰值处置能力,但片上各节点间无法展开通讯,如果通讯必须通过内存,这就并使应用领域范围受了管制,若程序间有较多的有关,就无法获得较好快速效果。

另一方面是结构上是否足够灵活以支持复杂算法的编程实现,如果结构上只支持统一控制的向量运算,那么此结构只适合于规则的运算,例如grape-dr这样的设计,但这样的设计方式可以最大限度地提高处理能力,而且设计相对简单;如果结构上具有灵活性,可以支持非规则计算的计算特征,那么应用范围就更广泛,但需要尽量消除因增加灵活性而带来的开销。

举例来说,像动态规划和介度中心计算,由于其依赖关系距离随着计算不断变化,其计算访存都不规整,因此只有在众核结构上支持类似线程管理、跳转执行、快速同步等机制后才能得到较不好的快速效果。

如果设计使用的就是集中控制的方式,甚至片上存储使用的就是表明编址的存储方式,那么算法在这样的结构上虽然可以努力做到性能受控,但编程的难度可以相当大,引致设计的应用领域推展受到限制,例如ibm的cell和cyclops设计。

综上所述,当推论一个应用领域与否适宜众核设计时,首先必须考量算法与否可以循序化、排序软件配置管理比、与否特别强调单线程性能,如果这些条件满足用户,可以融合特定众核结构分析算法可以循序化后的循序粒度和非规则属性,最终推论算法与否可以在特定众核结构上获得较好的快速。

四、计算所在众核设计上开展了哪些工作?我所非常重视众核设计的研究工作。

前瞻研究中心不懈努力将众核设计同生物排序等应用领域研究结合,彰显交叉学科优势,已经获得了一定实效。

系统结构重点实验室也将多核和众核设计规划为未来五年的研究重点,不懈努力同编程技术、操作系统研究、高可靠性和可以测试性研究等工作结合,在系统上获得群体优势。

众核研究在项目上也获得了有力积极支持,李国杰所长负责管理的973关键性专项项目和刘志勇研究员负责管理的基金重点项目都就是紧紧围绕多核和众多核研究的项目,同时我所在此研究领域上还赢得了一些863积极探索、基金面上项目和国际合作项目的积极支持。

目前,我们所在众核研究上已经获得了一定的进展。

在理论方面,在存储模型一致性上证明了代莱结论;在结构方面,设计了更高效率的流处置众核设计和更有效率的godsont众核设计,在片上同步机制、数据共享和分配策略、可以布局属性上都使用了代莱结构设计方法;在运转时系统软件上,融合处理器结构设计了godrun运转时海量线程管理系统,并将学术界很存有影响的cilk运转时系统移殖至了我们的众核平台上;在应用领域方面,融合排序所在应用领域研究上的累积,积极探索了将生物排序和传统高性能科学计算算法在众核设计上的尝试;在实验方法上,已经顺利完成大规模fpga系统的构筑,并顺利完成了可以拓展fpga众核模拟系统的方案设计和专利萃取。

相关主题