基于顶点活跃度的异构图计算平台的研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:crocus
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
图计算在现代社会中的应用越来越广泛,例如在社交网络,生物信息学和信息网络中均有大量应用。由于图结构的不确定性、幂律分布以及复杂依赖关系等特性,图计算在使用冯·诺依曼体系结构的通用处理器(Central Processing Unit,CPU)上的处理效率远未达到理想水平。一方面,由于图的不规则性,导致内存访问的时间过长进而引发流水线插槽无法正常地回退,后续的指令无法正常进入流水线插槽执行。因此,每个周期执行的指令数很少。另一方面,图的不规则性使得图计算应用中大量分支难以较好地预测下一邻居节点的信息,导致指令回滚和重新执行,造成大量性能损耗。而数据流执行模型因其天然的细粒度并行性,可以有效地解决低效指令级并行和分支预测失效的问题。通过在可编程逻辑门阵列(Field Programmable Gate Array, FPGA)实现数据流执行模型与通用处理器CPU进行异构,开展合适的执行模型研究各取两种架构之所长对提升图计算的处理效率有着重要的作用。
  基于顶点活跃度的异构CPU-FPGA图计算平台,针对图计算过程中低效的指令级并行和低效的分支预测问题,根据顶点活跃度的变化情况,可判断图计算在不同的迭代阶段,并依据迭代阶段的不同选择不同的执行模型。具体而言,在图计算迭代的初期或后期阶段,因为顶点活跃度相对较低(指活跃顶点的比例较低),邻居节点信息较好预测,此时CPU可以发挥较好的作用。在图计算中间阶段,顶点活跃度相对较高(指活跃顶点的比例较高),面临着大量不规则访存,且邻居节点状态难以预测,传统CPU执行模型面临低效的指令级并行和低效的分支预测问题。此时,使用基于FPGA的特定数据流执行模型可规避上述开销。总体来看,基于顶点活跃度的异构CPU-FPGA图计算调度机制包括:1)基于图划分后的源顶点活跃度的检测机制,使用启发式算法判断子图当前处于图计算哪个阶段;2)两种执行模式的调度机制,应用了收集-应用-扩散(Gather-Apply-Scatter,GAS)执行模型来解决两种执行模型的差异问题并提高了同步效率;3)兼容不同执行模式的通用数据结构,采用了稀疏矩阵的坐标存储(Coordinate,COO)存储格式,配合interval-shard的图划分方法同时存储顶点和边数组,使其兼容两种执行模式,提高运行效率。
  在典型CPU-FPGA平台上对混合执行模型进行了实现。实验结果表明,与国际上典型的的CPU-FPGA图计算加速器相比,混合执行模型将吞吐量提高了2.2倍;与典型的FPGA设计相比,吞吐量提高2.4倍。
