导读:本文包含了并行编程环境论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:多核,模型,模式,骨架,环境,香农,结构。
并行编程环境论文文献综述
范学鹏[1](2018)在《多核环境下任务并行编程关键技术研究》一文中研究指出随着多核/众核处理器的出现,如何在多核/众核平台上进行并行程序开发,以充分发掘多核/众核处理器的性能,成为计算机软件发展的重要影响因素。1)用户在使用更高层的任务并行编程工具的过程中,遇到的编程错误不同于传统的多线程编程,这一方面是因为并行编程本身的复杂性,另一方面也因为这些任务并行编程工具本身存在编程抽象及接口设计上的不合理。2)不同的任务并行编程工具面向不同的并行模式,因此提供不同的编程抽象及编程接口,这导致开发人员在复杂的并行应用中,通常需要选择多个不同的并行编程工具,这进一步增加了并行编程的复杂性,并间接提高了并行程序性能优化的难度。3)任务并行编程的执行模型在使用并行任务取代线程后,需要在应用层面引入新的调度机制以保证并行任务的高效执行,然而,这一调度机制在并行任务中的数据需要进行同步时容易引入新的性能瓶颈。因此,多核处理器上的任务并行编程依然充满挑战。围绕开发人员使用现有任务并行编程工具中所遇到的诸多问题,“多核环境下任务并行编程关键技术研究”课题提出了新的面向多核环境的任务并行编程工具,Function Flow。主要包括以下叁个方面:在编程工具的易用性方面,对典型的并行编程工具的真实使用情况进行了用户案例研究,并基于该研究结果,对任务并行编程模型的编程接口提出了改进。具体来说,该用户案例研究包含了107个用户在使用Intel TBB及Microsoft PPL中所遇到的问题,通过对这些案例的统计、分类和总结,案例研究表明用户对编程工具存在着广泛的误用,这些误用问题导致开发人员在使用任务并行编程工具的过程中,其开发效率受到严重影响。更进一步的,这些误用问题主要包括类型不匹配带来的编译错误、以及开发人员对多任务并行编程工具所涉及的概念理解偏差所带来的运行时错误。基于案例研究的发现,提出定制编译错误信息、并将任务并行编程所涉及的概念转化为编译器的检查,从而减少开发人员对任务并行编程工具的误用。在对多种并行模式的支持方面,提出统一的任务协调机制,从而为复杂的任务并行应用提供优化空间。任务协调原语用于描述两种任务等待关系1)等待多个任务全部完成,2)等待多个任务中任意任务的完成;基于这两种原语,一个统一的任务协调机制能够支持多种主流并行编程模式。同时,在该并行编程框架的实现中,引入了统一的、轻量的任务等待关系,为面向复杂任务并行应用提供了良好的基础。实验结果表明,基于该统一的并行编程模型框架的实现,其性能与Intel TBB相当。在对任务并行的执行模型方面,在应用层引入任务的调度机制,SSLink,解决了在存在等待关系的任务中的数据同步导致的性能瓶颈问题。其核心思想如下:首先,通过静态程序分析手段获取并行程序中的数据同步信息;其次,通过改写并行程序,将数据同步信息暴露给运行时系统;最后,运行时系统通过预先判定可能存在的数据同步,从而优先调度不存在数据同步的任务,以降低因数据同步带来的线程挂起。实验结果表明,通过将SSLink与现有的任务窃取调度方法集成,SSLink的性能显着优于Intel TBB。综上所述,围绕多核环境下的任务并行编程这一问题,从认识问题(即任务并行编程工具的易用性研究),提出方案(即基于任务协调原语的统一并行编程框架)和优化方法(即在任务并行的执行模型的研究)叁个方面并结合实践对任务并行编程进行了全面、深入的系统研究。这些研究为多核环境下的任务并行编程提供了新的编程抽象,为程序设计人员的并行程序开发提供了强有力的工具。(本文来源于《华中科技大学》期刊2018-06-01)
上官丹骅,邓力,张宝印,姬志成,李刚[2](2016)在《非定常输运问题适应于消息传递并行编程环境的香农熵计算方法》一文中研究指出在多计算步的非定常输运问题的蒙特卡罗模拟中,为自动调整每一步的样本数以获得较高的计算效率,可以有多种准则.一种可选的方法是在每一步每隔若干样本监测一次系统中未死亡粒子属性分布对应的香农熵的收敛情况以决定何时停止追加样本,此种方法需要在每一步频繁计算香农熵值.由于在MPI消息传递并行编程环境下香农熵的经典计算方法必须广播大量的数据,导致每一步的计算时间随香农熵计算频率的提高而快速增大,这显然是不能满足实际需求的.本文提出了一种适应于消息传递并行编程环境的香农熵计算新方法,该方法计算得到的香农熵值并不等价于经典方法,但二者之间的差别会随着样本数的增加而趋于零.新方法的最大优势是高频计算香农熵值的时间代价大为降低,为最终实现基于香农熵收敛判断的每步样本数的自动调整奠定了必要的基础.(本文来源于《物理学报》期刊2016年14期)
刘晓东,王淼[3](2015)在《虚拟计算环境下并行编程模型的研究与实现》一文中研究指出针对目前面向大数据处理的并行编程模型研究中存在的不足,利用BSP模型性能可预测、易于编程、消息传递不产生死锁等优点,将BSP模型与虚拟计算环境相结合,提出一种虚拟计算环境下分布式内存与共享内存混合的并行编程模型BSPCloud.利用Java语言实现了BSPCloud并行编程模型原型系统,在虚拟计算环境下对其性能可预测性和加速比进行评估,实验结果表明BSPCloud具有很好的性能和可预测性.(本文来源于《微电子学与计算机》期刊2015年12期)
余村[4](2012)在《低功耗音频DSP并行编程环境设计与实现》一文中研究指出近年来,智能音频应用的普及对手持设备的计算能力的要求越来越高,然而手持设备的续航时间却越来越短。更高的性能,更低的功耗,是移动处理器的主要发展方向。多核凭借其强大的处理能力与相对较为合理的功耗、散热、制造成本成为了移动处理器的主流方案。APC(Audio Processing Core)是面向音频应用优化设计的低功耗DSP,采用多核设计,具有计算资源受限、多级混合型存储架构以及无操作系统环境等特点。音频应用必须经过并行化才能发挥多核APC的计算能力。并行程序需要通过并行编程模型来编写。现有的并行编程模型各自适合特定架构。APC也需要一套对其硬件架构优化的并行程模型。本文为多核APC设计并实现了一套并行编程模型。该并行编程模型具有轻量级的运行时环境,支持多级混合型存储架构,支持多种核间交互方式。为了评估文中并行编程模型的性能以及开销,设计并实现了一个APC多核指令集模拟器,模拟并行程序运行所需的硬件环境。将四个实验用例移植到多核指令集模拟器上,实验结果表明,文中的并行编程环境以较小的开销、简洁易用的编程接口发挥出了多核APC的计算能力。该并行环境的设计实现过程,对面向特定应用的低功耗DSP的并行编程环境设计具有一定的参考意义。(本文来源于《上海交通大学》期刊2012-12-01)
陈榕[5](2011)在《多核环境下面向数据并行编程模型的性能和可伸缩性研究》一文中研究指出近10年来对于大规模数据处理的需求变的日益迫切,等待处理的数据如雪崩一般不断增长。据权威咨询公司IDC于2007年统计,截至2006年存储于电子介质中的数据量达到惊人的161艾字节(Exabyte),并且预计至2010年这一数字将来到998艾字节。毫无疑问数据密集型应用已经成为当今最为重要的计算机应用之一。与此同时,随着多核技术的日益普及,片上核数目的快速增长,多核平台在大规模数据处理领域呈现出极为广阔的应用前景。然而这些以多核形式提供的强大计算能力,只有通过并行程序才能得以充分利用,发挥出与核数目的增长一致的实际效果。高效并行程序的编写历来是困扰程序员的难题,因为除了业务逻辑本身,程序员还必须面对包括数据分布、可伸缩性、负载平衡和系统容错在内的大量与并行性相关的复杂问题。权威调研机构Gartner于2008年列出了未来25年IT市场面临的七大挑战,多核时代的并行编程位居第二。面向数据并行编程模型无疑是这一挑战的最好解答,通过合理的抽象向应用程序员隐藏并行性相关问题,在将业务逻辑开发留给应用程序员的同时,将实现并行的挑战留给并行计算专家。然而现有的面向数据并行编程模型和运行时支持大多针对集群平台设计和实现,并没有充分考虑到多核平台的自身特点,比如高速核间通信、共享缓存竞争和整机故障模型等,因此也就不能有效的利用多核技术带来的强大计算能力。此外,现有的并行编程模型设计更多的关注于通用性而缺乏针对性,限制了模型在某些应用领域和计算需求下的执行效果。本文在深入分析现有MapReduce并行编程模型在多核平台上存在的性能和可伸缩性问题的基础上,提出了一个系统的解决方案。首先以MapReduce模型为基础采用分治策略针对多核平台特点进行扩展,然后基于分治MapReduce模型提出了针对内存占用、缓存局部性和任务并行性叁个方面的多个优化,最后以在线聚集计算和增量计算为例分析并验证了分治MapReduce模型对于不同领域和不同需求应用的高效支持。相对于之前的研究而言,该研究致力于设计和实现针对多核平台的面向数据并行编程模型,充分利用资源获得与之相匹配的性能和可伸缩性,并为更多的领域和应用提供高效地支持。具体而言,本文的主要贡献如下:1.从面向数据并行编程模型的角度深入分析多核平台与集群平台间存在的主要差异,并在此基础上揭示了面向集群平台设计的MapReduce并行编程模型在多核平台上存在的主要问题。提出利用分治策略对MapReduce并行编程模型进行扩展,将大型任务分解为多个子任务迭代执行,并改进原有的容错机制,以达到充分适应多核平台特点的目标。2.提出基于分治MapReduce模型,涉及内存、缓存和处理器叁个方面的多个运行时优化。采用动态数据加载和缓冲区重用技术减少并缩短内存资源占用,采用面向非一致缓存/内存访问(NUCA/NUMA-aware)的调度策略提高缓存局部性,采用软件流水线技术(Software Pipeline)和任务窃取技术(Work Stealing)消除处理器空闲。3.基于分治MapReduce模型以及相关运行时优化,在多核平台设计并实现了名为Ostrich白勺原型系统。深入评测的结构表明,分治MapReduce模型的接口扩展相对于其它MapReduce模型实现并不会对程序员产生额外负担。其次,在16核Intel处理器构成的测试平台上,Ostrich运行时不但在所有基准测试中都具有更好的可伸缩性,并且在性能测试中节省高达85%的内存,降低3.1倍至7.1倍的缓存缺失率,以及提高整体性能1.2倍至3.3倍。4.利用分治MapReduce模型提供的强大支持,设计并实现了两个针对不同领域和不同计算需求的案例应用。Oops系统实现了对在线聚集计算的支持,能够在执行过程中向用户反馈当前进度下的近似结果,并能够高效地支持多级在线计算。Ostrichlnc系统提出在子任务级别实现计算复用,实现了对严格增量计算和部分增量计算的高效支持。评测结果表明,分治MapReduce模型在保持原有通用性的前提下,对多种不同领域和不同需求的应用能够提供高效支持。(本文来源于《复旦大学》期刊2011-04-13)
彭林[6](2010)在《软件事务存储并行编程环境关键技术研究》一文中研究指出新的摩尔定律指出在基本不变的主频下,单个芯片上的处理器核的数目每一代(约两年)增加一倍,程序性能的提高必须依靠并行,并行算法和并行编程是今后几十年计算机科学和软件界必须突破的科学问题和关键技术。在共享存储体系结构上,并行编程中各并行任务间通信都要通过共享变量,同步是保证正确的共享变量访问必不可少的手段。然而传统的用于线程间同步的锁机制编程困难,不具备可组合性。学术界借鉴数据库中事务的思想,提出了事务存储(Transactional Memory,TM)机制,其研究目标是提供简单高效的并行程序同步机制,近年来事务存储研究成为了体系结构和编译领域的研究热点。本文就如何构建一个实用的软件事务存储并行编程环境,从事务存储执行安全和具体语言环境中的事务语义、满足安全和语义要求的软件事务存储实现与优化、事务存储并行编程接口及事务存储程序性能调优和事务存储应用几方面,对事务存储系统展开深入研究。完成的主要工作和取得的创新性成果如下:(1)提出了事务存储串行性与事务互斥语义目前在共享存储模型的语言中,事务存储作为一种同步手段,缺乏满足安全属性条件的执行模型,对此提出了事务存储串行性(Transactional Memory Serializability,TMS)与事务互斥语义,二者描述了程序员进行事务存储程序设计的平台必须满足的要求和可能的优化空间。TMS针对事务之间并发执行提出约束,消除事务并发执行中可能的异常情况,使并发事务获得顺序执行的效果。通过证明,TMS是一种安全属性。在TMS的基础上,事务互斥语义要求存在访问冲突的事务之间保持发生序(happen-before)关系,与现有同步操作语义一致,有效解决了弱隔离性下事务代码与非事务代码之间的数据竞争问题。(2)提出了无原子操作向量时钟软件事务存储算法VectorSTM针对现有的软件事务存储实现难以同时兼顾语义与性能的问题,提出一种实用向量时钟的软件事务存储算法VectorSTM,该算法采用Bloom Filter检测冲突,不需要任何原子操作,能够有效降低软件事务存储中冲突检测和原子操作的开销,同时高效的实现了TMS与事务互斥语义。对事务存储基准程序STAMP的测试结果表明,VectorSTM性能接近高度优化的TL2,优于RingSTM,并且能提供比TL2和RingSTM更强的语义。(3)提出了基于异或函数的自适应事务冲突检测算法AdapSig针对现有软件事务存储使用的Bloom Filter误判率过高的问题,提出了一种软件实现的基于异或函数的自适应冲突检查算法AdapSig,能够根据事务执行时读写集合的大小,动态改变Bloom Filter位向量长度,达到降低误判率,提高性能的目的。在VectorSTM中,与优化前的使用位选函数、定长位串的Bloom Filter冲突检测算法相比,AdapSig算法对STAMP测试集性能有所提高,8个线程时性能平均提高3.32%,最好达到15%。(4)构建了集成优化技术的软件事务存储并行编程环境针对目前科学计算语言Fortran缺乏事务存储支持的情况,首次构造了一个OpenTM-Fortran软件事务存储并行编程环境,集成了VectorSTM与Adapsig,为程序员提供对事务程序调优的剖视信息。研究了利用事务存储对不规则循环进行前瞻并行,实验表明该方法能够有效的开发多核处理器的存储级并行和并行计算能力。(本文来源于《国防科学技术大学》期刊2010-05-01)
许淳[7](2009)在《基于骨架的并行编程环境中结构骨架库的研究》一文中研究指出随着科学、技术和社会经济的发展,人们对计算机处理能力提出了更高的要求,特别是在基因工程、气象等大规模科学计算领域。理论上,问题的并行求解是一种有效的解决方案。然而,并行程序开发是比较困难的,其根本原因在于并行计算机体系结构的多样性。为了简化并行程序的开发,我们提出了一种基于两级抽象的叁层并行编程模型,分别为抽象语言层、并行语言层和实现层。其中,抽象语言层属于设计阶段,并行语言层和实现层属于实现阶段。该模型可以将并行程序开发过程中的创造性工作和非创造性工作区分开来,创造性工作在抽象语言层由编程者完成,非创造性工作在并行语言层和实现层由机器完成,可以有效地降低并行程序编程难度和提高程序的开发效率。我们还对其支撑平台进行了有益的探索,骨架库是我们基于骨架的编程系统中的重要组成部分,骨架库的研究对于系统的实用性、可编程性和可扩展性方面具有重要作用。本文主要工作是对骨架库中的结构骨架进行深入的研究,主要包括以下几个方面的内容:(1)提出了一种并行骨架的抽象形式,通过对其进行扩展,可以形成各种结构骨架,如Singleton骨架、Farm骨架、Pipeline骨架、Taskqueue骨架。这样,一方面可以使得并行结构骨架之间的相互组合变得容易;另一方面也为算法骨架的实现提供了必要的条件。(2)对系统底层通信库MPI的调用接口进行了简化,以方便编程者进行性能调整。同时也使得编程者对特定骨架的通信特性有更清晰的认识。(3)对骨架描述方法进行了研究,提出了一种基于XML的通用骨架描述方法,并使用该方法对现有结构骨架进行了统一描述,以便更好地指导编程者,使其能较为准确地选择、比较和使用并行结构骨架。(4)在PC机群和MPICH组成的并行计算平台上对两个经典实例――数组求和及矩阵-向量乘法问题均进行了基于MPI、基于结构骨架的并行实现,并对它们的性能进行了评价。运行结果表明,基于结构骨架的并行程序开发方法在基本不损失性能的同时,降低了并行程序的开发难度,提高了并行程序的开发效率。(本文来源于《江西师范大学》期刊2009-05-01)
郑晓艳,石连栓,孙济洲[8](2009)在《基于VOPP并行编程环境的最大频繁项集生成方法》一文中研究指出频繁项集挖掘是关联规则挖掘的核心内容,提出了一种挖掘最大频繁项集的并行算法CDTR。它对CD(counting distribution)算法进行了改进,根据一种新的分布式共享内存环境下面向视图并行编程思想,将数据库划分成视图。为了实现动态任务分配,对数据库进行了预处理。实验结果显示CDTR能够高效地生成最大频繁项集,大大提高了分布式共享内存系统的效率。(本文来源于《计算机应用研究》期刊2009年04期)
李永兵[9](2009)在《并行编程环境与工具》一文中研究指出随着多核技术的发展,并行计算及并行编程日益成为人们关注的焦点。文章主要介绍了并行计算的概念及并行机的体系结构,讨论了并行编程的环境与工具。(本文来源于《长治学院学报》期刊2009年02期)
于程远,万剑怡,陈艳琼[10](2008)在《基于模式的并行编程环境中任务队列模式的研究与实现》一文中研究指出并行程序的设计是并行计算的难点之一。本文在基于模式的并行编程方法的基础上,对一种典型的并行计算与通信模式-任务队列模式进行了深入的研究,并在基于模式的并行编程环境中对该模式进行了实现。本文将通过两个典型的应用实例说明在基于模式的并行编程环境中使用任务队列模式进行问题的并行求解与并行程序开发的过程,并从实现效率和可编程性方面对使用任务队列模式的并行程序和传统的MPI/PVM实现的并行程序进行了分析与比较。(本文来源于《计算机与现代化》期刊2008年10期)
并行编程环境论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
在多计算步的非定常输运问题的蒙特卡罗模拟中,为自动调整每一步的样本数以获得较高的计算效率,可以有多种准则.一种可选的方法是在每一步每隔若干样本监测一次系统中未死亡粒子属性分布对应的香农熵的收敛情况以决定何时停止追加样本,此种方法需要在每一步频繁计算香农熵值.由于在MPI消息传递并行编程环境下香农熵的经典计算方法必须广播大量的数据,导致每一步的计算时间随香农熵计算频率的提高而快速增大,这显然是不能满足实际需求的.本文提出了一种适应于消息传递并行编程环境的香农熵计算新方法,该方法计算得到的香农熵值并不等价于经典方法,但二者之间的差别会随着样本数的增加而趋于零.新方法的最大优势是高频计算香农熵值的时间代价大为降低,为最终实现基于香农熵收敛判断的每步样本数的自动调整奠定了必要的基础.
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
并行编程环境论文参考文献
[1].范学鹏.多核环境下任务并行编程关键技术研究[D].华中科技大学.2018
[2].上官丹骅,邓力,张宝印,姬志成,李刚.非定常输运问题适应于消息传递并行编程环境的香农熵计算方法[J].物理学报.2016
[3].刘晓东,王淼.虚拟计算环境下并行编程模型的研究与实现[J].微电子学与计算机.2015
[4].余村.低功耗音频DSP并行编程环境设计与实现[D].上海交通大学.2012
[5].陈榕.多核环境下面向数据并行编程模型的性能和可伸缩性研究[D].复旦大学.2011
[6].彭林.软件事务存储并行编程环境关键技术研究[D].国防科学技术大学.2010
[7].许淳.基于骨架的并行编程环境中结构骨架库的研究[D].江西师范大学.2009
[8].郑晓艳,石连栓,孙济洲.基于VOPP并行编程环境的最大频繁项集生成方法[J].计算机应用研究.2009
[9].李永兵.并行编程环境与工具[J].长治学院学报.2009
[10].于程远,万剑怡,陈艳琼.基于模式的并行编程环境中任务队列模式的研究与实现[J].计算机与现代化.2008
论文知识图





