一、人工神经网络在多处理器系统上并行实现的通信开销(论文文献综述)
姚琼杰[1](2020)在《深度学习并行分布式训练机制研究》文中研究指明近年来,为了提升模型性能,深度学习模型的规模和训练数据集不断地增大。然而,基于大规模数据的模型训练面临着收敛缓慢、计算耗时的问题,这对优化算法和硬件计算能力提出了巨大的挑战。并行分布式训练是从硬件计算的角度出发,利用多核/众核处理器、集群或云的计算能力,加速模型训练,减少优化算法的计算时间。针对不同的应用场景,很多深度学习模型被提出,它们的网络结构不同,计算特征也不一样。高效的并行分布式训练需要基于模型的计算特征,并与硬件计算结构协同考虑来设计并行算法或框架。对于单计算卡上的并行训练,主流的并行算法以矩阵计算为核心,其并行性能依赖于所调用的矩阵计算库。对于多图形处理器(Graphic Processing Uint,GPU)上的分布式训练,同步数据并行算法虽然收敛性能好,但它的分布式加速比受模型结构和计算特征的影响,亟待优化和提升。围绕上述问题,从以下三个方面开展研究。从并行训练的硬件体系结构方面考虑,探索集成众核架构(Many-core Integrated Core,MIC)协处理器对深度学习模型的并行加速能力。利用MIC卡具有线程级和单指令多数据流的并行特征,提出了基于小批量(mini-batch)和神经元的两级并行算法,加速无监督深度自编码器模型的训练。为优化并行算法性能,设计计算与传输覆盖策略隐藏CPU与MIC间的数据传输,采用梯度重计算策略减少内存开销,利用原子操作减少线程同步开销。实验结果表明,与基于矩阵计算的并行方法相比,基于小批量和神经元的并行算法加速比稳定,与单核CPU训练相比,取得了4.5倍的加速比。从分布式训练的网络通信开销方面考虑,通过对单机多GPU环境中,不同结构的深度学习模型采用同步数据并行分布式训练时加速比的观察,全连接神经网络的梯度交换面临着严重的网络开销问题,极大降低了分布式训练的性能。基于这一观察,提出基于模型平均的分布式训练框架,各子模型以较低的频率同步,从而减少网络开销。该框架实现了四种模型平均算法,支持随机采样和置乱切分的数据划分方法,通过多个流实现多GPU的并行,设计数据流和计算流策略来实现数据传输与计算的覆盖。基于多GPU的拓扑结构,设计树规约的参数交换机制。实验结果表明,与单GPU并行训练相比,基于模型平均的并行算法在两块GPU上取得了1.6倍的加速比。与同步数据并行相比,它取得了17倍的加速比。从分布式训练算法设计方面考虑,研究基于复合深度学习模型的并行算法。推荐系统是复合深度学习模型的典型应用场景,以手游中商品推荐为例,构建基于长短记忆网络、自编码器和注意力网络的复合推荐框架,以满足该场景对用户兴趣和推荐结果可解释性的需求。其中,长短记忆网络用于建模用户的即时兴趣,自编码器用于特征向量的编码,注意力网络为推荐结果的可解释性提供指导。为加速模型训练,考虑到各子模型的计算特征,提出基于层划分的模型并行算法。与单GPU训练相比,在四块GPU上训练取得了2.6倍的加速比。综上所述,围绕着深度学习的并行分布式训练机制,分别从面向深度自编码器的并行训练、面向全连接深度学习模型的分布式训练和面向复合深度学习模型的分布式训练开展研究,设计并行分布式算法和框架,充分发挥硬件的计算能力,加速深度学习模型的训练。
夏近伟[2](2020)在《异构多核处理器系统的资源管理方法研究》文中研究说明当前,嵌入式系统已被广泛运用于人们生活的方方面面,包括航空、汽车、消费电子产品等,而在广泛的应用场景下也产生了多样化的应用程序。这些针对不同应用场景开发的应用程序往往具有不同的性能、功耗和可靠性需求,面对这种需求,新兴的异构多核处理器因其高性能、低功耗的显着优势已经成为现代嵌入式系统的主流方案。这类系统所面临的一个重要挑战就是如何在运行时根据不同应用在性能需求、行为表现等方面的差异对系统资源进行动态的管理分配从而满足系统及其所运行应用的需求。典型的嵌入式系统应用可以分为两类,一类是那些对安全性和可靠性要求较高的安全应用,比如汽车、飞机中的管理和控制应用,对这类应用由于任何错误的出现都可能导致致命的后果,用户需要确保其可靠性被严格满足;另一类是对安全性和可靠性要求相对较低的非安全关键应用,比如消费类电子产品中的多媒体应用,对于这些应用用户往往希望在尽量保证其稳定运行的情况下能够获得尽量好的性能或服务质量。为此,本文针对异构多核处理器系统中这两类应用的动态资源管理分别展开研究。针对安全应用的动态资源管理,提出了一种基于离散控制器合成(Discrete Controller Synthesis,DCS)技术的方法来对异构多核处理器系统的资源管理部件进行自动、可靠的设计,将形式化的、能够自动构造管理控制部件的离散控制器合成技术应用到异构多核系统的在线资源管理部件设计当中。该方法通过采用形式化模型来描述异构多核系统的资源管理行为(如何为应用分配处理核),并将在线资源管理问题转换为一个面向某个系统管理目标(例如最大化应用性能)的离散控制器合成问题,从而可以使用已有的合成算法和工具来自动的生成一个管理部件,为资源管理器的可靠性提供了形式化的保证。针对非安全关键应用的动态资源管理,为了尽可能的优化系统性能、减少在线计算的开销,本文提出了一种基于机器学习模型进行应用性能预测的在线资源管理方法。该方法一方面构建了一个基于机器学习技术的性能预测器来对应用进行快速高效的性能预测;另一方面通过将应用执行的阶段检测技术与基于竞争交换的策略相结合构建了一个轻量级的在线资源管理算法。实验表明,该方法与常用的完全公平调度(CFS)算法相比,能够在较低的算法复杂度下有效提升异构多核处理器系统的总体性能。
林晗[3](2019)在《异构融合平台上的数据流运行时系统研究》文中指出随着半导体工艺的发展越来越逼近物理极限,以及大数据和人工智能等新型应用不断涌现,为了获得更好的计算能效比,微处理器芯片也越来越朝着专用化的方向发展,各种新型的领域专用加速芯片层出不穷。随着加速硬件的多样性不断增加,高性能计算系统也由早期的简单异构变为更加复杂的异构结构。如何将这些异构的加速器硬件有机地融合在统一的软件生态系统里,缩小它们在编程效率和运行效率方面的差异,实现高效能的计算,是一个极为挑战的问题。特别地,在高度异构系统里,硬件的多样性将导致同步和数据移动的代价十分昂贵。如果采用整体同步这样的粗粒度并行计算模型,需要依靠大量的同步操作来协同计算,无法组织起高效的计算;如果采用数据流模型来组织细粒度的并行计算,以一种点到点的方式表达任务之间的依赖,不仅可以消除在异构系统中代价高昂的全局同步操作,还可以最大限度地消除由于任务划分不均匀和硬件多样性带来的性能瓶颈。但是,数据流计算模型在实际应用中仍然面临诸多问题,包括:对应用和异构平台进行一般化的抽象、系统资源分配、在新场景下高效地调度任务,以及在与实际应用结合的过程中如何保证各层次的计算效率等。对这些问题的研究和解决,有助于我们重新思考超异构计算时代的程序执行模型,为今后在大规模复杂异构平台上实现应用程序的统一编程和高效计算提供借鉴和参考。本文旨在从运行时的角度研究数据流模型在异构平台上的若干关键问题,重点研究数据流程序执行模型如何更有效地组织异构计算。通过对程序和异构平台进行一般化的抽象,构建数据流运行时模拟器和性能模型。在此基础上,基于异构平台上数据流运行时系统的软硬件特点,提出具有更高调度效率的细粒度任务调度算法。在实际系统的研究中,则重点讨论了面向深度学习的数据流运行时软件系统。本文的主要研究工作和成果主要包括以下四个方面: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框架的设计与实现则为类似平台上数据流深度学习框架的构建提供了有益借鉴,也对神威系统上深度学习软件生态的发展具有重要的参考意义。
杨蕾[4](2019)在《基于片上网络的众核系统的设计与优化》文中指出随着纳米工艺的发展,以及集成电路的设计方法、生产技术、芯片封装和测试技术的进步,晶体管的尺寸越来越小,单个芯片上集成的晶体管的数量成倍增长。大规模集成电路,以及超大规模集成电路(Very Large Scale Integration)已经成为嵌入式系统和多处理器系统发展的主要方向。片上多处理器系统(Many-core Systems)的设计框架成为现代嵌入式系统的发展趋势,也是应用最广泛的超大规模集成电路设计。作为最有潜力的下一代片上多处理器系统架构,基于片上网络的众核系统(Network-on-Chip,简称NoC)互联结构能够提供超强大的并行处理能力、高带宽的片上数据传输能力、高效的计算和通信资源利用率以及系统良好的可扩展性,已经被广泛应用于高性能嵌入式系统。处理器单元个数不断上升以满足任务运行的性能需求。然而,芯片上密集的处理器运行时所产生的功耗密度急剧上升,将会导致处理器的温度升高,进而影响芯片的热可靠性,进而严重威胁芯片的寿命。因此,芯片上集成的处理单元无法在同一时间全部开启或者运行在高效率的状态下,其中一部分不得不被关闭以保证温度可靠性,这就是所谓的暗硅现象。针对暗硅片上网络众核系统的出现对系统性能提升、能耗降低和温度可靠性保证等带来的挑战,现有的方法没有充分利用片上网络众核系统的互联结构与系统级任务管理策略相结合的方式来平衡和解决多目标优化的难题。例如,单方面地分散开启芯片上的处理器,虽然能够保证芯片的安全性,但是会使得处理器之间数据传输的距离增大、片上通信的延迟增加,从而导致系统的性能降低并增加能耗开销。为此,本文基于对片上网络的众核系统架构的设计,采用系统级的任务映射和调度策略,对任务的计算性能、片上的数据通信效率、系统的能耗开销以及芯片的温度可靠性等进行研究并实现协同优化。相对于已有的工作,本文通过深入分析系统架构的特性对研究目标的影响,采用软硬件协同设计的方式,结合新型异构多处理器系统的设计方式以及多处理器系统中任务的管理方式,充分利用片上网络众核系统的互联结构和处理单元的异构性,实现片上网络的众核系统的计算能力、通信效率、系统能耗和芯片温度的多目标优化。主要研究内容如下:(1)分析了片上网络众核系统的通信架构,分析和构建片上网络系统中多处理单元之间的数据传输在空间和时间上的冲突模型,采用整数线性规划方法(Integer Linear Programming,简称ILP)求得高质量解,以减少数据传输冲突从而提高通信效率。细粒度地分析了片上网络系统中多处理单元之间的数据传输在空间和时间上的冲突情况,利用整数线性规划的方法求得片上通信的最优解,以减少数据传输冲突,从而提高通信效率。(2)研究了暗硅片上众核系统性能、能耗和温度可靠性等协同优化技术。根据任务的通信需求,采用软硬件协同设计的技术,设计了静态的片上网络众核系统结构和可重构的片上网络通信架构,并提出了相应的系统级任务分配和调度策略。硬件方面,分别提出三种不同的片上网络互联结构设计方案,包括基于折环式的片上网络结构FoToNoC、基于四核集群的片上网络结构QcNoC和动态可重构的SMART NoC。软件方面,相应地设计了匹配的任务映射和调度的优化模型以及启发式算法。结合集群式的众核系统管理机制,发挥了硬件结构的优势,解决了芯片的热可靠性和片上通信性能优化之间的矛盾,有效提升了片上网络的通信效率,进而提高应用的执行性能和降低系统的能耗。进一步利用SMART NoC的单周期多跳数据传输的技术,根据任务映射和数据交换的需求动态重构片上通信拓扑结构,实现少冲突、低延迟和低能耗的片上通信。(3)针对通信和计算密集型任务,基于非易失性存储技术的新型片上网络众核系统,利用存内计算(Processing-In-Memory,简称PIM)的技术,研究了任务的计算和数据传输性能的优化问题。分析计算和通信密集型应用的任务模型,设计了处理单元和路由器存储单元同时做计算的任务调度方案,减少网络中的数据传输量,从而提高系统效能。利用非易失性存储器可做存内计算(PIM)的属性,在数据传输s中,将处理器上的部分计算在集成STT-RAM的路由器中完成。不仅将原本发生冲突的数据以计算取而代之,还能有效减少网路中数据传输量。提出了任务分配、计算和数据通信管理策略,在任务分配和调度过程中最大化数据相遇。网络冲突不再是性能提升的瓶颈,而被用作提供更多存内计算的机会,最终提高系统通信和计算效率。本文对所提出的片上网络众核系统架构、多处理器的拓扑结构和对应的系统级任务映射和调度策略进行了验证。其中,针对所设计的静态片上网络结构FoToNoC和QcNoC,以及动态可重构的SMART NoC,从处理单元物理结构和逻辑互联不同方面进行管理和优化,在保证芯片温度可靠性的前提下,大大减少片上通信延迟、有效提高系统性能并降低系统能耗。通过GEM 5,McPAT,HotSpot和MatEx等模拟器验证,实验结果表明,上述所提出的结构设计和优化方案能够有效地管理基于片上网络的众核系统的计算和通信,较现有的方法和技术而言,在系统能效和温度可靠性方面均得到了显着的提升。
姜炜文[5](2019)在《高效能异构流水线系统的设计与优化》文中提出随着新兴智能计算领域的高速发展,包括计算视觉、语音识别、自然语言处理等领域,不仅应用本身的复杂度不断增加,而且对系统的计算能效,即单位能耗的计算性能,要求也越来越高。在这样的背景下,如何针对人工智能应用设计出高效能的实时并行系统已经成为了工业界和研究界高度关注的重点领域。异构流水线架构成为实现该类系统的一个有前途的解决方案。以深度神经网络为例,随着网络结构的不断加深,流水线设计已成为提升系统性能的重要手段;同时,由于应用子结构间具有显着性差异,为了降低能耗,异构平台能够为应用量身定制能耗最低的解决方案。虽然目前已有大量工作探索软件层的应用结构搜索空间,以及硬件层的异构加速器设计空间,但是独立地探索这两个空间并不能保证最终合成的完整系统达到最高能效。为此,本文致力于软硬件协同设计,针对不同应用与不同硬件平台的特性,开展异构流水线系统的设计与优化研究。相较于已有的科研工作,本文将探索各类异构平台,包括基于现场可编程门阵列(FPGA)集群系统、基于通用计算处理器的多核片上系统、以及基于异构通信的大规模分布式系统,全面地开展软硬件系统的协同设计与优化工作。通过设计高效最优解算法,充分挖掘软件内部的并行性与最大化硬件计算资源利用率,设计并优化效能最高的异构流水线系统。本文的研究内容如下:(1)以卷积神经网络与现场可编程门阵列为例,研究在任务具有固定执行时间的硬件平台上的异构流水线系统的设计与优化。首次提出将卷积神经网络部署到异构现场可编程门阵列(FPGA)集群,设计出基于动态规划的最优解算法。同时,本文将卷积神经网络进行流水线阶段划分,并针对每一个流水线阶段,分配到能获取最高效能的FPGA进行实现。进一步,针对单一卷积层进行细粒度优化,通过划分子任务,均衡计算与通信。所提出的技术在N块FPGA上获取超过N倍的性能提升,即超线性性能提升。在此基础上,引入卷积神经网络结构搜索,首次提出协同探索“神经网络结构空间”与“硬件设计空间”的搜索框架。(2)以基于多核片上系统的移动计算平台为例,研究任务在具有不确定性时间的硬件平台上,异构流水线系统的设计与优化。首次提出变节奏流水线的运行模式。利用概率模型对任务执行时间进行建模,并针对路径型与树型结构的应用,通过结合动态规划与帕累托最优曲线方法,设计出高效最优解算法。针对有向无环图型结构的应用,设计出基于动态规划与线性规划的高效(1+ε)近似最优解算法。所生成的系统能够满足给定要求的保证概率,同时在规定时间内完成任务,并最小化系统总开销。(3)针对大规模分布式系统,提出使用异步通信模式进行流水线阶段之间的通信。研究理论基础问题,包括运行行为的建模与死锁状态的分析与避免。在此基础上,研究了异步异构流水线系统的设计与优化,提出了高效的动态规划算法。本文对所提出的搜索框架与优化算法进行了实验验证。实验结果验证了上述技术的有效性与高效性,对于上述NP-Hard优化问题,所设计的算法能够在伪多项式时间内,针对不同结构应用,找到最优解或近似最优解。相比于能够找到最优解的整数线性规划数学方法,所提出的方法能够在找到相同解的情形下,将搜索时间缩短超过10,000倍以上;对比已有的启发式算法,在其不能够找到任何有效解的情形下,所提出的算法能够给出最优解。面对当下涌现的大量人工智能应用,本文所提出的搜索框架与优化算法能够很好地解决其实现中对性能和能耗的需求,为嵌入式系统、云计算平台以及物联网的落地提供理论基础与技术支持,促进智能科技产业的发展。
方佳瑞[6](2019)在《基于“神威·太湖之光”的并行深度学习训练系统》文中研究指明深度学习是目前最成功的人工智能技术,有望带领人类真正进入智能时代。巨大的计算需求正驱动着深度学习系统软件和超级计算机的结合。因为有美国对我国高性能芯片禁售的前车之鉴,规划中的下一代国产超算系统将全部采用国产众核处理器制造。但是,国产超算上的深度学习系统软件的研究仍是一片空白,它的构建过程临着多方面挑战:一是缺少适合国产众核处理器创新硬件架构特点的优化指导方法;二是缺乏从复杂深度学习计算核心到全新体系结构的映射方法;三是国产编译工具和系统库使用时仍有待克服的技术障碍;四是需要创新的优化方法来解决网络、I/O等硬件模块在超大规模扩展时遇到的问题。为解决以上挑战,本文以我国最快的超级计算机一采用国产“申威26010”异构众核处理器的“神威·太湖之光”为目标平台,针对深度学习训练任务提出了一套系统化的软件设计方法。为了更高效进行开发和调优,本文采用模块化的软件组织方法,将深度学习训练系统分解为矩阵乘法、深度学习算子、自动代码调优和并行通信等功能模块。具体来说,本文的主要贡献如下:第一,本文设计了适合“申威26010”创新体系结构特性的性能分析模型和张量化编程模型。在性能分析模型指导下,使用以张量为操作目标的访存和计算原语来表达算法,可以弥合硬件使用方式和算法设计之间的鸿沟。为了实现张量化编程模型所需要的关键计算原语,本文提出了面向众核核间通信机制的矩阵乘法。第二,本文将性能分析模型和张量化编程模型应用于深度学习计算核心的优化中,并提出了自动化的代码调优方法来减少工程负担。首先,在“申威26010”上设计了常见的复杂深度学习算子优化方法,包括卷积、全连接、LSTM等。然后,为深度学习算子设计了端到端的自动调优和代码生成方法,使优化后的算子实现获得了超过GPU上cuDNNv7.5的运算效率。第三,本文研究了超级计算机上深度学习并行训练的关键技术,在系统和算法层面突破了扩展瓶颈。系统层面上,本文在“神威·太湖之光”上实现了一个并行训练框架,通过对网络通信、I/O、内存管理等方面定制优化后,可以在1024节点上完成目前常用的深度学习模型的训练任务。算法层面上,本文使用残差梯度压缩方法减少需要通信的数据量,在不损失模型精度条件下,提升了系统的可扩展性。它不仅在最新的GPU超级计算机上显着加速了曾经难以扩展的深度学习训练过程,还能为下一代国产超级计算机上深度学习系统软件设计提供参考。
陈鲍孜[7](2019)在《面向MPSoC虚拟化体系结构的操作系统关键技术》文中进行了进一步梳理集成电路制造工艺的发展与人们对计算性能的不断追求,使得MPSoC成为从移动计算到高性能计算硬件平台上的主流发展方向。随着越来越多的计算单元被集成到单一芯片上,如何更有效地使用单芯片上的资源从而获得良好的系统伸缩性成为摆在系统软件设计者前面的重要问题。在MPSoC系统上部署虚拟化技术是解决该问题的一种有效的解决方式。同时,虚拟化也带来了保障虚拟机的安全和提高虚拟机系统性能的挑战。针对面向MPSoC虚拟化体系结构的操作系统技术进行研究,可为未来基于多核处理器芯片的系统软件设计与实现提供良好的理论与技术基础,具有重要的理论意义与应用价值。本文针对面向MPSoC虚拟化体系结构的操作系统关键技术中的虚拟化系统结构、边信道安全隔离机制、网络I/O虚拟化的扩展性性能优化等方面展开了一系列的研究。文章首先对开源虚拟化平台与体系结构、虚拟机安全与I/O虚拟化技术进行了综述,然后介绍了基于飞腾硬件虚拟化技术的的操作系统设计,对虚拟化体系结构的边信道安全与高可伸缩MPSoC网络I/O的虚拟化技术进行了研究,最后实现了飞腾平台下基于硬件分区的虚拟机监控器并完成了系统性能测试。具体贡献包括:1)针对飞腾平台的体系结构特点,设计了基于飞腾硬件虚拟化技术的操作系统。文章分析了飞腾平台所提供的CPU虚拟化、内存虚拟化、中断虚拟化以及计时器虚拟化的硬件机制,讨论了飞腾平台下虚拟化系统设计中触发自陷的敏感操作、虚拟机上下文切换、两阶段地址转换机制、中断注入方式以及计时系统,完成了面向飞腾平台虚拟化系统的软件设计。此外,文章分别从CPU虚拟化支持、上下文切换方式、内存虚拟化机制、计时器虚拟化机制、中断以及中断注入分析对比了飞腾平台硬件虚拟化机制与Intel x86平台的异同。2)针对虚拟化体系结构下的边信道安全,提出了一种针对熔断漏洞主动切断隐蔽信道的防护方法。该方法在检测到异常时将噪声注入边信道或对微体系结构状态进行复位,实现了针对熔断漏洞的按需隔离。相比现有的KAISER,该方法还可以用于防御针对系统寄存器的信息泄露(熔断漏洞变种II)。由于噪声注入或状态复位的操作仅出现在异常处理路径上,因此大部分普通应用程序的性能几乎不受到影响。根据测试,该方法引入的系统性能折损率不超过1%。此外,本文针对幽灵漏洞的Retpoline防护方案进行了性能分析,提出了利用用户态网络的性能优化方案,使其网络I/O性能折损率从6.67%降低至1.27%。3)针对多核虚拟机的可扩展性问题,设计实现了基于飞腾体系结构的多队列虚拟网络I/O机制。根据实验观测,当网络I/O并发度逐步提高时,飞腾平台下虚拟机系统性能出现了明显的性能回退,增加虚拟CPU数量反而会降低系统性能。基于飞腾硬件中断虚拟化技术,本文使用虚拟MSI实现了多队列虚拟网络I/O。该机制提高了飞腾平台下虚拟机的中断处理性能,增强了虚拟机网络报文处理在多核系统上的可扩展性。实验表明,当虚拟机的CPU核心数设置为12时,相对优化前设计,虚拟网络I/O的并发请求处理吞吐率在Linux网桥、Macvlan以及Open vSwitch三种配置下分别提高了53.03%、59.78%与71.26%。4)实现了基于飞腾平台的硬件分区虚拟机监控器,解决了由飞腾平台缓存特性引入的模拟设备实现问题。相比x86架构,飞腾平台将页面高速缓存的一部分管理工作暴露给软件系统。对于飞腾平台下模拟I/O设备的实现,系统软件需要显式地介入高速缓存系统,以保证系统正常运行所需的缓存一致性。本文对飞腾平台高速缓存一致性特点进行深入分析后,改进了虚拟化平台下客户操作系统内核的加载流程,解决了飞腾平台下模拟设备的缓存不一致问题。
张影[8](2019)在《基于机器学习的异构多核系统在线映射方法研究》文中进行了进一步梳理随着科技的进步和时代的发展,嵌入式系统几乎应用在我们生活中的各个方法,如家用电子产品、通信、汽车和航空电子设备等。从这些应用中,我们可以观察到嵌入式系统发展的新趋势:第一,功能多样化;第二,低功耗和高性能;第三,自适应性。为了满足上述的需求,传统的单核处理器由于受到功率密度的限制,通过提高处理器的时钟频率已经很难满足这些需求,异构多核处理器(Heterogeneous Multi-Processes,HPMs)成为现代嵌入式系统的主流解决方案。对于异构多核处理器来说,如何充分利用它的并行性来提高系统的性能并降低功耗,需要解决的一个重要问题是任务的动态映射(或调度)问题。而动态映射问题的关键是要能够对系统的资源分配和调度方案进行性能等方面的评估,传统的性能评估方法有建立成本模型和仿真模拟两种方法,但是受到准确性以及高效性等方面的制约,不能得到广泛的使用。针对如何创建一种既能提高性能评估准确性,又能提高效率的方法,基于机器学习的方法能够自动的学习和分析系统行为并产生相应设计的解决方案,这无疑可以很大程度上减少设计人员的负担。本文分析了当前异构多核系统的发展趋势以及面临的问题,重点围绕异构多核系统的应用任务动态映射问题展开研究,提出了一种基于机器学习预测模型的在线映射调度解决方案。首先,本文分别采用两种离线监督机器学习方法:一种是使用支持向量机和自适应增强技术的分类学习,另一种是使用人工神经网络的回归学习,构建了三种可以快速地预测不同映射方案性能的性能预测模型;然后,针对运行时任务的动态映射和调度问题,将性能预测模型和遗传算法相结合,构造了一个在线任务动态调度方法,并通过实验与最优的映射方法和常见的轮询调度、抽样调度方法进行分析和比较。
洪扬[9](2019)在《可扩展共享内存系统的关键技术研究》文中研究说明随着大数据技术的普及,各种领域的应用对于计算资源的需求与日俱增。以Map Reduce、图计算、深度学习等应用为代表的大规模内存计算代表着最新的应用发展方向。然而随着半导体工艺发展的放缓,应用已经无法从处理器的更新换代中持续获得可扩展的性能提升,基于多处理器技术硬件平台已经成为主流。共享内存的抽象是设计运行于多处理器之上的并行应用的基础。小至多核处理器和众核处理器,大至分布式的集群,共享内存系统在各个层次的多处理器环境中都有重要的应用。共享内存系统的设计目标是高可扩展性,即通过增加处理器的数量,应用的性能可以获得相匹配的提升。目前多处理器系统有两种基本的形式:1.单机多处理器上的共享内存系统在一台计算机中集成复数的处理器单元,典型代表是多核系统(Multi-core)和众核系统(Many-core);2.分布式多处理器上的共享内存系统突破了单机多核系统的限制,使用计算机网络把多台计算机连结起来构成一个松耦合的分布式系统,可以很容易通过增加节点机器数量实现水平扩展。然而,在多处理器系统上实现高可扩展性的共享内存抽象存在着一些共同的挑战。首要的挑战是高效地维护共享数据访问的一致性。多个处理器同时访问共享内存时,不可避免地会发生对同一份数据的访问,包括加载和修改。共享内存系统必须保证多个处理器看到的数据是一致的,否则并行程序将无法正确运行。然而维护数据一致性会影响共享内存系统的可扩展性。如果系统保证的一致性越强,则软件的正确性越容易得到保证,但可扩展性越受限;反之,则共享访存具有较高自由度,系统可扩展性也较高,但是软件的正确性也越难保证。其次,实现高效的线程同步也是提高系统可扩展性的挑战之一。线程同步对于协同完成一项任务是必不可少的。并行应用通常使用线程同步机制来控制对于共享数据的访问。然而各种线程同步机制都会引入不可忽视的性能开销,这种开销的增加意味着程序代码中不可并行部分的增加,从而制约可扩展性。最后,共享内存多处理器系统的易用性与性能的取舍也是重要因素之一。并行程序的复杂性以及操作系统调度的不确定性对程序员设计和实现正确的并行应用程序提出了巨大挑战。为了简化编程难度,方便调试和除错,共享内存系统往往需要在内存一致性强弱、数据同步的效率以及编译器和编程语言的支持等层面做权衡取舍。本文的研究工作通过分析传统并行应用和新兴大数据应用,理解应用程序的访存特点和模式,结合现有硬件特性和接口,分析应用的性能瓶颈和可扩展性的制约因素。针对新型大数据应用和新的硬件特性,本文从单机和分布式的共享内存多处理器两个角度,围绕提高应用可扩展性的目的,探索硬件机制、软件系统的架构以及软硬件结合的接口的设计。本文的主要研究内容分为以下三个部分:1.通过分析保证顺序一致性的软硬件方案,研究总结产生违背顺序一致性错误的根本原因,并探索现有的内存屏障机制的内在缺陷。现有的针对内存屏障优化方案往往过于复杂或者依然有优化空间,甚至可能而引入额外性能开销。因此本工作不使用传统的内存屏障机制,而是提出了一种全新的软硬件结合的方案,通过简单的编译器分析技术找出潜在导致违反顺序一致性错误的共享访存并做标记,设计扩展硬件单元在执行访存指令时动态地检测违反顺序一致性的险情,并延迟相关指令的执行,来主动避免错误的发生。通过对线程同步算法和真实并行基准测试的实验,本文实现的系统可以将同步算法的性能提高10%,并将SPLASH-2和PARSEC中因内存屏障导致的开销从42%降至3%。2.通过分析大数据应用的特征,总结大规模内存计算的访存特点和同步模式。本文发现,新兴的大规模内存计算往往具有同步粒度粗、访存时空局部性较好、包含一定同步语义等特点。在此基础上,本文重新思考了传统分布式共享内存的设计,并结合当下处理器性能和计算机网络性能的特点,重新审视分布式共享内存系统的设计。本工作基于IVY的分布式共享内存协议,针对访存特征和硬件特性提出了4项优化方案。这些优化减少了缺页处理的次数,降低了TLB刷新和网络请求的处理开销,并提出一种混合的一致性模型以允许程序员针对特定模式的共享访存使用自定义的数据同步方式,避免了顺序一致性模型的固有缺陷。实验结果表明本工作提出的优化最多可以将图分析算法的性能提升9.25倍,并且显着提升应用的可扩展性。3.通过研究高速网络提供的RDMA通信原语,分析单边原语与双边原语的不同特点,探索底层原语的实现原理和使用的最佳实践。在此基础上,本文分析了分布式共享内存协议中操作之间的相互依赖关系和协议操作开销的主要来源,认为传统的基于消息传递的协议实现会引入性能开销,并探索了协议操作与RDMA原语相结合的可能性。本文提出了一个基于RDMA原语的分布式共享内存协议,根据不同的应用场景使用适合的RDMA原语,并且提出延迟TLB刷新、重叠RDMA请求和基于RDMA的同步原语等优化。实验表明,结合单边和双边原语实现的分布式共享内存协议相比可以减少42%的协议处理时间,并且比之前的工作具有更好的可扩展性。
李思照[10](2018)在《片上多核系统软件特性及系统可靠性分析研究》文中提出随着片上多核系统在移动终端上的广泛应用及其系统任务不断增加,可重构片上网络及其多核系统的性能效率与可靠性已成为制约其在移动计算和相关应用推广的重要因素。为了确保整个系统安全稳定地运行,就需要在软件运行效率、系统可靠性及任务调度管理等方面进行相关理论分析与技术实践研究。本文首先针对指令集的特点,描述了片上多核系统软件运行的行为特性,并建立了不同类型的软件执行模型,以优化系统对指令的预取效率,从而提高Cache命中率。然后,为了保证Cache命中率,建立Cache一致性协议的故障模型,分析协议中所存在的可靠性问题,并以此故障模型作为基础来描述HCS片上网络结构的整体稳定性,为片上多核系统的设计提供了可靠性分析方法。最后,为了保证整体系统的稳定及有效的运行,以竞态条件作为分析手段来描述系统任务运行时所存在的不确定性,并利用最大熵方法提出一种新的任务调度优化算法。本论文的主要工作内容和创新点如下:(1)针对现有的软件程序在片上多核系统中运行效率较低的问题,首先以精简指令集为基础引入马尔科夫状态机模型来描述指令的执行过程,然后结合进程代数及符号逻辑方法对软件行为进行分析,建立软件行为特性模型,同时利用随机抽样优化算法对该模型进行特征提取,从而降低计算量并以此来提高Cache命中率。(2)针对Cache 一致性协议在片上网络系统中由于其协议中状态转换而引发的可靠性问题,以故障树模型作为基础对一致性协议进行故障分析,同时利用基于OBDD的k-端模型建立HCS片上网络结构的系统可靠性模型,从而分析了现有协议存在的可靠性问题并验证了 HCS片上网络结构的优势所在。(3)针对多核系统中任务调度存在竞争关系从而导致系统运行结果不正确的问题,以竞态条件作为基础研究任务并行运行时的不确定性,同时利用最大熵理论对任务进行优化来消除此种具有不确定性的竞态关系,最后通过实验验证此任务调度算法在系统执行时间、CPU利用率、吞吐量等方面具有较大优势。最后,基于本文所提出的技术与方法,开发一套片上多核系统如硬件协同设计验证平台,通过此平台可以为今后片上多核系统的整体系统设计提供解决方案。
二、人工神经网络在多处理器系统上并行实现的通信开销(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、人工神经网络在多处理器系统上并行实现的通信开销(论文提纲范文)
(1)深度学习并行分布式训练机制研究(论文提纲范文)
摘要 |
Abstract |
1 绪论 |
1.1 研究背景 |
1.2 国内外研究现状 |
1.3 研究内容 |
1.4 论文组织结构 |
2 面向深度自编码器的并行训练 |
2.1 研究背景 |
2.2 研究问题 |
2.3 基于小批量和神经元的并行算法 |
2.4 实验评估 |
2.5 本章小结 |
3 面向全连接深度学习模型的分布式训练 |
3.1 研究背景 |
3.2 研究问题 |
3.3 基于模型平均的分布式训练框架 |
3.4 实验评估 |
3.5 本章小结 |
4 面向复合深度学习模型的分布式训练 |
4.1 研究背景 |
4.2 复合深度学习模型在推荐系统中的应用 |
4.3 基于层划分的分布式训练算法 |
4.4 实验评估 |
4.5 本章小结 |
5 总结与展望 |
致谢 |
参考文献 |
附录1 攻读博士学位期间发表的主要论文 |
附录2 攻读博士学位期间参与的主要科研项目 |
(2)异构多核处理器系统的资源管理方法研究(论文提纲范文)
致谢 |
摘要 |
abstract |
1 绪论 |
1.1 研究背景和意义 |
1.2 国内外研究现状 |
1.2.1 设计时资源管理 |
1.2.2 运行时资源管理 |
1.2.3 混合式资源管理 |
1.3 主要研究内容和贡献 |
1.4 论文结构 |
2 相关知识与关键技术 |
2.1 异构多核处理器介绍 |
2.1.1 概述 |
2.1.2 典型架构 |
2.2 异构多核处理器系统的资源管理 |
2.2.1 概述 |
2.2.2 关键问题 |
2.2.3 主要挑战 |
2.3 关键技术介绍 |
2.3.1 离散控制器合成技术 |
2.3.2 机器学习技术 |
2.4 本章小结 |
3 基于离散控制器合成技术的资源管理方法 |
3.1 基于离散控制器合成技术的资源管理方法介绍 |
3.1.1 整体设计流程 |
3.1.2 处理器平台资源模型 |
3.1.3 应用行为模型 |
3.1.4 系统全局行为及控制目标定义 |
3.1.5 系统模型集成和编码 |
3.2 实验和结果分析 |
3.2.1 实验设置 |
3.2.2 控制器行为正确性验证 |
3.2.3 方法可拓展性评估 |
3.3 本章小结 |
4 基于性能预测和竞争交换的资源管理方法 |
4.1 基于性能预测和竞争交换的资源管理方法介绍 |
4.1.1 整体设计框架 |
4.1.2 性能预测器的构建 |
4.1.3 初始化映射 |
4.1.4 应用的阶段检测 |
4.1.5 在线重映射 |
4.2 实验和结果分析 |
4.2.1 实验配置 |
4.2.2 预测器性能评估 |
4.2.3 实验验证和分析 |
4.2.4 算法复杂度分析 |
4.3 本章小结 |
5 总结与展望 |
5.1 论文工作总结 |
5.2 未来展望 |
参考文献 |
攻读硕士学位期间的学术活动及成果情况 |
(3)异构融合平台上的数据流运行时系统研究(论文提纲范文)
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 异构融合平台的出现与发展趋势 |
1.2 异构融合平台上数据流运行时系统设计的关键问题 |
1.2.1 数据流运行时系统模型 |
1.2.2 系统资源分配 |
1.2.3 计算任务调度 |
1.3 论文主要研究工作 |
1.3.1 异构融合平台上的数据流运行时系统建模 |
1.3.2 异构融合平台上的任务调度 |
1.3.3 面向国产超算系统的线程级数据流运行时系统设计 |
1.4 论文结构 |
第2章 相关研究工作综述 |
2.1 数据流计算模型的发展 |
2.1.1 指令级数据流计算模型 |
2.1.2 线程级数据流计算模型 |
2.2 异构系统上的任务调度算法 |
2.2.1 异构系统上的任务调度问题 |
2.2.2 异构系统上的主流调度算法 |
2.3 面向深度学习应用的数据流运行时系统 |
2.3.1 深度学习 |
2.3.2 分布式深度学习中的任务映射 |
2.4 小结 |
第3章 异构融合平台上的数据流运行时系统建模 |
3.1 引言 |
3.2 异构融合线程级数据流计算系统的通用模型 |
3.2.1 抽象机器模型 |
3.2.2 抽象程序模型 |
3.2.3 线程级并行程序执行模型 |
3.3 TripletRun:一种异构融合数据流运行时系统的建模 |
3.3.1 机器模型 |
3.3.2 程序模型 |
3.3.3 程序执行流程的模拟与结果输出 |
3.3.4 主流任务调度算法实现 |
3.4 程序性能分析模型 |
3.4.1 基于执行时间评估性能 |
3.4.2 并行效率 |
3.4.3 平均等待时间 |
3.4.4 负载平衡 |
3.5 小结 |
第4章 异构融合数据流运行时系统里的任务调度 |
4.1 任务调度问题的抽象 |
4.2 一种基于节点出度的任务调度算法的设计 |
4.2.1 算法设计思想 |
4.2.2 算法复杂度分析 |
4.2.3 节点出度因子的确定 |
4.2.4 实验评估 |
4.3 一种统一任务调度框架的设计 |
4.3.1 TensorFlow中任务调度存在的问题 |
4.3.2 统一任务调度框架设计思想的提出 |
4.3.3 统一任务调度框架在TensorFlow上的实现 |
4.4 小结 |
第5章 swFLOW:一个实际的线程级数据流运行时系统设计 |
5.1 神威·太湖之光 |
5.1.1 申威SW26010体系结构 |
5.1.2 整体架构与编程环境 |
5.2 神威·太湖之光上面向深度学习应用的数据流运行时系统设计与实现 |
5.2.1 主要设计思想 |
5.2.2 实现方案 |
5.2.3 卷积神经网络性能分析 |
5.2.4 卷积算子优化:从核扩展 |
5.2.5 分布式实现与优化 |
5.3 实验评估 |
5.3.1 单进程实验评估 |
5.3.2 数据并行多进程实验评估 |
5.3.3 实验结果综合分析 |
5.4 讨论:swFLOW与神威·太湖之光 |
5.5 小结 |
第6章 全文总结 |
6.1 研究工作和成果 |
6.2 主要创新 |
6.3 局限性与进一步工作 |
参考文献 |
致谢 |
在读期间发表的学术论文与取得的研究成果 |
在读期间参与的科研项目 |
(4)基于片上网络的众核系统的设计与优化(论文提纲范文)
中文摘要 |
英文摘要 |
1 绪论 |
1.1 引言 |
1.2 研究背景及国内外研究现状 |
1.2.1 研究背景 |
1.2.2 性能和能耗优化的研究现状分析 |
1.2.3 系统中暗硅现象的研究现状分析 |
1.2.4 异构片上网络众核系统设计的研究现状分析 |
1.2.5 混合型片上网络的众核系统的研究现状分析 |
1.3 研究目的与研究内容 |
1.3.1 片上网络的众核系统中通信优化 |
1.3.2 暗硅片上网络众核系统的设计和优化 |
1.3.3 基于NVM的混合型片上网络众核系统的设计与优化 |
1.4 论文的主要贡献 |
1.4.1 片上网络的众核系统中通信优化的研究 |
1.4.2 暗硅片上网络众核系统的设计和优化的研究 |
1.4.3 基于NVM的混合型片上众核系统的设计与优化的研究 |
1.5 论文组织结构 |
2 片上网络的众核系统中通信分析优化模型的研究 |
2.1 引言 |
2.2 研究动机 |
2.2.1 国内外发展现状 |
2.2.2 现有问题的分析和总结 |
2.3 片上网络系统的通信优化模型 |
2.3.1 系统和任务模型定义 |
2.3.2 片上网络的众核系统中数据传输的冲突模型构建 |
2.3.3 片上网络的众核系统中任务计算和数据交换的优化 |
2.4 实验及分析 |
2.4.1 实验方法和配置 |
2.4.2 实验结果和分析 |
2.5 小结 |
3 暗硅片上众核系统的设计与优化 |
3.1 引言 |
3.2 研究动机 |
3.2.1 国内外发展现状 |
3.2.2 现有问题的分析和总结 |
3.3 软硬件协同优化片上众核系统的性能、能耗和温度可靠性 |
3.3.1 芯片运行时温度预测模型设计与实现 |
3.3.2 基于折环式的众核系统FoToNoC的设计与实现 |
3.3.3 针对片上网络的暗硅众核系统的协同优化方案 |
3.3.4 基于四核集群的众核系统QcNoC的设计与实现 |
3.3.5 动态可重构的众核系统SMART NoC的设计与实现 |
3.3.6 两阶段的系统级任务映射和集群管理方案设计与实现 |
3.4 实验及分析 |
3.4.1 实验方法和配置 |
3.4.2 实验结果和分析 |
3.5 小结 |
4 基于非易失性内存的混合型片上众核系统设计与优化 |
4.1 引言 |
4.2 研究动机 |
4.2.1 国内外发展现状 |
4.2.2 现有问题的分析和总结 |
4.3 基于STT-RAM混合架构的片上计算和通信架构 |
4.3.1 基于STT-RAM的片上网络众核系统对计算和通信的优化 |
4.3.2 基于STT-RAM的片上网络众核系统的设计和问题的定义 |
4.3.3 针对应用任务计算和通信优化的方案 |
4.4 实验及分析 |
4.4.1 实验方法和配置 |
4.4.2 实验结果和分析 |
4.5 小结 |
5 总结与展望 |
5.1 工作总结 |
5.2 展望 |
5.2.1 现有工作的应用和优化 |
5.2.2 将继续对片上网络的存储结构的探索 |
参考文献 |
附录 |
A 攻读博士学位期间的主要研究成果 |
B 攻读博士学位期间申请的专利和软件着作权 |
C 攻读博士学位期间参加的主要科研项目和得奖情况 |
D 学位论文数据集 |
致谢 |
(5)高效能异构流水线系统的设计与优化(论文提纲范文)
中文摘要 |
英文摘要 |
1 绪论 |
1.1 引言 |
1.2 研究背景及国内外研究现状 |
1.2.1 研究背景 |
1.2.2 神经网络结构搜索与FPGA硬件加速器设计的研究现状分析 |
1.2.3 基于通用计算资源的嵌入式异构系统的研究现状分析 |
1.2.4 异步系统的研究现状分析 |
1.3 研究目的与内容 |
1.3.1 基于固定时间模型的同步异构流水线系统设计与优化 |
1.3.2 基于概率时间模型的同步异构流水线系统设计与优化 |
1.3.3 异步异构流水线系统的设计与优化 |
1.4 论文的主要贡献 |
1.4.1 同步异构流水线在固定时间模型上的优化与研究 |
1.4.2 同步异构流水线在概率时间模型下的优化与研究 |
1.4.3 异步异构流水线系统研究 |
1.5 论文组织结构 |
2 基于固定时间模型的同步异构流水线系统研究 |
2.1 引言 |
2.2 针对有数据依赖任务图在异构多执行单元上的最优分配研究 |
2.2.1 研究动机示例 |
2.2.2 问题定义 |
2.2.3 问题复杂性证明 |
2.2.4 整数线性规划模型 |
2.2.5 BLAST算法——基于动态规划的最优算法设计 |
2.3 针对单任务的细粒度并行以最小化延迟研究 |
2.3.1 研究动机示例 |
2.3.2 精确计算与通信模型建立 |
2.3.3 XFER设计——获取超线性性能提升 |
2.4 协同设计与优化应用结构与硬件实现 |
2.4.1 研究背景与动机示例 |
2.4.2 FNAS框架——协同探索神经网络结构与硬件实现 |
2.4.3 高层图模型与多加速器的调度实现与设计 |
2.5 实验结果 |
2.5.1 卷积层神经网络在多FPGA平台上的优化结果 |
2.5.2 神经网络结构与FPGA硬件协同搜索结果 |
2.6 本章小结 |
3 基于概率时间模型的同步异构流水线系统研究 |
3.1 引言 |
3.2 研究动机 |
3.2.1 任务的执行时间是有概率性的 |
3.2.2 概率时间模型能设计出开销更低性能更高的系统 |
3.3 基于概率模型的变节奏流水线 |
3.4 最优有概率的异构流水线问题定义及复杂度分析 |
3.5 基于整数线性规划的问题形式化 |
3.6 高效的最优化算法设计与实现 |
3.6.1 针对固定时间的路径形应用的最优缓冲器放置算法 |
3.6.2 针对概率时间的路径形应用的最优缓冲器放置算法 |
3.6.3 针对概率时间的树形应用的最优算法设计 |
3.6.4 针对概率时间的有向无环图应用的最优算法设计 |
3.7 实验结果与分析 |
3.7.1 针对路径型和树型应用的最优算法实验结果 |
3.7.2 针对有向无环图型应用的近似最优算法实验结果 |
3.8 本章小结 |
4 异步异构流水线系统理论研究 |
4.1 引言 |
4.2 自定时系统模型建立 |
4.3 异步流水线死锁问题的研究 |
4.3.1 死锁状态分析 |
4.3.2 死锁避免算法 |
4.4 异步异构流水线的优化与设计 |
4.4.1 问题描述 |
4.4.2 问题定义 |
4.4.3 自定时系统的迭代周期时间计算 |
4.4.4 最优分配算法 |
4.5 实验结果与分析 |
4.5.1 实验平台搭建 |
4.5.2 实验结果对比 |
4.6 本章小结 |
5 总结与展望 |
5.1 工作总结 |
5.2 工作展望 |
参考文献 |
附录 |
A 攻读博士学位期间发表的论文目录 |
B 攻读博士学位期间参加的科研项目与获奖情况 |
C 学位论文数据集 |
致谢 |
(6)基于“神威·太湖之光”的并行深度学习训练系统(论文提纲范文)
摘要 |
abstract |
第1章 绪论 |
1.1 人工智能与深度学习概述 |
1.2 超级计算机系统概述 |
1.3 基于国产超算的深度学习训练系统:机遇与挑战 |
1.4 本文主要贡献和行文结构 |
第2章 研究背景及现状分析 |
2.1 深度学习训练方法 |
2.2 单节点深度学习训练性能优化研究 |
2.2.1 深度学习算子库 |
2.2.2 深度学习训练框架 |
2.3 多节点深度学习训练并行优化研究 |
2.4 本章小结 |
第3章 申威架构的性能模型和张量化编程模型 |
3.1 申威异构众核处理器架构 |
3.1.1 概况 |
3.1.2 从核访存特性 |
3.1.3 核间通信特性 |
3.1.4 指令执行特性 |
3.1.5 和其他众核架构比较 |
3.2 性能分析方法 |
3.2.1 核间通信的性能影响 |
3.2.2 定量的性能模型分析 |
3.2.3 定性的性能分析模型 |
3.3 张量化编程模型 |
3.3.1 张量化访存优化 |
3.3.2 张量化计算优化 |
3.3.3 张量化计算访存比优化 |
3.4 本章小结 |
第4章 swGEMM: 基于众核核间通信的矩阵乘法 |
4.1 矩阵乘法原语优化 |
4.1.1 分布式矩阵存储与通信方式 |
4.1.2 增加寄存器数据局部性优化 |
4.1.3 增加计算单元效率优化 |
4.2 原语使用示例: 张量化GEMM运算 |
4.2.1 深度学习中GEMM运算的挑战 |
4.2.2 张量化优化方法 |
4.2.3 自动调优分块大小 |
4.2.4 边界处理 |
4.3 实验结果 |
4.3.1 矩阵乘法原语性能 |
4.3.2 GEMM运算性能 |
4.4 本章小结 |
第5章 swDNN: 深度学习算子的张量化 |
5.1 卷积算子 |
5.1.1 基于显式矩阵乘法的卷积优化 |
5.1.2 基于隐式矩阵乘法的卷积优化 |
5.1.3 基于Winograd的卷积优化 |
5.2 全连接和LSTM算子 |
5.3 其它算子 |
5.4 实验结果 |
5.4.1 卷积算子 |
5.4.2 LSTM算子 |
5.5 本章小结 |
第6章 swAutoDNN: 深度学习算子张量化自动调优 |
6.1 张量化自动优化动机 |
6.2 swAutoDNN设计方法 |
6.2.1 概观 |
6.2.2 计算描述DSL |
6.2.3 调度器 |
6.2.4 IR优化器 |
6.2.5 自动调优器 |
6.2.6 代码生成器 |
6.3 实验结果 |
6.3.1 相对手动优化性能提升 |
6.3.2 自动调优性能和效果 |
6.3.3 应用swAutoDNN到swDNN |
6.3.4 和GPU性能对比 |
6.4 本章小结 |
第7章 swCaffe: 基于“神威·太湖之光”的并行深度学习框架 |
7.1 单核组计算性能优化 |
7.2 多节点并行性能优化 |
7.2.1 并行通信模块 |
7.2.2 并行I/O模块 |
7.3 实验结果 |
7.3.1 单节点性能效果 |
7.3.2 多节点性能效果 |
7.4 本章小结 |
第8章 RedSync: 深度学习数据并行通信压缩方法 |
8.1 研究动机 |
8.2 RedSync系统设计方法 |
8.2.1 并行友好型通信集合选择算法 |
8.2.2 通信集合的量化方法 |
8.2.3 稀疏Allreduce方法 |
8.2.4 通信计算重叠 |
8.2.5 其它技巧 |
8.3 实验结果 |
8.3.1 软硬件配置 |
8.3.2 模型精度测试 |
8.3.3 扩展性测试 |
8.4 本章小结 |
第9章 总结与展望 |
9.1 本文总结 |
9.2 未来展望 |
参考文献 |
致谢 |
个人简历、在学期间发表的学术论文与研究成果 |
(7)面向MPSoC虚拟化体系结构的操作系统关键技术(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景与意义 |
1.2 相关技术与研究成果 |
1.2.1 开源虚拟化平台与体系结构 |
1.2.2 虚拟机安全 |
1.2.3 I/O虚拟化 |
1.3 研究内容与贡献 |
1.4 论文结构 |
第二章 面向飞腾平台的虚拟化操作系统设计 |
2.1 CPU虚拟化 |
2.1.1 硬件机制 |
2.1.2 软件设计 |
2.2 内存虚拟化 |
2.2.1 硬件机制 |
2.2.2 软件设计 |
2.3 中断虚拟化 |
2.3.1 硬件机制 |
2.3.2 软件设计 |
2.4 计时器虚拟化 |
2.4.1 硬件机制 |
2.4.2 软件设计 |
2.5 与Intel平台虚拟化技术的比较 |
第三章 虚拟化体系结构的边信道安全 |
3.1 现代超标量处理器上的边信道 |
3.1.1 硬件基础 |
3.1.2 边信道攻击策略 |
3.2 基于流水线动态执行的边信道攻击 |
3.2.1 幽灵漏洞攻击 |
3.2.2 熔断漏洞攻击 |
3.3 针对幽灵与熔断攻击的现有防护方法 |
3.3.1 针对幽灵漏洞攻击的防护 |
3.3.2 针对熔断漏洞攻击的防护 |
3.4 Retpoline防护方案下的系统性能优化 |
3.4.1 Retpoline防护方案对系统性能的影响 |
3.4.2 用户态网络I/O |
3.5 针对熔断漏洞的按需隔离机制 |
3.5.1 方案设计 |
3.5.2 实验与性能评估 |
3.5.3 讨论 |
3.6 本章小结 |
第四章 高可伸缩MPSoC网络I/O虚拟化技术 |
4.1 飞腾平台虚拟并发网络I/O性能折损的现象 |
4.2 多队列虚拟网卡设备的设计与实现 |
4.2.1 多队列半虚拟化网络I/O |
4.2.2 飞腾平台下虚拟多队列网络I/O中断的实现 |
4.3 性能评估方法 |
4.4 实验结果 |
4.4.1 总吞吐率 |
4.4.2 事务处理总时间 |
4.4.3 连接与等待时间 |
4.5 本章小结 |
第五章 飞腾平台虚拟化操作系统的实现与系统性能测试 |
5.1 基于硬件分区的虚拟机监控器实现 |
5.1.1 系统初始化 |
5.1.2 内存管理 |
5.1.3 域间通信 |
5.1.4 分区的创建 |
5.2 飞腾虚拟化平台下的高速缓存一致性 |
5.2.1 客户操作系统内核加载时的缓存一致性 |
5.2.2 模拟设备的缓存一致性 |
5.3 性能评测 |
5.3.1 系统级测试与评估 |
5.3.2 面向深度学习的测试与评估 |
5.3.3 面向高性能计算应用的测试与评估 |
5.4 本章小结 |
第六章 总结与展望 |
6.1 工作总结 |
6.2 研究展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(8)基于机器学习的异构多核系统在线映射方法研究(论文提纲范文)
致谢 |
摘要 |
abstract |
1 绪论 |
1.1 研究背景和意义 |
1.2 国内外研究现状 |
1.2.1 传统的在线映射方法的研究现状 |
1.2.2 基于机器学习的在线映射方法的研究现状 |
1.3 主要研究内容 |
1.4 论文结构 |
2 相关知识与关键技术 |
2.1 异构多核处理器系统及其映射技术介绍 |
2.1.1 异构多核处理器系统概述 |
2.1.2 异构多核处理器系统发展趋势及面临的问题 |
2.1.3 典型的异构多核处理器架构 |
2.1.4 异构多核处理器系统任务调度 |
2.2 机器学习技术介绍 |
2.3 本章小结 |
3 异构多核系统的在线映射方法 |
3.1 基于机器学习的性能预测模型构建 |
3.1.1 性能预测模型构建的整体设计框架 |
3.1.2 应用程序模型 |
3.1.3 执行平台模型 |
3.1.4 使用的机器学习算法 |
3.1.5 预测模型建模 |
3.2 基于遗传算法的在线任务动态调度方法 |
3.2.1 在线任务动态调度的整体设计框架 |
3.2.2 遗传算法的基本原理 |
3.2.3 在线任务调度器 |
3.3 CLASSY模拟工具 |
3.4 本章小结 |
4 实验及结果分析 |
4.1 实验平台配置 |
4.2 性能评估标准 |
4.3 性能预测模型的准确性验证 |
4.3.1 数据集获取 |
4.3.2 机器学习算法参数设置 |
4.3.3 性能预测模型的验证 |
4.4 在线任务动态调度方法效果验证 |
4.4.1 算法参数评估实验 |
4.4.2 方案效果比较实验 |
4.5 本章小结 |
5 总结与展望 |
5.1 论文工作总结 |
5.2 未来展望 |
参考文献 |
攻读硕士学位期间的学术活动及成果情况 |
(9)可扩展共享内存系统的关键技术研究(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 论文研究背景 |
1.2 国内外相关研究 |
1.2.1 大规模内存计算应用 |
1.2.2 内存一致性模型 |
1.2.3 线程间同步 |
1.2.4 编译器和运行时支持 |
1.3 论文的研究内容和主要贡献 |
1.4 论文的结构安排 |
第二章 硬件技术背景与性能分析 |
2.1 多核同步可扩展性问题 |
2.1.1 线程同步的性能测试与分析 |
2.1.2 Fence机制的性能测试与分析 |
2.2 RDMA技术与性能分析 |
2.2.1 RDMA技术背景 |
2.2.2 RDMA的性能测试与分析 |
第三章 无内存屏障的多核同步机制设计 |
3.1 研究概述 |
3.2 研究背景 |
3.2.1 违反顺序一致性的情形 |
3.2.2 写缓冲与内存屏障指令 |
3.2.3 Fence的缺陷 |
3.2.4 相关工作 |
3.3 系统概述 |
3.3.1 Sync-Order的语义 |
3.3.2 Sync-Order的正确性 |
3.4 降低冲突检测开销 |
3.4.1 识别sync-var |
3.4.2 无数据竞争的程序 |
3.5 体系结构扩展 |
3.5.1 流水线的扩展 |
3.5.2 硬件模块的设计 |
3.5.3 写操作之间的冲突 |
3.6 实验结果与分析 |
3.6.1 性能开销 |
3.6.2 Sync-Order的性能数据 |
3.6.3 可扩展性 |
3.7 本章小结 |
第四章 基于消息传递的分布式共享内存系统 |
4.1 研究概述 |
4.2 相关工作 |
4.3 研究动机 |
4.4 系统概述 |
4.4.1 顺序一致性的协议 |
4.4.2 NUMA抽象 |
4.4.3 内存冲突检测 |
4.4.4 分布式的目录 |
4.5 降低协议开销的优化设计 |
4.5.1 预测性页缺失 |
4.5.2 批量翻译缓存失效 |
4.5.3 轮询的消息处理 |
4.5.4 协议旁路操作 |
4.6 实验结果与分析 |
4.6.1 实验方法 |
4.6.2 优化效果 |
4.6.3 可扩展性 |
4.7 本章小结 |
第五章 基于RDMA的分布式共享内存系统 |
5.1 研究概述 |
5.2 相关工作 |
5.3 基于RDMA的分布式共享内存协议 |
5.3.1 协议操作 |
5.3.2 RDMA的接口选择和使用 |
5.3.3 延迟本地TLB刷新 |
5.3.4 重叠RDMA请求 |
5.3.5 基于RDMA的线程同步原语 |
5.4 实验结果与分析 |
5.4.1 页缺失的处理时间 |
5.4.2 基于RDMA的同步机制 |
5.4.3 可扩展性 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 工作总结 |
6.2 研究展望 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文 |
攻读学位期间参与的项目 |
(10)片上多核系统软件特性及系统可靠性分析研究(论文提纲范文)
摘要 |
英文摘要 |
第一章 绪论 |
1.1 引言 |
1.2 片上多核系统技术现状 |
1.3 关键技术原理及其研究进展 |
1.3.1 嵌入式系统软件特性分析 |
1.3.2 多核Cache一致性协议分析 |
1.3.3 系统任务调度不确定性分析 |
1.4 主要问题及其研究内容 |
1.5 本论文的章节安排 |
第二章 相关基础知识及技术原理 |
2.1 相关数学基础 |
2.1.1 集合与有限状态机 |
2.1.2 马尔可夫链模型 |
2.1.3 随机抽样优化方法 |
2.2 软件特性分析方法 |
2.2.1 进程代数理论 |
2.2.2 符号逻辑方法 |
2.2.3 行为计算方法 |
2.3 多核系统可靠性技术 |
2.3.1 片上多核系统设计原理 |
2.3.2 Cache一致性协议介绍 |
2.3.3 系统可靠性分析方法 |
2.4 系统任务调度原理 |
2.4.1 不确定性原理 |
2.4.2 竞态条件模型 |
2.4.3 系统任务调度 |
2.5 本章小结 |
第三章 程序特性分析方法及DR-Cache应用技术 |
3.1 引言 |
3.2 软件行为特性模型的构建 |
3.2.1 基于指令的状态机模型 |
3.2.2 马尔科夫进程代数模型 |
3.3 DR-Cache资源最优评估方法 |
3.3.1 DR-Cache模型原理 |
3.3.2 SBF特征提取方法 |
3.4 实验结果与分析 |
3.5 本章小结 |
第四章 多核Cache一致性协议及其系统可靠性分析 |
4.1 引言 |
4.2 多核Cache一致性原理 |
4.2.1 多核系统结构模型 |
4.2.2 缓存一致性协议 |
4.3 HCS架构下系统可靠性 |
4.3.1 瞬时状态故障分析 |
4.3.2 2-端可靠性函数 |
4.4 实验结果与分析 |
4.4.1 缓存一致性可靠性结果分析 |
4.4.2 HCS网络结构可靠性比较结果 |
4.5 本章小结 |
第五章 多核系统任务不确定性分析及其调度模型 |
5.1 引言 |
5.2 竟态条件中的不确定性模型 |
5.2.1 事件序列的不确定性模型 |
5.2.2 竞态条件的不确定性模型 |
5.3 基于最大熵的任务调度算法 |
5.3.1 最大熵优化模型 |
5.3.2 任务调度算法 |
5.4 实验结果与分析 |
5.4.1 竞态条件分析 |
5.4.2 任务调度性能比较 |
5.5 本章小结 |
第六章 片上多核系统软硬件协同设计验证平台 |
6.1 引言 |
6.2 系统设计方案 |
6.3 硬件架构验证平台 |
6.3.1 设计架构 |
6.3.2 结果验证 |
6.4 系统软件验证平台 |
6.4.1 设计架构 |
6.4.2 结果验证 |
6.5 本章小结 |
第七章 工作总结及今后的研究方向 |
7.1 工作总结 |
7.2 今后研究方向 |
参考文献 |
博士期间发表的论文 |
博士期间参与的课题项目 |
致谢 |
四、人工神经网络在多处理器系统上并行实现的通信开销(论文参考文献)
- [1]深度学习并行分布式训练机制研究[D]. 姚琼杰. 华中科技大学, 2020(01)
- [2]异构多核处理器系统的资源管理方法研究[D]. 夏近伟. 合肥工业大学, 2020(02)
- [3]异构融合平台上的数据流运行时系统研究[D]. 林晗. 中国科学技术大学, 2019(02)
- [4]基于片上网络的众核系统的设计与优化[D]. 杨蕾. 重庆大学, 2019(01)
- [5]高效能异构流水线系统的设计与优化[D]. 姜炜文. 重庆大学, 2019(01)
- [6]基于“神威·太湖之光”的并行深度学习训练系统[D]. 方佳瑞. 清华大学, 2019(02)
- [7]面向MPSoC虚拟化体系结构的操作系统关键技术[D]. 陈鲍孜. 国防科技大学, 2019(01)
- [8]基于机器学习的异构多核系统在线映射方法研究[D]. 张影. 合肥工业大学, 2019(01)
- [9]可扩展共享内存系统的关键技术研究[D]. 洪扬. 上海交通大学, 2019(06)
- [10]片上多核系统软件特性及系统可靠性分析研究[D]. 李思照. 厦门大学, 2018(07)