串行程序并行化论文-张朋

串行程序并行化论文-张朋

导读:本文包含了串行程序并行化论文开题报告文献综述及选题提纲参考文献,主要关键词:多核,并行化,控制依赖,数据依赖

串行程序并行化论文文献综述

张朋[1](2015)在《多核平台下串行程序的并行化改造》一文中研究指出在人们将CPU的性能一步步推向高点的时候,多核已经取代了单核统治了当下的PC平台。为了充分利用多核平台强劲的计算资源,并让众多经过时间检验的优秀串行程序旧物新用,从而保持软件设计与硬件提升的协调,对串行程序并行化改造的研究显得颇为重要且已较为活跃。本文以串行程序并行化的重点技术-控制依赖和数据依赖的分析为基础,提出一个基于带权集合的串行程序并行化方案,重点研究了控制依赖和数据依赖的分析方法,并以实际工作中一个课题CRAES系统①的并行化改造为依据,对基于带权集合并行化方案加以深入分析和讨论。主要研究内容分为四部分。(1)对串行程序并行化的相关知识(串行程序、并行程序、并行程序设计方案、并行编程模型以及程序控制依赖和数据依赖)进行总结。(2)以CRAES系统的并行化改造为依据,对本文所提方案的需求分析及概要设计进行说明。(3)详细阐述控制依赖分析方法和数据依赖分析方法,并给出改进的算法;从数据分解、任务分解、循环级分解的角度分析了对串行程序的并行化改造可能;描述基于带权集合串行程序并行化方案的算法设计以及具体实现;给出改造后的并行程序的调试和优化方法。(4)简单介绍CRAES系统,以对此算法的分析为基础对其进行了并行化改造,并通过实验对并行化前后运行性能进行比较。(本文来源于《电子科技大学》期刊2015-03-19)

王磊[2](2013)在《基于MPI的串行程序自动并行化的应用研究》一文中研究指出随着并行计算机的迅猛发展,越来越多的领域迫切需要提高大规模问题求解的速度,串行程序并行化能够缩短问题求解时间,为了实现快速并行化,本文进行串行程序自动并行化软件的设计和实现。并行程序是基于MPI(Message Passing Interface)消息传递编程模型的。系统软件应用MPI程序的基本流程和程序设计模式。研究矩阵,数组大规模并行计算算法,根据相关理论进行并行算法评价和复杂性分析。进程间并行执行需要消息通信,运用MPI的点到点或集合通信函数和模式理论,解决进程间的通信协作。使用编程语言设计自动并行化软件,主要研究串行程序分析和自动转换两大模块的实现。串行程序分析以人工智能理论为基础,对人工智能的搜索算法进行研究和改进,应用到串行程序读入分析中,算法能够实现对程序的高效读取和准确分析。自动转换要按照自动转换的原则进行,针对变量定义,顺序语句,循环语句,分支语句以及大型矩阵和数组运算,调用相应的自动转换方式。最后以π值的近似计算为例进行系统性能测试,与串行计算运行时间进行比较,计算加速比。由此可以得出结论,计算量越大,并行计算的性能也越突出。串行程序自动并行化软件不仅实现了快速并行化,减轻了程序员负担,而且在时间和空间上都提高了效率。(本文来源于《安徽理工大学》期刊2013-06-01)

张延帅[3](2011)在《基于案例特征库的串行程序并行化研究》一文中研究指出目前市场上的计算机多采用多核多处理器结构,然而软件技术的研究远远落后于硬件技术的发展,多数程序员还不能掌握并行程序的开发技术,传统应用程序无法利用多核多处理器的卓越计算能力。串行程序并行化技术使串行程序可以被分成可执行的并行程序段,分配到不同的处理器上执行,从而充分发挥多核多处理器的强大计算能力。但传统的并行计算技术将注意力集中在对依赖关系的处理上,在此基础上开发了很多并行化算法和并行化编译器,但由于依赖关系形式多样,所以各类算法复杂且不易实现,影响了并行计算技术的发展。研究表明,程序如果有一些特定的共同特征就可以采用相同或类似的并行化方案。所以本题目不像传统方式那样对串行程序进行各种依赖关系的识别和处理以消除依赖达到可并行化的程度,而是借鉴串行程序中设计模式的思想,提出并行化模式的概念,将串行程序的并行化方案进行分类,形成模式,建立一个知识库存储各种并行化模式,其中并行化模式包含应用程序特征及其相应的并行化方案,在此基础上开发一个并行编译器,该编译器服务对象为多核多处理器计算机,它利用词法和语法分析提取串行程序特征,并利用CBR(基于案例推理)技术从知识库中获取并行化方案,然后自动产生并行程序的框架结构,从而减轻程序员编写并行程序的负担,同时可以利用并行计算发展至今积累的宝贵资源,达到代码复用的目的。知识库还具有学习能力,可以不断增加新的案例,以适应各类新问题的出现,并提高串行程序解决方案的准确度。该编译器的输入为普通应用程序,输出为对应的并行化解决方案,不局限于传统的处理规则数据结构的科学计算程序,而是将服务范围扩大为处理非规则数据结构的普通应用程序,能极大提高软件对于多核多处理器计算机的利用率(本文来源于《山东大学》期刊2011-05-21)

