共查询到20条相似文献,搜索用时 250 毫秒
1.
并行分布计算中条件分支的静态调度 总被引:1,自引:0,他引:1
并行程序中的不确定性给任务调度带来了困难,采用动态调度的方法有时开销很大。本文以并行程度设计中的条件分支为例,介绍了如何利用分支图和前趋图来描述并行程序,并通过对这两种任务图的归约把不确定性转化为确定怀,然后根据确定性图的调度技术,来构造珠调度方案。 相似文献
2.
LS SIMD C编译器的数据通信优化算法 总被引:1,自引:1,他引:0
1 引言当前理想的程序自动并行化系统的实现存在许多难于解决的问题,因此较为流行的并行计算方法是利用并行语言编写并行程序,编译器对并行程序进行编译生成相应的节点程序执行。并行语言按并行执行的粒度分为基于任务的并行语言(主要面向一般应用领域的计算)和数据并行语言(主要应用于科学数值计算),典型的数据并行语言如HPF。对于数据并行语言而言,程序执行的并行性已由程序设计人员根据程序中的数据相关性给出。因此,如何确定数据的分布、优化数据的通信是影响并行程序执行效率的重要问题。数据分布大致可以分为两个阶段:首先对源程序中数据的相关性分析得到数据在抽象处理机上的分布,然后将抽象处理机上的数据分布映射到物理处理机上。数据分布的确定通常有以下几种实现方式:一种是由程序员给出抽象数据分布,编译 相似文献
3.
在细粒度并行优化领域,带分支的程序较难取得好的优化结果,主要问题是空间开销在理论上是指数级上升的。本文在分析了程序的执行机制与条件分支的关系后。改进了Allen提出的分支消去法,使之无须特殊硬件的支持,使分支消去法更易于实用化。 相似文献
4.
随着多核技术的不断发展,多线程技术更加广泛地应用于计算机软件中.但由于执行的不确定性,多线程程序的排错和调试存在着很大的困难.确定性多线程系统可以使多线程程序以确定的方式执行,即多次执行同一个多线程程序的顺序和结果是相同的,这可以大大简化多线程程序的排错和调试.但是,确定性多线程系统会导致多线程程序性能的下降.本文提出一种基于长并行距离优先的确定性多线程调度算法,优先执行并行距离长的线程,减少线程总体等待时间,从而提高多线程程序的效率.实验结果表明,本文方法可以使多线程程序的性能提升10%,并且具有很好的可扩展性. 相似文献
5.
并行分布计算中的任务调度问题(二) 总被引:3,自引:0,他引:3
在并行程序设计中,SPMD是最为常用的一种编程模式,该模式下的任务调度有其自身的一些特点,本文首先讨论了如何用闭式表达式来决定该执行模式下的最佳处理器数。然后,针对任务图存在的不确定性,介绍了采用动态技术进行任务调度的一般方法。由于动态调度会带来额外开销,因此有效的动态调度方案必须结合实际具体的并行程序和硬件系统。为了减少动态调度开销,对于一些含有不确定性的任务图,也可通过任务图归约技术,先把不确定性转换为确定性,然后再利用静态调度方法,本文我们主要讨论了条件分支语句的静态调度问题。另外,并行循环的调度分配是影响并行程序执行性能的一个重要因素,在本文的最后我们结合独立循环、相关循环、均匀循环和非均匀循环的调度分配问题,着重讨论了基于循环分配的自适应混合调度方法,以及变循环传递相关为循环独立相关的循环展开(un-rolling)技术。 相似文献
6.
确定性并行技术 总被引:1,自引:0,他引:1
由于执行个体之间的同步、竞争和干扰,并行程序的执行存在着不确定性问题,即程序在相同输入下多次执行可能得到不同的结果.不确定性给并行程序在开发、调试、测试、容错和安全等方面都带来了挑战,严重降低了并行程序的可靠性,阻碍了并行程序的发展.确定性并行技术通过控制并行程序执行个体间的同步、竞争和干扰,使程序的执行结果仅依赖于输入.确定性并行技术能够从根本上解决了目前并行程序存在的诸多问题,提升了并行程序的可靠性,给并行程序的发展带来了新的机遇.文中调查、分析和比较了目前主流的确定性并行技术和方法,分析了弱内存一致性对确定性并行系统的影响,并对未来确定性并行技术的发展趋势做出了展望. 相似文献
7.
8.
在对程序进行并行化时,为了保证结果的正确性,并行编译器只能采取一种保守的策略,也就是,如果它不能确定两段代码在并行执行时是否会发生冲突,它就不允许这两段代码并行执行.虽然这种做法保证了正确性,但同时也限制了对并行性的开发.在这种背景下,许多推测多线程方法被提了出来,这些方法通过允许可能冲突的代码段并行执行来把握更多的并行机会,同时,通过从冲突中恢复来保证结果的正确性.然而,传统推测多线程方法所使用的“沿控制流将串行程序划分为多个线程”的做法并不适合不同数据结构上的操作在控制流中相互交错的情况,因为如果沿控制流将程序线性地划分为多个线程,则同一个数据结构上的操作将被分到不同的线程中,从而非常容易发生冲突.为了有效地对这些程序进行并行化,提出了一种基于数据结构的线程划分方法与执行模型.在这种方法中,程序中的对象被划分成多个组,同一组中对象上的操作被分派到同一个线程中去执行,从而降低了在同一个数据结构上发生冲突的可能性. 相似文献
9.
周兴华 《电子制作.电脑维护与应用》2004,(1)
四、分支程序设计分支程序即根据条件对程序的执行进行判断,满足指定条件则进行程序分支转移。分支程序又可分单分支程序及多分支程序。 1.单分支程序在MCS-51指令系统中,通过条件判断实现程序单分支的指令有JZ、JNZ、CJNZ和DJNZ等,此外还有以位状态作为条件实现程序分支的指令,如:JC、JNC、JB、JNB和JBC等。使用这些 相似文献
10.
11.
事先获知系统中程序最差情况的执行时间(Worst-CaseExecutionTime,WCET),是设计和验证实时系统调度及可调度性分析的前提,也是确定周期性任务是否满足其性能目标,从而发现系统性能瓶颈的基础。本文概述了程序WCET的分析方法,描述了WCET分析的定义和组成,重点总结其中的程序流事实分析方法,并指出程序流事实分析存在的问题和WCET分析的研究热点。 相似文献
12.
谓词执行及其关键技术浅析 总被引:1,自引:0,他引:1
在超标量和VLIW微处理器的设计中,指令间的相关,尤其是控制相关和数据相关,严重限制了指令级并行(ILP)的开发,从而限制了微处理器性能的进一步提高。条件执行技术(Guarded Execution)能够将控制相关转化为数据相关来处理。具体来说,它能够将控制相关于一条分支指令的其他指令转换为数据相关于该分支条件的条件指令。条件指令与常规指令的不同之处在于它含有显式的条件指示符,其语义为:首先计算指令执行条件,如果条件为真,则执行该指令中的操作,否则将其作为空操作处理。条件执行技术实质上是一种程序变换技术,变换后的程序无论对编译优化还是对硬件调度都有很大好处,但需要专门硬件机制的支持。目前只有ARM指令集与IA-64指令集支持条件执行。 相似文献
13.
许多软件依赖数据库来存储信息。数据库模式的变更可能导致程序代码中与数据库相关的SQL语句代码不能正常执行,因而找出一种能够直接定位到需要修改的SQL语句代码并推荐出这些代码可能的修改方案的方法是十分必要的。提出的面向数据库模式变更的代码演化推荐方法首先自动检测出软件系统数据库模式发生的变更,随后采用程序切片技术得出与数据库操作相关的程序切片;确定受到数据库模式变更影响的程序切片后,利用源程序转换流程图算法将程序切片转化为程序流程图;根据程序流程图的分支条件得出SQL语句所有可能的特定执行路径;最后采用图映射的方法对每条路径的SQL语句进行变更语句推荐,推荐出新数据库模式下可执行的SQL语句。为了验证该方法的可行性,实现了一个用于自动检测数据库模式变更并能推荐出SQL语句演化后代码的插件工具。 相似文献
14.
为了评估数据并行(DLP)应用并行化后在GPU体系结构上的执行性能,针对OpenCL架构提出一种GPGPU量化性能模型.该模型充分考虑了影响GPGPU程序性能的各种因素:全局存储器访问、局部存储器访问、计算与访存重叠、条件分支转移和同步.通过对DLP应用的静态分析并设定具体的OpenCL执行配置,在无需编写实际GPGPU程序的前提下采用该模型即可估算出DLP应用在GPU体系结构上的执行时间.在AMD RadeonTM HD 5870 GPU和NVIDIA GeForceTM GTX 280 GPU上对矩阵乘法与并行前缀和的分析与实验结果表明:该性能模型能够相对准确地评估DLP应用并行化后的执行时间. 相似文献
15.
并行分布计算中的任务调度及其分类 总被引:1,自引:0,他引:1
并行分布计算中的任务调度问题就是根据一定的调度规则和调度策略,把组成并行程序的一组任务或构成工作负载的一组作业,按照一定执行时序分配到并行分布系统的多个计算结点上,以期取得较好的系统执行性能。目前许多基于并行分布处理的高性能计算中心的计算环境是由多种并行机或网络工作站机群系统构成的异构多应用系统,并且某些并行机的内部计算结点也可能是异构的(如Paragon系统中有些结点的内存为16M,有些结点的内存为32M;或者有些结点为单CPU,有些结点为双CPU),这时不同的应用层次对任务调度有不同的要求,下面就从作业调度、任务划分与一般任务调度概念的区别出发,讨论并行分布计算中的任务调度问题。 相似文献
16.
17.
18.
并行程序执行的不确定性,增加了测试的复杂性和难度.研究消息传递并行程序的变异测试,提出其弱变异测试转化方法,以提高该程序变异测试的效率.首先,根据消息传递并行程序包含语句的类型和语句变异之后导致的变化构建相应的变异条件语句;然后,将构建好的所有变异条件语句插入到原程序中,形成新的被测程序,从而将原程序的弱变异测试问题转化为新程序的分支覆盖问题.这样做的好处是,能够利用已有的分支覆盖方法解决变异测试问题.将该方法应用于8个典型的消息传递并行程序测试中,实验结果表明,该方法不但是可行的,也是必要的. 相似文献
19.
分布存储环境下SPMD执行模式的任务调度问题 总被引:1,自引:0,他引:1
在并行分布计算中,用任务图来表示并行程序中各任务之间的执行关系,然后对任务图进行有效调度是提高并行程序执行性能的一种有效方法.当任务图中包含比较有规律的子任务图时,如任务图中包含有在不同数 相似文献
20.
启发式任务调度中的处理器选择策略 总被引:3,自引:0,他引:3
任务调度是并行分布计算中最为基本、最为关键,也最具有挑战性的问题之一,是影响并行分布计算执行效率的一个关键因素.现有的基于任务静态优先级的启发式任务调度方法都是以“当前任务具有最早起始执行时刻”为目标来选择执行处理器.该文在详细分析讨论该种调度方法的基础上,指出了以该目标选择处理器存在的问题及缺点,并提出了以“当前任务的直接后继具有最早起始执行时刻”为目标选择处理器的方法,并给出了相应的约束条件. 相似文献