当前位置:主页 > 科技论文 > 计算机论文 >

异构融合平台上的数据流运行时系统研究

发布时间:2020-08-11 23:09
【摘要】:随着半导体工艺的发展越来越逼近物理极限,以及大数据和人工智能等新型应用不断涌现,为了获得更好的计算能效比,微处理器芯片也越来越朝着专用化的方向发展,各种新型的领域专用加速芯片层出不穷。随着加速硬件的多样性不断增加,高性能计算系统也由早期的简单异构变为更加复杂的异构结构。如何将这些异构的加速器硬件有机地融合在统一的软件生态系统里,缩小它们在编程效率和运行效率方面的差异,实现高效能的计算,是一个极为挑战的问题。特别地,在高度异构系统里,硬件的多样性将导致同步和数据移动的代价十分昂贵。如果采用整体同步这样的粗粒度并行计算模型,需要依靠大量的同步操作来协同计算,无法组织起高效的计算;如果采用数据流模型来组织细粒度的并行计算,以一种点到点的方式表达任务之间的依赖,不仅可以消除在异构系统中代价高昂的全局同步操作,还可以最大限度地消除由于任务划分不均匀和硬件多样性带来的性能瓶颈。但是,数据流计算模型在实际应用中仍然面临诸多问题,包括:对应用和异构平台进行一般化的抽象、系统资源分配、在新场景下高效地调度任务,以及在与实际应用结合的过程中如何保证各层次的计算效率等。对这些问题的研究和解决,有助于我们重新思考超异构计算时代的程序执行模型,为今后在大规模复杂异构平台上实现应用程序的统一编程和高效计算提供借鉴和参考。本文旨在从运行时的角度研究数据流模型在异构平台上的若干关键问题,重点研究数据流程序执行模型如何更有效地组织异构计算。通过对程序和异构平台进行一般化的抽象,构建数据流运行时模拟器和性能模型。在此基础上,基于异构平台上数据流运行时系统的软硬件特点,提出具有更高调度效率的细粒度任务调度算法。在实际系统的研究中,则重点讨论了面向深度学习的数据流运行时软件系统。本文的主要研究工作和成果主要包括以下四个方面:1.在总结了目前已有的数据流程序执行模型的基础上,本文提出了更一般化的抽象机器模型和基于有向无环图的抽象程序模型,并构建出一个通用的数据流运行时模型,同时设计了数据流运行时模拟器TripletRun。在模拟器中一方面实现了多种异构系统上主流的启发式任务调度算法,为新调度算法的实现提供了扩展接口;另一方面也为新数据流模型的探索提供了新视角。TripletRun对程序执行过程中任务的不同行为进行了明确定义,这保证了在运行时层面对程序行为的精确模拟,另外它也为程序性能评估提供了不同衡量指标。2.在异构平台上的数据流运行时中,任务调度问题更为复杂,在研究了异构系统上主流的任务调度算法之后,本文结合数据流程序执行模型与异构系统的特点,提出了基于任务节点加权出度的任务调度算法:DONF算法。首先,在数据流程序执行模型中,任务数量更多,且任务间依赖关系更复杂,DONF调度算法采用加权出度这种更简单的方式计算任务优先级,在降低了任务选择阶段时间复杂度的情况下,还避免了对程序有向无环图的遍历,以支持动态调度;其次,异构系统中不同硬件之间差异大,通信在程序执行过程中扮演着更重要的角色,DONF调度算法考虑了通信链路冲突的情况,构建了通信模型以更好地为被调度任务选择处理器。与参与实验评估的异构系统上主流调度算法HEFT、CPOP、PEFT和HSIP相比,DONF系列算法的调度长度比降低了 34.6%-65.8%,并行效率提高了 19%-137%。3.TensorFlow是一个流行的深度学习软件框架,它基于数据流程序执行模型构建。本文在神威超级计算机上,基于TensorFlow构建了数据流深度学习框架swFLOW。经过性能分析与热点优化后,swFLOW在单核组上的性能加速比达到10.42倍。在大规模分布式深度学习中,本文重点就运行时中的通信和数据读取进行了讨论与优化,使得swFLOW在512进程时达到81.01%的并行效率。作为神威系统上最早支持分布式深度学习的框架之一,swFLOW对神威系统上深度学习软件生态的发展以及未来针对深度学习的软硬件协同设计具有重要的参考意义。4.作为理论研究与实际系统相结合的尝试,本文融合TripletRun与Tensor-Flow/swFLOW,提出了一种统一的调度框架。统一调度框架隐藏了实际系统中任务调度策略的实现细节,便于新调度算法的快速实现和效果验证,也允许采用空间搜索等方法实现任务调度或映射;而且统一调度框架可以令TensorFlow/swFLOW自动实现并行计算,免去了由用户对神经网络进行手动分割及反复试验寻找最佳分配方案之虞;再次,通过统一调度框架确定的映射策略可以打破一些紧耦合算子被绑定到一起的限制,在更大解空间内寻找并行策略。初步的实验结果表明了统一调度框架的可行性与实用价值。本文的研究以异构平台上的数据流运行时系统为中心,以任务调度为主线,以通信、数据读取等为重点,涵盖理论研究与实际系统实践,对异构平台上数据流运行时系统的关键问题进行了深入研究与讨论。本文设计的数据流运行时系统模型很好地抽象了异构融合平台上数据流程序的执行过程,提出的任务调度算法与异构系统上主流调度算法相比具有更好的效果。swFLOW框架的设计与实现则为类似平台上数据流深度学习框架的构建提供了有益借鉴,也对神威系统上深度学习软件生态的发展具有重要的参考意义。
【学位授予单位】:中国科学技术大学
【学位级别】:博士
【学位授予年份】:2019
【分类号】:TN305;TP338
【图文】:

