一、CC-NUMA结构下共享变量并行计算的研究(论文文献综述)
魏云蛟[1](2020)在《国产处理器监听广播协议部件的优化和验证》文中研究说明多核多处理器技术的诞生使得处理器在更短的时间周期内执行更多的任务,极大地提高了处理器的性能,而Cache一致性是实现多核多处理器的关键技术。Cache一致性决定着处理器的正确性和性能,在国内外受到企业和研究所的广泛关注。缓存一致性协议——MESIF协议最早由Intel研究院提出。一致性协议在硬件上根据监听请求的发出者不同,将实现方式分为源方监听和目录监听。根据回写主存的策略的不同可以分为写穿透和回写。根据写数据更新其他处理器Cache的方式,协议可以分为写更新和写置无效。本文对上述几种方式进行了分析和对比。本文分析了某国产服务器处理器对MESIF协议的实现方式,对处理器中一致性处理模块(CPM,Coherent Processing Module)进行了验证。使用SystemVerilog语言搭建了源方监听协议的四路处理器直连模型,对CPM进行各种场景的测试,查找设计瓶颈,提出优化方案,优化芯片性能。仿真结果表明优先级轮转的设计方式提高了处理器处理冲突事务的公平性;通过增加流水线的方式有效提高了事务的吞吐率;通过扩大接收数据缓冲的容量,避免了协议死锁的发生。本文的具体工作和优化点体现在:(1)分析了MESIF协议的主流实现方式,分析对比了源方监听和目录监听两种实现方式的差别和适用场景,写更新和写无效两种方式的优缺点,写穿透和回写策略的优缺点。(2)研究了某国产服务器处理器对MESIF协议的实现,围绕该处理器中一致性处理模块CPM,搭建模拟验证环境。模拟了四路处理器直连下的一致性协议的实现场景。(3)提出了CPM的验证需求,使用PSL语言描述了CPM中一致性流程的实现序列。搭建不同场景对CPM进行焦点验证,以功能覆盖率和代码覆盖率为指标,最终实现覆盖率的双百。(4)通过修改验证环境,构建特殊的场景对CPM进行性能测试,查询设计瓶颈,提出优化方案,优化芯片性能。通过分化引擎的方式,提高了一致性事务的吞吐率;通过改变同地址事务的处理机制,优化了不同处理器对同地址事务处理的公平性;复现设计中的错误场景,通过增加防死锁的机制,保证了设计的正确性。本文所运用的研究方法对今后多路直连分布式存储访问架构处理器的实现具有很好的参考和应用价值。
苏醒[2](2020)在《高性能稠密线性代数数学库关键技术研究》文中提出稠密线性代数数学库是科学与工程计算领域最为基础的软件工具,几乎所有科学计算问题都依赖于矩阵计算这一基本计算形式。在稠密线性代数计算软件栈中,最底层最基础的数学库当属BLAS(Basic Linear Algebra Subprograms)程序库。BLAS选取了一组在数值计算程序中被经常使用的矩阵(向量)操作,为它们制定了规范化的编程接口(API),作为构建科学计算软件的基本模块。经过多年的学术研究与生产实践,BLAS的接口规范得到了学术界与工业界的广泛认可,业已成为事实上的标准程序库。通用矩阵乘法例程(GEneral Matrix Multiply)是BLAS库中最重要的计算例程。研究表明,BLAS库中多数Level-3计算例程的计算部分都可以通过调用GEMM例程完成,即,GEMM例程可以作为整个Level-3BLAS的构建基础。因此,优化GEMM例程便成为高性能BLAS库开发工作的重中之重。当前,计算硬件的发展十分迅速。对通用处理器(CPU)而言,其体系结构呈现出多方面发展趋势,包括单指令多数据(SIMD)并行指令扩展在高性能处理器中的广泛应用,单处理器核心数目持续增长,处理器片上存储层次结构不断多样化、复杂化,内存节点增多导致非一致性内存访问(NUMA)效应进一步凸显等。这些新的发展趋势都为高性能BLAS库的开发带来了新的挑战。本论文面向多核与众核通用处理器,对高性能BLAS库的开发优化展开研究。论文的主要工作包括:(1)提出了一种基于编译器的可移植的GEMM kernel函数优化方法Poca。在当前的BLAS库实现中,为了最大限度地开发处理器的指令级并行能力,GEMM例程中执行浮点计算的kernel函数通常由领域专家使用汇编语言编写。每一款处理器芯片都需要领域专家针对其微体系结构特点编写专用的汇编程序,造成该方法耗费人力成本高,程序可移植性差。Poca的核心思路是利用LLVM编译器中对不同处理器微体系结构建立的统一抽象模型,提出一套kernel函数的自动生成与优化过程。该优化过程与具体的处理器平台无关,使得Poca方法具有良好的平台移植性。并且,通过采用与领域专家编写汇编程序相似的优化技术,Poca方法可以达到与专家汇编程序相当甚至更优的程序性能。(2)提出了一种针对非LRU(Least Recently Used)替换策略共享cache的cache划分策略SCP。现有的GEMM实现通常假设处理器核的L1 cache与L2cache皆为私有,并且采用LRU替换策略。但随着处理器体系结构发展,出现了使用非LRU共享cache的高性能处理器。在这样的处理器平台上,共享同一cache的不同线程之间会产生大量的cache冲突造成cache缺失率(miss rate)上升,程序性能下降。SCP方法将共享cache的存储空间划分成物理上互不相交的子空间,通过cache自身的地址映射机制保证线程的私有数据存放在各自的子空间中,从而有效避免了线程间的cache数据冲突。(3)提出了一种针对NUMA体系结构的混合粒度动态负载均衡方法。由于GEMM计算的规则性,其并行实现一般采用粗粒度的并行策略,将计算负载平均地划分给参与计算的所有线程。在NUMA体系结构上,内存访问的NUMA特性会导致线程执行速度出现不一致的现象,这会使得线程间数据同步开销增加,而GEMM整体性能将受制于最慢的线程。本文提出的混合粒度动态负载均衡方法是一种为GEMM例程专门设计的work-stealing算法,它采用一种粗细粒度结合的负载划分策略,在运行时允许快速线程窃取慢速线程的工作负载以降低线程同步开销。此外,该方法利用GEMM的问题特点,完全避免了队列、树与锁的使用,几乎不引入额外开销。
洪扬[3](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%的协议处理时间,并且比之前的工作具有更好的可扩展性。
董仕[4](2018)在《可压缩NS方程求解软件性能优化与并行技术研究》文中研究表明计算流体力学(computational fluid dynamics,简称CFD)作为一门综合流体力学、数学、计算机科学的重要学科,在航空、汽车、呼吸和血液流动、化学工程等流体工程领域的应用越来越广泛。随着计算精度的提高和计算规模的不断扩大,CFD应用的计算量也急剧增大,在现代高性能计算机上对CFD应用进行性能优化并实现大规模并行计算已经成为了一项新的重要课题。CNS(Compressible Navier-Stokes)是用于求解在流体力学中有着重要地位的可压缩NS方程的CFD应用软件,在航空航天空气动力学数值模拟领域具有良好的应用背景,在实际应用中需要进行性能优化才能更好地发挥作用。本文基于高性能多核及众核平台,实现了对CNS程序的性能优化以及相关并行技术的研究。工作主要分为三个部分:(1)在通用CPU平台上,对CNS程序进行串行计算性能优化。针对程序访存密集、cache命中率不高、热点子程序无法实现编译器自动向量化,从编译选项、访存、数值计算等方面进行优化,在Ivy bridge处理器上性能提升了1.49倍;Fortran90之后的标准不支持向量化,因此先对热点子程序进行C语言改写,在尽可能减少额外开销的前提下,完成intrinsic向量化编程,在Ivy bridge处理器上进行测试,热点子程序加速比都为1.43,程序整体性能提升了10%。(2)为了更好的发挥多核处理器计算性能,在一个包含2个12核CPU的计算节点上使用Open MP编程模型实现CNS程序的节点内多线程并行。CNS程序热点循环较为分散,首先迭代地进行循环级并行,然后为减少创建并行区的开销,将并行区的范围扩展为整个rk4子程序,并行执行时间占比由62.5%增加为84.4%;针对NUMA架构中处理器核对本地内存访问更快的特点,使用系统函数实现线程与处理器核的绑定,使用SPMD编程方式实现线程与数据块的绑定。两级绑定过后,24线程时并行加速比由原本的5.6增加到了6.5。(3)为利用MIC协处理器的加速性能,在一个由2个CPU和2个MIC卡组成的计算节点上实现了CNS程序的CPU/MIC异构移植,在加速效果不理想的情况下从数据传输、负载均衡等方面进行了优化,相比优化前性能提升了3.6倍。
香丽芸[5](2017)在《教学资源数据交换平台关键技术研究与应用》文中提出随着大数据技术和应用的不断发展,各行各业管理信息化进程的不断推进,数据交换平台作为信息化和大数据应用的基本载体受到了工业界和学术界的广泛关注。本文针对数据交换平台中存在的异构数据整合问题、数据交换效率及安全问题、数据分析和应用问题,分别提出了六种模型与算法,主要贡献如下:(1)针对异构环境、异构数据库以及异构网络数据格式等原因产生的“信息孤岛”问题,本文提出了一种基于XML的体系结构,并在该体系结构的基础上设计和实现了一个基于异构数据交换的家庭学校互动教育平台。该体系结构能够有效地解决大规模数据的异构性问题,为数据的进一步交换、共享及分析挖掘奠定了基础。(2)针对数据交换平台底层数据交换过程中出现的“输出争用”问题,本文根据教育资源数据交换平台大规模和要求高速交换的特征,选用了一种并行化容争交叉开关交换结构,并分别利用五种业务模型对并行化容争交叉开关的业务能力进行了测试。仿真实验结果表明,这种交换结构的选用能够提高数据交换平台底层数据交换的效率。(3)针对数据交换平台数据传输过程中端到端的性能评估问题,本文提出了一种基于ICMPv6的端到端瓶颈流量测量方法,该方法的主要思想是利用IPv6流标签提取ICMPv6的超时报文及其对应的路由器地址和时间戳等信息,进而利用减法法则计算瓶颈流量。实验结果表明,该方法的链路带宽稳定在20%,有效地提高了链路的利用率。(4)针对数据交换平台可能面临的泛洪式攻击问题,本文提出了一种泛洪式攻击检测算法,主要原理是根据数据交换平台流量的大小以及流量的波动趋势判断网络中是否存在泛洪式网络攻击。仿真实验结果表明,基于网络流量特征的Do S/DDo S泛洪式攻击的检测准确度达到100%,能够满足数据交换平台预防和检测泛洪式攻击的需求。(5)针对数据交换平台大规模数据处理效率低下的问题,本文提出基于Open MP指令的数据平台并行数据处理方法,并且讨论了基于Open MP并行指令在数据交换平台中的开销问题,在实验结果测试中本文通过设计一组串行程序和四组具有不同Open MP调度和同步方法的并行程序,对比分析了在不同问题规模和线程数量情况下的开销。(6)为了验证数据交换平台的有效性,本文在数据交换体系结构的基础上,进一步设计和实现了一个智能导学系统,在该系统中,本文通过研究C4.5算法、ID3算法和个体教育的需求进一步提出了new-C4.5r算法,实验结果表明,new-C4.5r算法在运行时长、生产规则的大小和开销方面更优于C4.5算法,能够更好的应用于智能引导系统。
朱亮[6](2016)在《基于NUMA架构的多线程程序性能和能耗研究》文中指出在云计算环境下,非一致性内存访问NUMA(Non-Uniform Memory Access)架构运用的越来越广泛。当单线程多任务的程序运行在NUMA系统上时,会遇到数据本地性和共享资源冲突两个问题。而当多线程程序运行在NUMA系统上时,会使上述的两个问题变得更加复杂:1)多线程程序的共享数据会导致不同节点之间产生远端访问,破坏NUMA系统本地性;2)当多个线程同时读取同一个NUMA节点上的内存数据时,会竞争该节点上的共享资源,导致严重的缓存以及互联总线冲突。另外,多线程程序还会带来关键线程的问题。具有更多远端内存访问的线程成为系统中的关键线程,这些关键线程会影响整个程序的性能并增加程序运行期间的能量消耗。以往的研究主要关注提升NUMA系统的性能,很少考虑节省NUMA系统的能耗。围绕上述若干问题,针对“基于NUMA架构的多线程程序性能和能耗研究”课题,开展了以下四个方面的研究:针对NUMA系统中出现的内存访问延迟过高的现象,提供给程序员一个工具检测并分析NUMA系统中的性能瓶颈。通过分析系统中的延迟信息,该工具能做出三种判断:1)如果共享数据的访问延迟要高于私有数据的访问延迟,那么系统中的共享数据会导致较大数目的远端访问;2)如果系统中存在异常高的内存访问延迟,那么系统中很有可能发生共享资源冲突;3)如果各线程之间的远端内存访问数目差异较大,那么远端内存访问数目最多的线程会成为影响整个程序性能的关键线程。在检测并分析出这些性能瓶颈之后,采用简便和通用的NUMA系统优化技术能够提升多线程程序的性能。针对关键线程导致NUMA系统性能下降的现象,提出一种对称式调度机制来均衡多线程之间的远端内存访问数目。在NUMA环境中,程序数据对于某些线程来说是本地数据,对于其他线程来说则是远端数据。具有远端内存访问较多的线程会比其他线程运行地更慢,成为影响整个多线程程序性能的关键线程。通过对称式线程调度机制,将线程对称地匹配到所有的处理器节点上,可以平衡所有线程的远端内存访问次数,使每个线程具有相似的本地和远端数据访问数目。这样,所有的线程几乎会同时达到线程同步点,避免关键线程拖累性能的情况发生。针对多线程程序在NUMA系统上运行时性能和能耗的关系,提出一个性能提升和能耗增长的线性负相关性模型。在模型中分别考虑以下两种假设:实际加速比趋近于常量,以及实际加速比趋近于线性加速比。基于性能和能耗之间关系,可以指导NUMA系统进行动态调优:根据多线程程序性能可扩展性的好坏,增加/减少该程序所使用的节点数,可以在满足能耗预算/性能要求前提下提升性能或者节省能耗。进一步研究发现,影响性能和能耗之间关系的因素包括:远端内存访问开销、线程间同步开销和负载非均衡开销。其中,由关键和非关键线程完成时间不一致引起的同步开销是导致程序性能/能耗可扩展性变差的主要原因之一。针对NUMA系统上关键线程和非关键线程的完成时间不同,提出一种动态频率调整策略来降低整个系统的能耗。在NUMA系统中,关键线程需要访问更多的远端内存,运行时间比非关键线程更长。因此,程序的执行时间是由关键线程决定的。在不延长程序整体执行时间的前提下,通过降低非关键线程所在的CPU核心频率,使关键线程和非关键线程同时达到多线程程序的同步点,可以节省非关键线程的能量消耗。通过使用基于关键线程的预测机制,进而能够有效地实施动态频率调整策略,从而节省更多的能耗。
张明[7](2017)在《龙芯平台上高性能计算的性能优化关键问题研究》文中研究指明高性能计算广泛运用在科学计算、可视化处理、商业数据模型分析等领域。程序性能与平台架构息息相关。龙芯作为具有自主知识产权的国产芯片的代表,它的3B系列芯片被广泛运用在航天、生物信息、气象等领域。但由于它的软件生态环境不健全,许多软件没有针对它的架构进行优化。龙芯普通访存速度慢,加上软件移植过程中龙芯编译器无法充分发挥硬件计算与访存分离的特性,软件与平台架构耦合性低,容易导致部分科学计算软件的运行性能低,不能满足用户的计算需求,这制约着龙芯的市场化推广。如何优化龙芯平台的软件性能成为龙芯亟需解决的问题。因此,本文围绕龙芯平台上高性能计算的访存和计算优化关键问题展开研究。主要的研究内容和贡献如下:(1)针对基础函数库与龙芯硬件架构耦合性低的问题,以BLAS库中矩阵矩阵乘函数GEMM为研究对象,提出了一种加速计算密集型应用的异步计算访存优化方法。该优化方法根据龙芯计算与访存分离的特性,通过对任务进行分组和流水化处理;然后在计算过程中,利用多通道DMA访存方法实现数据的预取或读写,从而将大量的访存开销隐藏到计算中;最后,使用SIMD指令向量化提升核心的计算性能。此外,通过分析计算与访存分离的特征,给出了一种龙芯平台上计算密集型应用的性能评估方法。(2)针对普通访存方法不能满足龙芯平台中应用访存速度需求的问题,以FFTW核心算法为研究对象,提出一种面向计算密集型应用的多层数据划分优化方法。该优化方法以龙芯3B1500处理器为研究平台,根据FFT中数据的访存规律,利用龙芯锁cache机制保证缓存中数据不会被替换,进而采用多层数据划分以提升缓存中数据的利用率,通过增加迭代层数提升寄存器堆数据的重用率,并且使用特殊向量指令加速核心运算;与此同时,通过使用CPU和DMA协同访存方法来提高数据读写速度。(3)针对CC-NUMA架构中易由数据部署不合理而导致计算密集型应用并行效率低的问题,以KD-90为研究平台,在PCAM并行框架的基础上,提出了一个面向计算密集型应用的并行框架HPFCA。根据应用的数据访存规律,对框架中的任务划分、节点间任务并行、数据重新部署、节点内多核并行和单核程序优化五个部分进行设计,利用访存数据局部性完成访存的性能优化。并且根据该框架,在KD-90上实现了GEMM和FFT的高效并行算法。(4)针对多核异构平台中应用程序难以并发执行的问题,以三维泊松方程求解算法为研究对象,提出了一种异构平台下多种计算资源负载均衡的高效算法。该算法通过使用多重网格法对三维泊松方程进行离散,将三维泊松方程求解问题转化成线性方程组求解问题,然后通过分析异构平台不同资源的计算能力决定任务负载比例,将任务按比例分配到不同的计算资源上,完成计算的负载均衡优化,从而提升异构平台中程序的并行加速比。
袁丹建[8](2015)在《基于多核CPU并行计算的图像超分辨和目标检测》文中认为随着成像技术的不断发展,数字图像的数据量越来越大,在对各种图像处理结果要求精度越来越高的情况下,各种新的图像处理算法相继提出,其计算也越来越复杂,尤其在处理大规模图像时串行算法的处理速度很慢,很难满足应用要求。通过对算法改进、优化展开,然后利用并行计算技术加快图像处理速度,是一种有效的解决方法。现在多核CPU处理器随处可见,在多核CPU处理器上开发的并行算法具有很好的适应性,可用于大多数环境下,通过使用多核CPU并行计算能够充分利用处理器资源,提高资源使用率。本文主要针对基于稀疏表示的图像超分辨算法和飞机检测方法利用多核CPU并行计算技术来加快处理速度,提高处理效率。本文的主要工作如下:(1)提出了基于稀疏表示的图像超分辨MATLAB多核并行算法。基于稀疏表示的图像超分辨串行算法具有很好的超分辨重建效果,但是它的时间复杂度过高,处理速度较慢。本文首先描述了该算法的基本原理和实现步骤,对该算法时间复杂度进行了深入分析并进行了实验验证,发现其中计算量大的迭代过程是影响算法处理速度的关键所在,针对该部分利用MATLAB并行工具箱设计了并行算法,将迭代任务进行分解交给多个可以独立并行处理的计算单元。实验结果表明与串行算法相比,该算法能够在保持相同超分辨效果下,大大降低了时间复杂度,提高了对图像的处理速度。(2)提出了基于连通区域的飞机检测中最耗时部分的多核并行化方法。文中对飞机检测过程的步骤进行详细说明,针对串行方法在对图像进行检测时间复杂度过高的问题进行了分析,分析发现飞机检测方法中最耗时的部分是图像预处理阶段,针对该部分利用OpenMP并行编程技术设计了并行化方案,对最耗时部分的计算任务进行分解利用多线程运行在多核处理器上来并行执行,充分利用处理器资源,达到加速的效果。实验结果表明与串行方法相比,该部分在多核处理器上取得了较好的加速效果,缩短了飞机检测时间。
鲍庆元[9](2014)在《基于龙芯3号多片互连的服务器桥片实现与一致性研究》文中提出CC-NUMA(高速缓存非均匀访存)系统应用在龙芯3A的处理器上,已得到了良好的性能体现,程序开发也有明显的简化。本文在维护片内和片间数据传输的稳定性和正确性的工作中,对基于一致性协议的片间互连结构进行分析和研究。为了构建更大规模的CC-NUMA系统而需要维护多处理器间的一致性。在片间利用互连桥片进行统一调度,从而保证跨系统访问和全局数据的一致,并且实现了多核处理器在访存性能上的提升。所设计的桥片在部分结构上与龙芯3A二级缓存相似。通过定向和随机环境测试,验证了桥片在功能方面的正确性。主要工作如下:(1)通过对现有的一致性模型的分析,将龙芯片内的二级缓存模块的一致性消息的处理机制移植到桥片中,使桥片更好的兼容处理器对多核多片系统的统一管理。(2)对桥片的高速缓存一致性模块修改并搭建出相应的环境验证。(3)设计出桥片的路由算法,实现16个桥片互连间无冲突任意路由,并搭建环境验证功能的正确性。
王杰[10](2012)在《基于多核机群环境的并行程序设计方法研究 ——MPI+OpenMP混合编程》文中研究表明高性能计算HPC(High Performance Computing)是验证计算机系统处理能力和计算速度的一种有效手段。如今,高性能计算在国内外受到高度重视,其地位与作用已被广泛接受,它已成为解决国家级重大尖端问题的必由之路。目前,高性能计算在分子材料研究、地质勘探、气象、海洋气候、基因工程和军事技术等领域均已取得了巨大的成就。本文把搭建的多核心PC机为节点的机群系统作为平台,成功地完成了对MPI+OpenMP混合编程模型的运行环境配置,并在单节点多核计算机上分别完成了对串行程序、MPI并行程序和OpenMP并行程序的运行时间和加速比的对比分析。进而又重点在由多节点所组成的基于Windows的机群系统上,尝试完成了MPI+OpenMP两种程序的混合编程实验,通过对获得的程序运行时间、加速比和效率的数据结果的分析,得到了在多节点机群上采用MPI+OpenMP的细粒度的混合编程模式要比单用MPI设计的并行程序更适合多核PC机群的特点,从而更能充分发挥出多节点机群系统效率的结论。最后,论文总结了所做的工作和下一步的努力方向。
二、CC-NUMA结构下共享变量并行计算的研究(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、CC-NUMA结构下共享变量并行计算的研究(论文提纲范文)
(1)国产处理器监听广播协议部件的优化和验证(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 课题的研究背景和意义 |
1.2 国内外研究现状 |
1.2.1 Cache一致性协议 |
1.2.2 一致性协议的验证方法 |
1.3 论文研究内容 |
1.4 论文组织结构 |
第二章 MESIF协议的介绍 |
2.1 MESIF协议状态的迁移 |
2.2 一致性协议的实现方式 |
2.2.2 写穿透和写回 |
2.2.3 写更新和写置无效 |
2.3 本章小结 |
第三章 MESIF协议在国产服务器处理器中的实现 |
3.1 处理器间一致性实现原理 |
3.1.1 片间请求的几种类型 |
3.1.2 一致性流程简述 |
3.2 片间一致性处理部件CPM |
3.2.1 Tracker和冲突列表 |
3.2.2 IMT条目和数据Buffer |
3.2.3 流水线 |
3.3 本章小结 |
第四章 CPM验证环境搭建 |
4.0 CPM的验证需求 |
4.1 验证环境的总体结构 |
4.1.1 Cache代理的设计 |
4.1.2 其他结构的设计 |
4.2 验证环境的关键设计 |
4.3 基于覆盖率导向的验证 |
4.3.1 代码覆盖率 |
4.3.2 功能覆盖率和验证内容 |
4.4 验证平台对一致性的验证 |
4.5 本章小结 |
第五章 验证指导的CPM优化 |
5.1 冲突列表公平性的优化 |
5.1.1 实验方法 |
5.1.2 实验结果和分析 |
5.2 吞吐率的优化 |
5.2.1 实验方法 |
5.2.2 实验结果和分析 |
5.3 防死锁机制的设计 |
5.3.1 死锁问题的预测和发现 |
5.3.2 防死锁模块设计和验证 |
5.4 本章小结 |
结论 |
参考文献 |
致谢 |
(2)高性能稠密线性代数数学库关键技术研究(论文提纲范文)
摘要 |
ABSTRACT |
符号使用说明 |
第一章 绪论 |
1.1 研究背景与意义 |
1.1.1 数值线性代数的内涵 |
1.1.2 线性代数数学库发展历程 |
1.1.3 研究现状与不足 |
1.2 论文主要工作 |
1.3 论文组织结构 |
第二章 相关研究工作 |
2.1 BLAS开发与优化 |
2.1.1 GEMM分块算法 |
2.1.2 kernel函数生成与优化 |
2.1.3 GEMM访存优化 |
2.1.4 GEMM并行优化 |
2.2 高层线性代数库 |
2.3 小结 |
第三章 可移植的kernel函数自动生成与编译优化方法 |
3.1 引言 |
3.2 设计与实现 |
3.2.1 kernel自动生成 |
3.2.2 kernel优化技术 |
3.3 性能分析 |
3.3.1 μkernel性能 |
3.3.2 GEMM性能 |
3.3.3 定量分析 |
3.4 小结 |
第四章 并行环境下非LRU共享cache的划分方法 |
4.1 引言 |
4.2 背景 |
4.2.1 存储层次结构回顾 |
4.2.2 GEMM的线程间数据冲突 |
4.3 设计与实现 |
4.3.1 SCP实例 |
4.3.2 算法描述 |
4.4 性能分析 |
4.4.1 线程间cache数据冲突对GEMM性能的影响 |
4.4.2 SCP方法的有效性 |
4.4.3 cache缺失率分析 |
4.4.4 共享矩阵B_2的私有化 |
4.5 小结 |
第五章 混合粒度动态负载均衡算法 |
5.1 引言 |
5.2 背景 |
5.3 设计与实现 |
5.3.1 混合任务粒度 |
5.3.2 低开销任务管理机制 |
5.3.3 基于数据局部性的负载窃取优化 |
5.4 性能分析 |
5.4.1 实验环境 |
5.4.2 测试结果 |
5.4.3 定量分析 |
5.4.4 任务粒度调优 |
5.5 小结 |
第六章 总结与展望 |
6.1 工作总结 |
6.2 研究展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(3)可扩展共享内存系统的关键技术研究(论文提纲范文)
摘要 |
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 研究展望 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文 |
攻读学位期间参与的项目 |
(4)可压缩NS方程求解软件性能优化与并行技术研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景 |
1.1.1 计算流体力学简介 |
1.1.2 异构众核并行体系结构 |
1.1.3 向量化编程 |
1.1.4 MPI/OpenMP两级并行编程 |
1.2 研究现状 |
1.2.1 CFD应用在CPU+MIC异构系统上的并行加速研究 |
1.2.2 C/Fortran混合编程 |
1.2.3 向量化编程 |
1.2.4 OpenMP程序性能优化 |
1.3 本文工作 |
1.4 论文结构 |
第二章 串行程序计算性能优化 |
2.1 CNS程序特点分析 |
2.1.1 程序计算流程 |
2.1.2 热点函数分析 |
2.1.3 微体系结构级计算分析 |
2.1.4 自动向量化分析 |
2.2 单核性能优化 |
2.2.1 最佳编译器选项选择 |
2.2.2 访存优化 |
2.2.3 数值计算优化 |
2.2.4 性能测试 |
2.3 C/Fortran混合编程 |
2.3.1 Fortran程序调用C函数 |
2.3.2 共享标量和固定大小数组 |
2.3.3 共享动态数组 |
2.3.4 性能测试 |
2.4 intrinsic向量化并行 |
2.4.1 intrinsic向量化简介 |
2.4.2 热点函数的intrinsic向量化改写 |
2.4.3 intrinsic向量化优化 |
2.4.4 性能测试 |
2.5 本章小结 |
第三章 基于OpenMP的节点内多线程并行 |
3.1 针对热点循环的OpenMP并行 |
3.1.1 简单循环级OpenMP并行编程 |
3.1.2 并行区的合并和扩展 |
3.2 基于NUMA架构的OpenMP并行优化方法 |
3.2.1 线程与处理器绑定 |
3.2.2 SPMD方式编程 |
3.3 性能测试 |
3.4 本章小结 |
第四章 基于OpenMP4.0的CPU+MIC异构协同并行 |
4.1 CPU+MIC异构移植的实现 |
4.1.1 移植过程介绍 |
4.1.2 性能测试 |
4.2 CPU+MIC异构体系上的性能优化 |
4.2.1 数据传输优化 |
4.2.2 负载均衡优化 |
4.2.3 性能测试 |
4.3 本章小结 |
第五章 总结与展望 |
5.1 工作总结 |
5.2 未来工作展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(5)教学资源数据交换平台关键技术研究与应用(论文提纲范文)
详细摘要 |
abstract |
摘要 |
第1章 绪论 |
1.1 课题研究背景和意义 |
1.2 课题研究范畴 |
1.2.1 数据整合及体系结构研究范围概述 |
1.2.2 数据交换效率及安全问题研究范围概述 |
1.2.3 数据分析及应用问题研究范围概述 |
1.3 研究内容和主要贡献 |
1.4 论文结构安排 |
第2章 数据交换平台相关技术研究现状 |
2.1 数据交换平台体系结构研究现状 |
2.2 数据交换平台数据交换技术研究现状 |
2.2.1 数据交换平台路由器层交换技术研究现状 |
2.2.2 数据交换平台网络流量监测技术研究现状 |
2.2.3 数据交换平台安全技术研究现状 |
2.2.4 数据交换平台并行处理技术研究现状 |
2.3 数据交换平台数据分析和应用研究现状 |
2.4 本章小结 |
第3章 数据交换平台体系结构研究 |
3.1 基于XML的教学资源数据交换平台体系结构研究 |
3.1.1 引言 |
3.1.2 相关工作介绍 |
3.1.3 异构教育资源数据交换平台中间层体系结构研究 |
3.1.4 异构教育资源数据平台应用层体系结构研究 |
3.2 本章小结 |
第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 基于ICMPv6的带宽测量方法改进模型 |
4.2.4 仿真实验分析 |
4.3 异常流量检测方法在数据交换平台安全问题中的研究 |
4.3.1 引言 |
4.3.2 相关工作介绍 |
4.3.3 泛洪DoS/DDoS攻击时流量特点分析 |
4.3.4 泛洪DoS/DDoS攻击的异常流量监测算法设计 |
4.3.5 仿真实验分析 |
4.4 OpenMP的并行化程序模型在数字交换平台中的研究 |
4.4.1 引言 |
4.4.2 相关工作介绍 |
4.4.3 OpenMP指令并行程序开销模型 |
4.5 本章小结 |
第5章 数据交换平台数据分析和应用技术研究 |
5.1 基于数据交换平台的智能导学系统的研究与应用 |
5.1.1 引言 |
5.1.2 相关工作介绍 |
5.1.3 基于数据交换平台的智能导学系统模型架构设计 |
5.1.4 基于数据交换平台的智能导学系统领域知识库设计 |
5.1.5 高等数学个性化学科评估组件的设计 |
5.1.6 改进型C4.5 算法在智能导学系统中的优化研究 |
5.1.7 仿真实验结果分析 |
5.2 本章小结 |
第6章 总结与展望 |
6.1 全文总结 |
6.2 研究展望 |
参考文献 |
作者简介及在学期间所取得的科研成果 |
致谢 |
(6)基于NUMA架构的多线程程序性能和能耗研究(论文提纲范文)
摘要 |
ABSTRACT |
1 绪论 |
1.1 NUMA系统 |
1.2 NUMA系统的性能优化研究现状 |
1.3 NUMA系统的能耗优化研究现状 |
1.4 本文的研究工作 |
1.5 论文的组织结构 |
2 基于NUMA架构的多线程程序性能瓶颈检测与分析 |
2.1 问题的提出 |
2.2 多线程程序的性能瓶颈分析及优化 |
2.3 检测分析工具的实现机制 |
2.4 功能测试与分析 |
2.5 本章小结 |
3 基于NUMA架构提升多线程程序性能的对称式调度机制 |
3.1 问题的提出 |
3.2 线程远端访问分布不均衡分析 |
3.3 对称式匹配调度机制 |
3.4 性能测试与分析 |
3.5 本章小结 |
4 基于NUMA架构多线程程序性能和能耗相关性分析 |
4.1 问题的提出 |
4.2 多线程程序性能与能耗关系分析 |
4.3 性能与能耗的理论分析模型 |
4.4 实验模拟与结果分析 |
4.5 性能与能耗优化 |
4.6 本章小结 |
5 基于NUMA架构节省多线程程序能耗的频率调整机制 |
5.1 问题的提出 |
5.2 动态频率调整对多线程程序能耗的影响 |
5.3 多线程程序的能耗优化模型 |
5.4 实验模拟与结果分析 |
5.5 本章小结 |
6 全文总结与工作展望 |
6.1 本文工作总结 |
6.2 下一步工作展望 |
致谢 |
参考文献 |
附录1 缩略词简表 |
附录2 攻读博士学位期间发表的主要论文及发明专利 |
附录3 博士生期间参与的课题研究情况 |
附录4 个人简历 |
(7)龙芯平台上高性能计算的性能优化关键问题研究(论文提纲范文)
摘要 |
ABSTRACT |
算法索引 |
第一章 绪论 |
1.1 研究背景 |
1.1.1 龙芯3B1500 |
1.1.2 龙芯3B2000 |
1.1.3 BLAS库 |
1.1.4 FFTW库 |
1.2 国内外研究现状 |
1.2.1 程序性能优化 |
1.2.2 BLAS函数库优化 |
1.2.3 FFTW函数库优化 |
1.2.4 泊松方程求解优化 |
1.3 本文研究内容 |
1.4 本文组织结构 |
第二章 程序优化方法 |
2.1 并行计算优化 |
2.2 编译器优化 |
2.3 热点代码优化 |
2.3.1 热点代码分析方法 |
2.3.2 热点函数优化方法 |
2.4 异构计算 |
2.5 本章小结 |
第三章 基于龙芯3B1500的BLAS库优化 |
3.1 BLAS函数库简介 |
3.2 异步计算访存优化方法 |
3.2.1 单线程函数优化 |
3.2.2 节点内多核并行化 |
3.2.3 GEMM函数的性能评测 |
3.3 TRSM函数的优化 |
3.3.1 优化方法 |
3.3.2 dTRSM函数性能评测 |
3.4 TRMM函数的优化 |
3.4.1 优化方法 |
3.4.2 dTRMM函数性能评测 |
3.5 SYMM和HEMM函数的优化 |
3.5.1 优化方法 |
3.6 BLAS整体优化效果 |
3.6.1 单纯的函数测试 |
3.6.2 LINPACK测试 |
3.7 本章小结 |
第四章 基于龙芯3B1500的FFTW函数库优化 |
4.1 FFTW函数库简介 |
4.2 FFTW库的算法 |
4.2.1 Cooler-Turkey算法 |
4.2.2 其他FFT算法 |
4.3 多层数据划分优化方法 |
4.3.1 数据分块 |
4.3.2 多级预取优化访存 |
4.3.3 特殊指令的核心计算优化 |
4.3.4 优化参数分析 |
4.3.5 性能评估和优化效果 |
4.4 核心函数集的优化 |
4.4.1 复数输入的核心函数 |
4.4.2 实数输入的核心函数 |
4.4.3 优化方法 |
4.4.4 优化效果和性能分析 |
4.5 本章小结 |
第五章 基于CC-NUMA架构的并行计算框架优化 |
5.1 CC-NUMA简介 |
5.2 并行计算框架HPFCA |
5.2.1 PCAM并行计算框架 |
5.2.2 数据重新部署 |
5.2.3 节点内多核并行 |
5.2.4 HPFCA流程图 |
5.3 龙芯3B双路上的并行算法 |
5.3.1 dGEMM的并行算法 |
5.3.2 基-2FFT算法的并行实现 |
5.4 实验评测 |
5.5 本章小结 |
第六章 基于异构平台的三维泊松方程求解优化 |
6.1 背景介绍 |
6.2 异构平台下计算资源的负载均衡 |
6.2.1 泊松方程求解 |
6.2.2 多GPU上的算法实现 |
6.2.3 负载均衡 |
6.3 实验结果和分析 |
6.3.1 实验环境与参数 |
6.3.2 实验结果与分析 |
6.4 本章小结 |
第七章 总结与展望 |
7.1 本文主要工作和贡献 |
7.2 未来工作展望 |
参考文献 |
致谢 |
在读期间发表的学术论文与取得的研究成果 |
(8)基于多核CPU并行计算的图像超分辨和目标检测(论文提纲范文)
摘要 |
ABSTRACT |
符号对照表 |
缩略语对照表 |
第一章 绪论 |
1.1 研究的背景和意义 |
1.2 国内外研究现状 |
1.2.1 多核处理器 |
1.2.2 基于多核CPU的图像并行处理技术 |
1.3 论文的主要工作及内容安排 |
第二章 多核并行编程技术与相关背景知识 |
2.1 并行计算概述 |
2.1.1 并行计算机结构 |
2.1.2 并行编程模型 |
2.1.3 并行计算性能指标 |
2.1.4 多核CPU架构 |
2.2 多核并行编程技术 |
2.2.1 MATLAB并行计算 |
2.2.2 OpenMP介绍 |
2.3 本章小结 |
第三章 基于多核CPU的并行图像超分辨处理技术 |
3.1 引言 |
3.2 基于稀疏表示的图像超分辨处理方法 |
3.3 基于稀疏表示的图像超分辨处理方法并行化方案 |
3.3.1 串行算法分析 |
3.3.2 并行化方案设计 |
3.4 实验结果与分析 |
3.4.1 实验测试数据 |
3.4.2 实验环境和配置 |
3.4.3 实验结果 |
3.5 本章小结 |
第四章 基于多核CPU的并行SAR图像飞机检测 |
4.1 引言 |
4.2 基于连通区域的SAR图像飞机检测方法 |
4.3 SAR图像飞机检测方法并行化方案 |
4.3.1 串行算法分析及实验测试 |
4.3.2 SAR图像飞机检测方法并行化方案设计 |
4.4 实验结果与分析 |
4.4.1 实验测试数据 |
4.4.2 实验环境和配置 |
4.4.3 实验结果 |
4.5 本章小结 |
第五章 总结与展望 |
5.1 本文工作总结 |
5.2 未来展望 |
参考文献 |
致谢 |
作者简介 |
附录A 第三章部分实验数据 |
附录B 第四章实验数据 |
(9)基于龙芯3号多片互连的服务器桥片实现与一致性研究(论文提纲范文)
摘要 |
ABSTRACT |
目录 |
第一章 绪论 |
1.1 课题背景 |
1.2 研究现状 |
1.2.1 Intel处理器结构体系 |
1.2.2 SGI Origin 2000/3000 |
1.2.3 Alpha21364处理器 |
1.2.4 Opteron处理器 |
第二章 系统分类与一致性模型 |
2.1 共享存储系统分类 |
2.2 一致性协议实现方法 |
2.2.1 侦听协议与目录协议 |
2.2.2 多态转换的一致性协议 |
2.3 片内cache一致性的实现 |
第三章 缓存目录协议及缓存一致性的实现 |
3.1 目录组织 |
3.2 二级缓存与层次关系 |
第四章 桥片设计 |
4.1 桥片的意义 |
4.2 总线协议介绍 |
4.2.1 AXI一致性扩展协议 |
4.2.2 HyperTransport一致性扩展协议 |
4.2.3 PCIE接口 |
4.3 龙芯处理器互连接口 |
4.4 桥片内部结构设计 |
4.4.1 桥片规格及互连 |
4.4.2 桥片结构设计 |
4.4.3 RMC模块实现 |
4.4.4 桥片互连及路由算法 |
第五章 桥片验证 |
5.1 RMC定向仿真环境验证 |
5.2 RMC随机仿真环境验证及性能分析 |
5.3 桥片路由机制验证 |
第六章 结论与展望 |
参考文献 |
致谢 |
攻读学位期间发表的学术成果 |
(10)基于多核机群环境的并行程序设计方法研究 ——MPI+OpenMP混合编程(论文提纲范文)
摘要 |
Abstract |
1.绪论 |
1.1 背景 |
1.2 国内外研究现状 |
1.3 本论文所做工作、目的和意义 |
1.3.1 本文所做工作 |
1.3.2 论文的目的与意义 |
2.并行程序设计基础 |
2.1 并行计算机体系结构 |
2.1.1 共享存储体系结构 |
2.1.2 分布式存储结构 |
2.1.3 分布式共享存储结构 |
2.2 并行编程设计模型 |
2.2.1 数据并行模型 |
2.2.2 消息传递模型 |
2.2.3 共享变量模型 |
3.MPI 和 OpenMP 编程环境配置 |
3.1 MPI 消息传递编程模型 |
3.1.1 MPI 的语言支持 |
3.1.2 MPI 的函数 |
3.1.3 MPI 并行程序设计模式 |
3.2 OpenMP 编程模型 |
3.2.1 OpenMP 并行编程模型 |
3.2.2 OpenMP 程序开发形式 |
3.3 MPI 与 OpenMP 性能比较 |
4.MPI+OpenMP 的混合编程模型 |
4.1 混合编程模型的优势 |
4.2 MPI+OpenMP 混合编程基础 |
4.3 混合编程的优化 |
4.3.1 进程通信 |
4.3.2 线程并行 |
4.3.3 数据共享 |
4.3.4 通过乱系执行提高并行能力 |
4.3.5 更好的发挥 Cache 的效能 |
5.混合编程模型的实例测试 |
5.1 多核机群硬件环境搭建 |
5.2 软件环境配置 |
5.2.1 MPICH 安装配置 |
5.2.2 OpenMP 配置 |
5.2.3 MPICH 与 OpenMP 在 Visual Studio 2008 中的配置 |
5.3 单节点的测试 |
5.3.1 矩阵运算算法描述 |
5.3.2 基于 MPI 的矩阵运算 |
5.3.3 基于 OpenMP 的矩阵乘法 |
5.3.4 两种测试结果比较分析 |
5.4 机群上测试 |
5.4.1 矩阵相乘的混合编程 |
5.4.2 混合程序的执行测试 |
5.4.3 测试分析 |
5.5 小结 |
6.总结和展望 |
参考文献 |
附录:攻读学位期间发表的学术论文及参与项目 |
致谢 |
四、CC-NUMA结构下共享变量并行计算的研究(论文参考文献)
- [1]国产处理器监听广播协议部件的优化和验证[D]. 魏云蛟. 安徽大学, 2020(07)
- [2]高性能稠密线性代数数学库关键技术研究[D]. 苏醒. 国防科技大学, 2020(01)
- [3]可扩展共享内存系统的关键技术研究[D]. 洪扬. 上海交通大学, 2019(06)
- [4]可压缩NS方程求解软件性能优化与并行技术研究[D]. 董仕. 国防科技大学, 2018(02)
- [5]教学资源数据交换平台关键技术研究与应用[D]. 香丽芸. 吉林大学, 2017(03)
- [6]基于NUMA架构的多线程程序性能和能耗研究[D]. 朱亮. 华中科技大学, 2016(03)
- [7]龙芯平台上高性能计算的性能优化关键问题研究[D]. 张明. 中国科学技术大学, 2017(05)
- [8]基于多核CPU并行计算的图像超分辨和目标检测[D]. 袁丹建. 西安电子科技大学, 2015(03)
- [9]基于龙芯3号多片互连的服务器桥片实现与一致性研究[D]. 鲍庆元. 太原理工大学, 2014(02)
- [10]基于多核机群环境的并行程序设计方法研究 ——MPI+OpenMP混合编程[D]. 王杰. 中原工学院, 2012(06)