其他文献
随着云计算技术的发展,云存储凭借其扩展性好、部署快、成本低等诸多优势而得到广泛应用,然而近年来屡次出现的数据丢失、泄露、恶意攻击等事件使用户数据面临巨大的安全风险。数据加密技术和访问控制技术是保护数据安全的两个重要手段,现有的密文策略属性基加密方案(CP-ABE)将访问控制技术与数据加密技术相融合,被认为是云环境中最为理想的数据保护方法,但多数CP-ABE存在效率低、对恶意用户攻击的抵御方式过于简
学位
大脑神经网络对人类的思维、情感与行为都起着决定作用,在脑疾病以及类脑智能研究方面具有重要价值。而神经元是构成脑网络的基本单元,重建神经元的拓扑结构并分析其形态特征是脑网络研究中的重要方向。  近十几年来,随着神经标记和光学成像技术的逐渐成熟,科学家已经能够获得单神经元水平的全脑三维图像,为神经元形态重建奠定了数据基础。接下来的问题是如何从这些图像中识别、分割神经元的形态结构,并重建数字化三维模型。
多模型数据库是近年来数据库领域里一个新的研究方向。OrientDB作为一种新兴的多模型数据库,默认的参数配置并不能使其达到最佳性能,需要针对实际应用负载对其参数配置进行调优,现有的单模型数据库上的参数配置调优经验无法直接迁移到OrientDB上,为了降低参数配置调优难度,提高OrientDB性能,充分发挥其潜能,亟需研究OrientDB参数配置自动调优技术。  论文研究OrientDB参数配置自动
为了减少数据处理过程中数据移动带来的开销,近数据处理(Near Data Processing, NDP)提出在存储数据的地方就近处理数据。分布式对象存储系统中的存储节点不仅能用于存储数据,还可以用于近数据处理。然而现有的面向存储系统的NDP方案并未能充分利用大量存储节点的资源来满足近数据处理的需求。  首先设计并实现了一个基于存储节点的本地近数据处理方案,接着复现了已有的异地近数据处理方案,通过
新兴的非易失性存储器件(NVM ,Non-volatile Memory)具有持久性、字节寻址、高集成度、低能耗、价格低廉等优点,相比于DRAM等传统存储器件具有更广阔的发展前景。但NVM器件单元一般仅能承受108~1012次写入,远小于传统DRAM器件的使用寿命。而应用负载的写分布不均更是加速了器件的老损,如何延长NVM器件的使用寿命是目前应用研究的难点之一。  针对现有NVM器件磨损均衡方案存
近年来,云盘凭借其高可用、高可靠、低成本以及可定制化的特点,在云块存储系统中的应用越来越广泛。云块存储系统后端有很多存储仓库,系统通过一定的分配策略将新云盘分配到最合适的仓库来供用户使用。随着云计算和互联网技术的快速发展,用户数据量显著增长,对云盘的分配策略带来了巨大的挑战。由于新云盘在分配前的负载信息未知,现有的云盘分配策略仅考虑存储容量维度,从而导致云块存储系统多维度资源(例如容量、IOPS、
学位
随着多媒体数据的爆发式增长和云存储技术的迅猛发展,海量云端数据呈现出多模态混合并存的特性,如何以内容语义为标准对其进行智能化管理和跨模态分析成为传统云存储系统面临的新挑战。一方面,数据体量的增加和模态之间的差异导致有效数据的检索难度陡然提升。另一方面,现有存储系统中,数据无法建立以内容语义为标准的标签与关联。因此,根据用户需求和内容相关性智能化检索云端多模态数据是当下亟待解决的热点问题。  目前,
大脑作为中枢神经的主要组成部分,是生物体最复杂、最重要的器官之一,其结构和功能机制是当前脑科学研究领域的热点和难点。脑科学研究者们从高分辨生物图像中重建出神经元、血管、核团形态并进行计算和分析,由于形态学研究需要大量数据,数据共享变得尤为重要。然而,目前的数据共享方式局限于文件、文字、图片、视频等静态信息,需要用户下载或者拷贝数据并使用本地软件才可进行形态观察,浪费大量人力与物力。此外,现有的可视
为了处理大量的实时数据流,现有的分布式流处理系统遵循数据并行的原理,并利用不同的数据分区策略。其中一对多分区策略(例如,ApacheStorm中的广播分组)在各种大数据应用程序中起着至关重要的作用。对于一对多数据分区,上游处理实例将生成的元组发送到大量的下游并行处理实例。现有的分布式流处理系统通常基于面向实例的通信来实现一对多数据分区,其中上游实例将数据元组分别传输到不同的下游实例。但是,多个下游
网络功能虚拟化(Network Function Virtualization,NFV)通过虚拟化技术,将传统的基于专用硬件的网络功能,以软件的形式(虚拟网络功能)部署在通用服务器上,然后按需链接对应的虚拟网络功能形成服务功能链,对用户的请求进行服务。然而由于通用服务器的处理能力有限等原因,NFV的性能是一个亟待优化的问题。传统的基于各种先决条件和模型的性能优化方案,在实际网络环境中有很大的限制性