首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
减少通信开销是并行编译优化的主要目标之一.该文针对具有cache一致性的非一致存储访问并行系统(CC-NUMA)的特点,提出通过结合计算变换和数据变换,在统一的代数框架下对并行程序进行通信优化的策略和方法.通过实验测试,验证了此策略和方法是行之有效的.  相似文献   

2.
如何有效地解决I/O瓶颈问题,一直是高性能并行计算机有待解决的关键技术。该文提出了一种高效共享的并行I/O系统——HPPIO,该系统基于CC-NUMA并行系统结构,采用了一系列高效共享、并行I/O技术。该文对其分布与集中相结合的高效共享并行I/O系统结构、基于PCI Express的高性能I/O控制器设计等进行了介绍。  相似文献   

3.
岳峰  庞建民  张一弛  余勇 《计算机工程》2012,38(24):279-282
相对于传统的串行程序移植,并行系统间的代码移植因体系结构间的巨大差异而变得极为复杂。为此,针对统一计算设备架构(CUDA)程序向其他异构多核平台的移植,提出CUDA架构到Cell的映射方案。通过模型映射、并行粒度提升、共享变量清除和运行时优化,使CUDA程序的大规模并行线程可以在Cell平台上正确执行。实验结果证明,翻译后的程序在Cell的执行效率可达到Cell平台上手动编写程序的72%。  相似文献   

4.
在被高性能计算采用较多的CC-NUMA结构中,IO资源的常见组织形式是分散在各计算结点下,由各结点分散管理.这种组织形式有一些潜在的问题.首先对这些问题进行了分析,然后利用现有的IO链路技术和存储网络技术,提出了一种新的IO系统结构,并介绍了关键模块的设计.经过功能分析表明,新的IO系统结构能取得较高的性能,为全局共享分布并行IO技术的发展提供了参考.  相似文献   

5.
实时系统可以使用由多个并发的时间自动机组成的时间自动机网络来建模。网络中的时间自动机通过共享变量和/或信道交互。带有不同共享变量取值的自动机网络的状态是截然不同的。因此,共享变量也是引起状态空间爆炸问题的原因之一。本文提出了在不同共享变量取值之间的兼容性关系的概念。使用这种兼容性关系,时间自动机网络的可达性分析算法就可以减少需要遍历的状态的个数。本文给出了检测符号化状态中共享变量的取值所能兼容的其它取值的算法以及进一步进行这种兼容性关系检测的增强算法。最后还给出了使用了这两种算法进行优化之后的可迭性分析算法。实验结果显示经优化的可达性分析算法的空间效率得到了显著的提高。  相似文献   

6.
现有的事务内存研究主要面向多核处理器和SMP机器,缺少对CC-NUMA系统的研究.而CC-NUMA是高端服务器的重要体系结构,随着用户对并行处理能力需求的不断上升,高端服务器将占据越来越重要的地位.文中概要阐述事务内存研究的基本情况,通过详尽的实验数据,深入分析了CC-NUMA结构的本地、远程访存差异特性对事务内存性能的影响,提出了一种面向CC-NUMA体系结构的冲突规避方法PBC.PBC在事务启动之前,对冲突可能性进行预测,并根据预测结果对事务进行调度,以降低事务的失败率.实验表明,文中提出的PBC方法可以显著提高CC-NUMA机器上运行事务内存的整体性能.  相似文献   

7.
UPC并行循环优化的研究与实现   总被引:2,自引:0,他引:2  
UPC(UnifiedParallelC)是一种新型的基于全局地址空间(GlobalAddressSpace,简称GAS)访问的并行编程语言,支持SPMD(SingleProgramMulti-Data)编程模式。论文主要研究UPC原型系统的编译器优化技术的算法与实现,该UPC原型系统是建立在开放源码的BerkeleyUPC编译器基础之上的。目前该原型系统已实现了upc_forall优化和共享访问私有化,使得一部分UPC并行应用程序的效率得到了明显改善。  相似文献   

8.
随着计算机体系结构的发展,分布式存储结构以其良好的扩展性逐渐占据了高性能计算机体系结构市场的主导地位.为了将现有的串行程序转换为能够在高性能计算机上运行的并行程序,研究人员提出了并行化编译器.然而,当前面向分布存储并行系统的编译器发展却相对较慢,而面向共享存储并行系统的编译器及其相应技术已逐渐成熟.一种开发面向分布存储并行系统编译器的可行方法是改进现有的面向共享存储并行系统的编译器,使其自动生成能够在分布存储结构高性能计算机上运行的MPI(Message Passing Interface)并行程序.因此,该文为面向共享存储并行系统的编译器Open64设计并实现了一个支持MPI代码生成的后端.根据分布式并行化编译的特点,主要从自动生成计算划分、改进循环优化和自动生成MPI并行代码3个方面对Open64进行了改进,使其能够实现面向分布存储的并行化编译.实验测试利用带有MPI后端的Open64对串行程序进行编译,生成的MPI并行代码可直接运行在具有分布存储结构的高性能计算机上.通过将该MPI并行代码的执行效率与传统面向分布存储并行系统编译器生成的MPI代码效率进行比较,并行效率有明显的提升.  相似文献   