姚辉萍[4](2010)在《串行程序并行化及其在桌面网格中的应用》一文中研究指出随着计算机软、硬件技术的迅速发展,高性能计算逐渐在越来越多的行业中得到应用。并行计算是实现高性能的一种重要的技术途径,其关键环节是并行程序设计。串行程序并行化作为并行程序设计的一个有效手段,主要分为依赖关系分析、别名分析、数据划分叁个阶段。本文在研究串行程序并行化的基础上进行了如下工作:首先,依赖关系分析是串行程序并行化的一个难点。依赖关系分析作为串行程序并行化的首要工作,是检测程序并行性的基础步骤。依赖关系分为控制依赖关系和数据依赖关系两类。本文在控制依赖分析阶段,提出了一种改进的控制依赖分析算法。该改进算法通过引入函数调用和返回引起的控制转移来计算函数间的控制依赖关系。在数据依赖分析阶段,分别给出了语句间假依赖和迭代间假依赖的消除算法描述,并将假依赖消除算法应用到一种并行划分算法以验证算法的正确性。其次,别名分析也是串行程序并行化中的一个重要阶段。别名分析的好坏会影响依赖关系的准确性,从而影响并行化程度。本文在别名分析阶段给出了一种流不敏感的别名分析算法。该算法在现有别名分析的基础上,通过添加别名集更新操作提高了别名分析的精度。此外,本文分析了半导体集成工业中内存检测计算面临的问题以及现有的解决方法。在此基础上,把桌面网格引入内存检测计算,给出基于桌面网格的数据划分算法以实现数据的并行化,从而提高了内存检测计算的性能。本文对串行程序并行化部分算法的研究和改进具有一定的现实意义。首先,它对依赖关系分析和别名分析方法的研究以及部分程序并行化算法的改进具有一定的参考价值,在一定程度上推动了串行程序并行化算法的研究。其次,它针对内存检测计算所面临的问题,给出了基于桌面网格的数据划分的解决方案,为其它类似的应用提供了借鉴。(本文来源于《苏州大学》期刊2010-04-01)

曹婷婷[5](2009)在《基于多核处理器串行程序并行化改造和性能优化》一文中研究指出早期并行程序的开发基本应用在超级计算、高端服务器等特殊应用领域。随着Intel和AMD多核处理器市场占有率的上升,通过提高CPU频率来提升程序性能的时代即宣告结束。但是重新开发适应多核平台的应用程序不仅浪费以往的大量串行程序资源,同时也无法在短期内满足用户需求。因此多核开发从早期的专用领域开发延伸到多核通用领域并行改造。这里的多核通用平台的并行改造是指基于通用PC机开发环境即Windows操作系统+Intel多核处理器,将以往的大量的普通串行程序进行并行改造,实现正确、高性能和可扩展的多核程序开发。多核通用平台开发不同于传统的并行开发在于其平台的通用性、开发周期的快速性和系统级配套辅助工具的使用等方面。为此,本文针对多核通用开发,基于Windows+Intel开发平台,运用并行编程模型和方法,结合使用Intel Vtune Performance Analyzer(性能分析器)对一串行程序进行并行化分析,提出对串行程序进行并行改造的解决方案;接着运用Intel并行时库TBB(Intel Thread Building Blocks线程构建模块)对多核平台下的串行应用程序进行流程机制、循环并行化、粒度划分、内存分配和任务调度等方面的并行改造;最后运用Intel Thread Checker(线程检查器)、Intel Thread Profiler(线程直方统计器)对改造后的并行程序进行调试和优化;通过对改造后的程序评测,其性能得到一定程度的提高,具有负载均衡和正确性。(本文来源于《西南交通大学》期刊2009-06-01)