制程,工艺发展,版本,趋势


Year逡逑图1.1邋ITRS预测制程工艺发展趋势逡逑ITRS于2015年发布了最终版本,图1.1中展示了邋ITRS最近的两个版本在物逡逑理门电路制程工艺上对集成电路(integrated邋circuit,邋1C)发展的预测,分别于2013逡逑1逡逑

细粒度并行,粗粒度,例子


图1.2例子:粗粒度并行和细粒度并行逡逑除了更高效地组织计算,数据流运行时系统中程序被抽象为数据流图,这助于隐藏硬件细节,对上层提供统一编程接口,以实现在不同异构硬件上无差化地编程,这是本文“融合”概念中的又一层含义。由此可见,数据流运行时统在高效组织计算、提供更好的统一编程接口等方面都有得天独厚的优势,在构融合平台上可以更好地实现协同计算,对解决异构融合场景下的计算问题具意义。逡逑总体来看,发展异构融合计算是大势所趋,而在如何统一编程和高效组织算的问题上,数据流运行时系统具有得天独厚的优势。研究异构融合平台上的据流运行时系统,其必要性可见一斑。逡逑1.2异构融合平台上数据流运行时系统设计的关键问题逡逑随着半导体芯片工业走向专用化的发展方向,全面的、大规模的异构计算大势所趋。在这一新场景下,粗粒度并行模型难以高效地组织计算,以数据流

数据流图,指令序列,数据流计算机,控制流


逦第2章相关研究工作综述逦逡逑方式同步),数据驱动意味着任务的激活完全取决于其输入数据是否就绪。逡逑1.数据流机器语言:数据流图逡逑在大多数数据流计算机中,数据流程序通常以图的方式表达。尽管数据流程逡逑序与控制流程序差异不大,但却需要完全不同的计算机架构。图2.1展示了一个逡逑例子,用以对比控制流(control邋flow)和数据流(dataflow)架构。左图中是控制逡逑流程序,包含“内存到内存”的指令序列,程序的指令和数据存放在不同的内存逡逑空间。图中的实线箭头指向需要被读写的数据地址;控制流则用虚线箭头表示,逡逑通常这种控制流关系在程序中都是隐式表达的。右图中是一个等价的数据流程逡逑序,具有唯一的内存空间,每条指令指向所有依赖于其计算结果的指令。在控制逡逑流计算机中,控制流隐含在指令序列中,为了保证程序执行的正确性,指令的执逡逑行必须严格依照其在指令序列中的顺序依次完成。数据流计算机则采用了数据逡逑驱动执行的机制:被依赖数据项的就绪作为激活新指令执行的信号,这就完全避逡逑免了控制流计算机中对指令执行顺序的严格限制,可以很好地发掘指令级并行逡逑性(instruction邋level邋parallelism,邋ILP)邋0逡逑a邋=邋x邋+邋y逡逑

【相似文献】

相关期刊论文 前7条

1 黄勃田;;太极2220外围子系统概述[J];计算机工程与应用;1987年S1期

2 韩鑫强;薛蕾;王博;张来恩;;新一代天气雷达数据流重传机制设计与实现[J];气象科技进展;2018年01期

3 杨松 ,芦康俊;Video For Windows中视频数据流的使用[J];电子与电脑;1997年11期

4 汤光明,王娜,韩继红,陈伟;基于TCP/IP的多媒体通信实现[J];计算机应用研究;2001年04期

5 袁仁亮;杜冲;袁梅;;试飞遥测系统硬件方案设计[J];硅谷;2010年18期

6 范文辉;对传统网络会话系统的改进新思路[J];现代电子技术;2002年12期

7 侯亚玲;;基于GPRS的水情监测系统设计[J];自动化与仪器仪表;2016年06期

相关博士学位论文 前1条

1 林晗;异构融合平台上的数据流运行时系统研究[D];中国科学技术大学;2019年

相关硕士学位论文 前1条

1 韩旭明;面向隔离交换的应用数据流检测系统的设计与实现[D];国防科学技术大学;2015年



本文编号:2789685

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2789685.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户e477d***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com