9.
如何有效地解决I/O瓶颈问题,一直是高性能并行计算机有待研究解决的关键技术。我们提出了一种可伸缩分布共享并行I/O系统方案,并自行研制了结点控制器芯片和路由器芯片,研制了原型系统SDSP604。为实现系统的计算、通讯和I/O性能随着系统规模均衡扩展的目标,该系统基于CC-NUMA系统结构,采用了合理的分布共享并行I/O系统结构。  相似文献   

10.
回马枪 《个人电脑》2010,16(11):92-93
为了及时让工作中形成的资料信息放到内网中共享,单位网管员在内网服务器的NTFS格式的磁盘分区中,创建了共享文件夹,设置了合适的共享访问权限,所有工作资料全部保存其中,同时通过NTBACKUP技术对工作资料做好备份。用户成功登录单位内网后.可以通过网络映射的方法将共享文件夹映射成本地磁盘分区,提高共享资源的访问效率。  相似文献   

11.
This paper proposes a new memory allocation method for shared memory multiprocessors with large virtual address spaces. An evaluation of its performance is also presented. For effective use of shared memory multiprocessors, it is important that no processor's execution is blocked. If several processors simultaneously access a shared variable, their processes are blocked and access to the variable is serialized. Thus, frequent access to shared variables reduces the parallelism. In particular, the parallelism is significantly reduced when a special shared variable – the ‘allocation pointer’ – is frequently accessed in the dynamic object allocation by an application program. In this paper, we propose a new method for allocating physical memory pages where the allocation pointer is monotonically increased in the virtual address space in contrast to the conventional method. This allows the critical sections for access to the allocation pointer to be executed effectively and atomically by using the fetch-and-add primitive. Our method improves the application program's parallelism by access to the allocation pointer with considerably short blocking time to the process. © 1997 John Wiley & Sons, Ltd.  相似文献   

12.
对于共享cache的多核处理器,如何管理好各个核对cache的利用,对于充分发挥多核处理器性能是很关键的问题.目前采用的cache替换方法程序间会出现性能干扰,cache静态划分技术则是通过为同时运行的程序分配不同的空间来解决性能干扰问题.为了给程序分配合适大小的cache空间,需要对程序进行性能profiling,即事先多遍运行收集程序在各种cache容量下的性能数据,这种性能profiling方法开销巨大,影响实用.为了解决性能profiling需要多遍运行程序的问题,提出了只需单遍运行的程序性能profiling优化技术.该技术利用在线的phase分析技术识别程序的运行阶段,避免对相同阶段的重复profiling;同时分析程序各phase的性能同cache容量变化的关系趋势,对于性能不敏感的容量变化则不进行profiling,降低开销.在程序运行结束后通过程序各phase在cache各种容量下的性能来估计程序在各容量下的整体性能,以指导cache静态划分.实验表明,该技术的开销仅为7%,而该方法指导的cache划分比未划分时有8%的性能改进,同多遍运行的程序性能profiling指导的cache划分性能相比仅有1%的下降.  相似文献   

13.
《Computers & chemistry》1999,23(1):25-31
A new effective strategy of passing large variable size objects to subroutines and back in fortran 90 is described. The objects are passed by reference utilizing user-defined pointer type variables declared in a shared module. The efficiency of the developed approach is demonstrated by applying it to program the analytic solution for action of the powers of Hamiltonian on the Hermite polynomial type basis function.  相似文献   

14.
Any parallel program has abstractions that are shared by the program's multiple processes. Such shared abstractions can considerably affect the performance of parallel programs, on both distributed and shared memory multiprocessors. As a result, their implementation must be efficient, and such efficiency should be achieved without unduly compromising program portability and maintainability. The primary contribution of the DSA library is its representation of shared abstractions as objects that may be internally distributed across different nodes of a parallel machine. Such distributed shared abstractions (DSA) are encapsulated so that their implementations are easily changed while maintaining program portability across parallel architectures. The principal results presented are: a demonstration that the fragmentation of object state across different nodes of a multiprocessor machine can significantly improve program performance; and that such object fragmentation can be achieved without compromising portability by changing object interfaces. These results are demonstrated using implementations of the DSA library on several medium scale multiprocessors, including the BBN Butterfly, Kendall Square Research, and SGI shared memory multiprocessors. The DSA library's evaluation uses synthetic workloads and a parallel implementation of a branch and bound algorithm for solving the traveling salesperson problem (TSP)  相似文献   