龚雪容,生拥宏,沈亚楠[6](2008)在《串行程序并行化中计算代码与同步通信代码的自动生成》一文中研究指出简要介绍了并行编译中的计算划分和依赖关系分析,提出如何利用计算划分和依赖关系自动生成并行程序中的计算代码和同步通信代码。(本文来源于《计算机应用与软件》期刊2008年01期)

蒋作,高毅[7](2007)在《关于串行程序并行化》一文中研究指出并行程序设计主要有两种途径,即使用并行程序设计语言编写并行程序,或将串行程序并行化.串行程序并行化是一种比较有效的并行程序设计的途径.通过介绍并行技术的现状及相关分析的一些定义,给出了一个关于在串行程序中识别可并行执行语句的算法,论述了这一算法的意义.(本文来源于《云南民族大学学报(自然科学版)》期刊2007年03期)

闫玉忠[8](2003)在《串行程序并行化技术研究与一种新实现构想》一文中研究指出随着计算机技术的飞速发展,并行计算的应用领域也越来越广。并行计算机从以前的大型专用向量机,发展到并行多处理器系统,以及现在比较流行的工作站机群系统。并行程序设计方式也从以前的数据并行发展到现在比较流行的共享内存和消息传递方式。网格计算平台的出现,使得任何一台计算机能够透明地使用网络上的资源,更是为并行计算开辟了更加广阔的发展前景。但是,各种硬件平台的差异,以及软件系统标准的不统一,使得并行程序的设计和移植变得非常困难,制约了并行计算的发展。 针对以上问题,本文对并行计算和并行程序设计做了综述,对依赖关系分析理论和程序并行化技术进行分析和描述。根据基于共享内存方式的多线程并行模型,对于在源代码级和中间代码级进行程序并行化做了一些研究和实验。同时,对几种比较流行的中间代码(RTL、WHIRL、JAVA虚拟机指令)进行了分析,实现了一个把中间代码编译成虚拟机目标代码的汇编器。此外,还对与中间代码密切相关的虚拟机技术进行了讨论,阅读并分析了JAVA虚拟机和HEC虚拟机实现的源代码,在此基础上,提出了并行虚拟机的设计构想,通过并行虚拟机实现对串行程序的自动并行优化和达到并行程序语言的跨平台性。最后,对一些相关的工作进行了介绍和总结。(本文来源于《西南交通大学》期刊2003-04-01)

串行程序并行化论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

随着并行计算机的迅猛发展,越来越多的领域迫切需要提高大规模问题求解的速度,串行程序并行化能够缩短问题求解时间,为了实现快速并行化,本文进行串行程序自动并行化软件的设计和实现。并行程序是基于MPI(Message Passing Interface)消息传递编程模型的。系统软件应用MPI程序的基本流程和程序设计模式。研究矩阵,数组大规模并行计算算法,根据相关理论进行并行算法评价和复杂性分析。进程间并行执行需要消息通信,运用MPI的点到点或集合通信函数和模式理论,解决进程间的通信协作。使用编程语言设计自动并行化软件,主要研究串行程序分析和自动转换两大模块的实现。串行程序分析以人工智能理论为基础,对人工智能的搜索算法进行研究和改进,应用到串行程序读入分析中,算法能够实现对程序的高效读取和准确分析。自动转换要按照自动转换的原则进行,针对变量定义,顺序语句,循环语句,分支语句以及大型矩阵和数组运算,调用相应的自动转换方式。最后以π值的近似计算为例进行系统性能测试,与串行计算运行时间进行比较,计算加速比。由此可以得出结论,计算量越大,并行计算的性能也越突出。串行程序自动并行化软件不仅实现了快速并行化,减轻了程序员负担,而且在时间和空间上都提高了效率。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

串行程序并行化论文参考文献

[1].张朋.多核平台下串行程序的并行化改造[D].电子科技大学.2015

[2].王磊.基于MPI的串行程序自动并行化的应用研究[D].安徽理工大学.2013

[3].张延帅.基于案例特征库的串行程序并行化研究[D].山东大学.2011

[4].姚辉萍.串行程序并行化及其在桌面网格中的应用[D].苏州大学.2010

[5].曹婷婷.基于多核处理器串行程序并行化改造和性能优化[D].西南交通大学.2009

[6].龚雪容,生拥宏,沈亚楠.串行程序并行化中计算代码与同步通信代码的自动生成[J].计算机应用与软件.2008

[7].蒋作,高毅.关于串行程序并行化[J].云南民族大学学报(自然科学版).2007

[8].闫玉忠.串行程序并行化技术研究与一种新实现构想[D].西南交通大学.2003

标签:;  ;  ;  ;  

串行程序并行化论文-张朋
下载Doc文档

猜你喜欢