15.
面向MPP Fortran 的自动数据分布   总被引:2,自引:0,他引:2  
唐新春  郭克榕 《软件学报》1998,9(2):144-150
自动数据分布是面向大规模并行处理MPP(massively parallel processing)系统程序自动并行化的一项关键技术.数据分布方式直接影响着应用程序在MPP系统上的并行执行性能.本文以MPP Fortran为例,详细探讨了自动数据分布的有关技术,如对准分析、分布方式的产生、静态性能评估和数据重新分布等,并提出了相应的算法.这些算法将在作者研制的面向MPP Fortran 的程序自动并行化工具中实现.  相似文献   

16.
孙全  许蕾  夏昕濛  张卫丰 《软件学报》2019,30(11):3281-3296
安卓系统在移动端操作系统始终占据主导地位,在增强用户体验和提高程序性能的同时,其特有的事件驱动模型和多线程模型也造成了并发缺陷.并发程序中,线程调度的不确定性和难以再现性是并发缺陷检测困难的原因.现有技术主要在动态生成执行路径的基础上进行发生序(happens-before)分析,进而检测安卓应用的并发缺陷,但仍然存在低覆盖率、误报、漏报等问题.结合共享变量分析和约束求解方法实现了安卓应用数据竞争的检测,并实现了检测工具RaceDetector.该工具首先根据安卓系统的特性和数据竞争的定义,通过静态分析抽取相关信息,并进一步使用安卓共享变量分析来提高准确性和性能,继而进行可疑数据竞争分析,得出可疑的数据竞争集合;接着根据每一个可疑的数据竞争候选者,通过约束求解的方法在所有事件调度和线程调度解空间下识别发生序关系,并最终检测出真正的数据竞争.实验部分是从Google Play等来源收集了15个流行的应用APK文件作为数据集,RaceDetector平均报告了340个数据竞争,误报率为13%(44/340).与现有工具EventRacer(默认产生300随机事件触发应用执行,平均检测2个有害数据竞争)相比,RaceDetector能够解析全部源码,覆盖了所有线程调度和事件调度,平均检测出15个有害数据竞争.  相似文献   

17.
为了使一个共享资源多处理机系统在局部时空内实现性能优化,便要求在同一个系统中实现多种裁决方案。本文由此简单讨论了各种类型的裁决器,进而提出了一种可变优先策略裁决器的设计方法。  相似文献   

18.
为了研究基于软件DSM系统的OpenMP实现,该文以一类具有代表性的用户题为例,分别测试了其基于JIAJIA系统的两种实现方式的加速比:一种是用JIAJIA提供的消息传递系统调用,实现一个类MPI版本(方式1);另一种是用多个处理机对共享数组的读写来替代消息传递系统调用(方式2)。测试结果发现,对少量处理机系统,两种方式还具有可比性,但是,随着处理机数的增多,共享存储应用的性能急剧下降。通过对测试结果的分析及对用户题的进一步测试,发现方式2的时间主要花费在做一致性处理和缺页中断处理而导致的大量小消息通信上。测试表明,JIAJIA共享存储程序一般会比MPI程序导致更重的网络负载。要在JIAJIA共享存储基础之上建立一种实用的共享并行计算环境,尤其在支持OpenMP等共享编程语言方面,还有待进一步工作。  相似文献   

19.
Computational GRIDs potentially offer low-cost, readily available, and large-scale high-performance platforms. For the parallel execution of programs, however, computational GRIDs pose serious challenges: they are heterogeneous and have hierarchical and often shared interconnects, with high and variable latencies between clusters. This paper investigates whether a programming language with high-level parallel coordination and a distributed shared memory (DSM) model can deliver good and scalable performance on a range of computational GRID configurations. The high-level language Glasgow parallel Haskell (GpH) abstracts over the architectural complexities of the computational GRID, and we have developed GRID-GUM2, a sophisticated grid-specific implementation of GpH, to produce the first high-level DSM parallel language implementation for computational Grids. We report a systematic performance evaluation of GRID-GUM2 on combinations of high/low and homogeneous/heterogeneous computational GRIDS. We measure the performance of a small set of kernel parallel programs representing a variety of application areas, two parallel paradigms, and ranges of communication degree and parallel irregularity. We investigate GRID-GUM2's performance scalability on medium-scale heterogeneous and high-latency computational GRIDs and analyze the performance with respect to the program characteristics of communication frequency and degree of irregular parallelism.  相似文献   

20.
Two kinds of parallel computers exist: those with shared memory and those without. The former are difficult to build but easy to program. The latter are easy to build but difficult to program. In this paper we present a hybrid model that combines the best properties of each by simulating a restricted object-based shared memory on machines that do not share physical memory. In this model, objects can be replicated on multiple machines. An operation that does not change an object can then be done locally, without any network traffic. Update operations can be done using the reliable broadcast protocol described in the paper. We have constructed a prototype system, designed and implemented a new programming language for it, and programmed various applications using it. The model, algorithms, language, applications and performance will be discussed.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号