首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
大量遗留的串行代码需要进行并行化改造,而并行程序复杂性及并行计算平台多样性导致改造成本较高.为此,设计了一种基于标记语言的三层并行编程框架,完成了从串行程序层到并行中间代码层、并行中间代码层到目标并行编程语言程序层的二个转换阶段.采用对串行代码进行语言标记的方法来实现并行中间代码层,该代码层实际是共享存储、分布式存储并行平台编程语言的一种抽象.该框架还实现了一种性能标记方法,可用于并行参数自动寻优.用于雷达数据处理的实验结果表明,实现了对应并行代码的生成,且并行加速比与人工实现的并行代码相当.  相似文献   

2.
地理栅格数据的并行访问方法研究   总被引:1,自引:0,他引:1  
在海量地理栅格数据处理中,数据I/O性能是影响处理算法程序整体性能的关键。目前针对地理栅格数据 I/O优化问题的研究成果还很有限,通过对并行程序中的数据I/O模式进行深入分析,结合栅格数据逻辑模型和物理 模型的特点,提出了面向地理栅格数据的并行I/O框架;基于消息传递模型,实现了4种并行访问方法。实验证明,并 行访问方法优于传统的串行访问方法和分时多进程访问方法。该研究成果可以提高并行栅格处理程序的I/()访问效 率,进而提高其整体并行性能。  相似文献   

3.
传统并行编程模型和框架不能有效利用和发挥GPU异构并行系统特点,应用开发难度大,性能优化困难,文中采用混合编程模型思想,建立了一种以协处理器为中心的GPU计算核心与CPU控制相融合的多任务流编程模型.模型将并行任务与CUDA流相结合,利用系统硬件并行性特点实现程序任务级和数据级并行;采用任务间消息通信和任务内数据共享通信方式,既保证对传统并行应用的继承又降低了不同存储空间给应用开发带来的复杂性和难度.基于该编程模型实现了一个运行时支持系统原型,测试结果表明可保证高效的数据通信,且能充分利用系统计算能力,提高了应用程序运行效率.  相似文献   

4.
基于OCL的面向方面监控框架   总被引:1,自引:0,他引:1       下载免费PDF全文
彭中  毛晓光 《计算机工程》2009,35(13):17-19,6
基于面向方面编程技术提出一种软件性质监控框架。该框架根据对象约束语言的约束条件生成监控方面,对监控方面与被监控软件进行编织,使软件在运行时具备发现约束违背的能力。使用模型约束检查工具USE可以进一步分析违约信息,实现其在模型上的可视化呈现。  相似文献   

5.
并行程序设计的复杂性及并行计算平台的多样性导致程序可移植性较差。为此,设计并实现一种跨平台、分层次的并行编程框架OpenCH。该框架通过两层并行函数库和层次化的API设计,对上层应用程序隐藏并行化细节,为基于不同计算平台的库函数设计了统一的函数接口,使底层平台的变化对上层应用程序透明。根据底层函数库的开发,给出一种填充式的编程方法和任务调度系统。将OpenCH应用于遥感影像分类,实验结果证明,基于该框架开发的并行程序可运行于多种并行计算平台,并具有较高的并行加速比,编程框架本身造成的时间开销低于15%。  相似文献   

6.
多核处理器并行编程模型的研究与设计   总被引:2,自引:0,他引:2  
为了在多核处理器上充分利用多核资源以提升程序性能,研究了多核处理器的体系结构和多核环境下可能影响并行程序性能的因素,实现了基于任务的并行编程模型.该模型提供了单任务数据并行和多任务并行两种并行处理方式,其中单任务数据并行使用cache块技术划分数据集,多任务并行使用任务密取的任务调度策略.用该模型实现了计算斐波那契数列的递归算法,实验结果表明,使用该模型编写多核并行程序可以达到较高的相对于串行计算的加速比.  相似文献   

7.
并行构件技术的出现提高了并行软件的开发效率,但现有的并行构件技术缺乏对异构多核平台的支持.为了提高并行构件程序在异构平台上的执行性能,扩展CCA(通用构件体系结构)并行构件模型支持CCA异构并行构件,提出了一种异构的CCA并行构件模型.使用管理者—工人模式调度CCA异构并行构件内的计算任务到异构多核平台上加速执行.在CCA构件工具包的基础上实现了支持扩展CCA并行构件模型的编译系统和运行时框架.在CELL BE和GPU两种异构多核处理器上进行的实验证明了提出的方法比原始的CCA构件程序具有较优的性能.提出的并行构件模型应用在并行程序开发中可以提高并行程序的性能.  相似文献   

8.
宋平  刘轶  刘驰  张晶晶  钱德沛  郝沁汾 《软件学报》2014,25(10):2220-2234
软件定义网络(software defined network,简称SDN)通过集中式的控制器提高了网络的可编程性,成为近年来网络领域非常热门的话题。以Openflow网络为代表的软件定义网络将逻辑控制与数据转发相隔离,为网络虚拟化技术提供了良好的平台。集中式的抽象与控制使得SDN虚拟化框架的处理效率成为主要瓶颈。现有的SDN虚拟化框架由于缺乏对细粒度并行的支持,为编程人员充分利用多核/众核资源、控制更大规模的网络带来了极大的挑战。为了提高SDN虚拟化框架的处理效率,提出一种新的SDN虚拟化编程框架,通过新颖的API和运行时,在框架内部支持细粒度的并行处理。该框架通过对网络中流和网络资源进行抽象,使开发人员可以直接通过划分流空间来定义不同的虚拟网络,利用无锁的编程方式对共享的网络资源和流进行操作。实验结果表明,该框架在逻辑控制的执行效率方面具有良好的可扩展性,可以创建出更大规模的虚拟网络,并对其进行更为复杂的控制。  相似文献   

9.
构建基于AOP(AOP 是Aspect Oriented Programming 的缩写, 意思是面向方面编程)的业务规则应用框架。该框架引入连接方面来模块化规则引擎调用,从而实现规则引擎调用与核心业务逻辑的分离,通过面向方面编程织入技术最终把二者整合起来。这样业务规则和核心业务逻辑就能够相互独立地进行设计和实现,业务规则和规则引擎的变化不会影响到核心业务逻辑代码,大大提高业务策略调整的灵活性。  相似文献   

10.
时钟延迟多米诺逻辑是一种自定时的动态逻辑。时钟延迟多米诺逻辑门的输出信号是单向跳变的,但它可以提供倒相和非倒相的输出。使用这种动态逻辑可以大大提高运算电路的速度。本文通过一个64位的快速并行加法器的实现说明时钟延迟多米诺的特性及其设计方法。这个快速并行加法器用于高性能的64位微处理器的运算单元中。采用0.25μm CMOS工艺设计了这个加法器。加法器在最坏情况下的运算时间是700ps。这个时钟延迟多米诺加法器比使用相同单元库和技术的静态逻辑加法器快2.3倍。  相似文献   

11.
构建了一个面向互联网计算资源共享的并行程序设计环境IPPE(internet-based parallel programming environment).该环境使用Java语言开发,通过利用Java运行系统与Java并行通信类库,在IPPE环境下可以书写具有并行处理能力的Java应用程序.IPPE具有平台独立性、容易使用、负载均衡性、容错性等特点.IPPE环境的平台独立性与易用性得益于其基于Java的字节码技术与对象序列化技术,IPPE的负载均衡性得益于针对任务的自适应并行调度算法及子任务级的容错策略.通过运行两个典型的BanchMark并行程序,表明了IPPE环境的高效性与稳定性.  相似文献   

12.
研究Android平台中密码运算加速方法,采用运算并行化的思想,利用Android平台的RenderScript并行运算机制实现大整数乘法运算,为椭圆曲线密码等密码运算提供高效快速的基本操作。设计并实现了适合并行处理的大整数乘法运算存储结构和运算执行逻辑,以矩阵的方式分割并处理大整数对象,可以一次同步完成所需的乘法和加法运算,进而得到最终运算结果。实验结果表明,与Android平台原生的Java大整数运算库相比,该方法在执行时间上具有明显优势。  相似文献   

13.
为分离生物信息系统中分布式数据加载等大量非系统核心的边缘逻辑处理过程,提出了基于springAOP技术框架的生物通用数据加载边缘逻辑分离方法.介绍了spring面向切面编程和依赖注入的内在机制和AOP基于spring框架实现的一般方法及步骤,重点阐述了spring AOP在生物信息系统边缘逻辑处理问题的研究与实现.应用结果表明,spring AOP 技术有效地将数据加载等边缘逻辑与生物信息系统核心主逻辑分离,使生物信息系统更专注于自身核心业务逻辑.  相似文献   

14.
通过研究AOP (Aspect Oriented Programming) 这种新兴发展中的技术,提出一种基于AOP的软件测试框架,适用于在对复杂的JAVA应用做回归测试和动态白盒测试,将需要测试的测试用例以测试方面的形式注册到容器,由容器统一将测试方面定义的测试建议织入到各动态测试连接点.  相似文献   

15.
This paper advocates a configuration approach to parallel programming for distributed memory multicomputers, in particular, arrays of transputers. The configuration approach prescribes the rigorous separation of the logical structure of a program from its component parts. In the context of parallel programs, components are processes which communicate by exchanging messages. The configuration defines the instances of these processes which exist in the program and the paths by which they are interconnected.

The approach is demonstrated by a toolset (Tonic) which embodies the configuration paradigm. A separate configuration language is used to describe both the logical structure of the parallel program and the physical structure of the target multicomputer. Different logical to physical mappings can be obtained by applying different physical configurations to the same logical configuration. The toolset has been developed from the Conic system for distributed programming. The use of the toolset is illustrated through its application to the development of a parallel program to compute Mandelbrot sets.  相似文献   


16.
基于AOP的面向对象程序的单元测试   总被引:1,自引:0,他引:1       下载免费PDF全文
张艳  赵建军  冯斌 《计算机工程》2007,33(22):76-79
单元测试被视为横切关注点,在软件测试过程中很重要。而面向方面编程(AOP)的主要目标就是分离横切关注点,因此,单元测试非常适合用AOP来解决。该文提出了在对面向对象程序进行单元测试时遇到的问题,并用AOP方法加以解决,同时比较了传统方法和AOP方法进行单元测试的优缺点。  相似文献   

17.
面向方面编程技术研究   总被引:6,自引:3,他引:3  
面向方面编程是一项允许编程人员模块化横切关注点的新的编程技术,它引入了“方面”这一概念,“方面”把影响多个模块的行为封装到一个单独的可重用模块中,利用Xerox PARC发行的AspeetJ,Java开发者可以很方便地进行面向方面编程。本文介绍了AOP、AspeetJ的基本概念并举例说明了AOP在仓储管理系统中的应用。  相似文献   

18.
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as Java bytecode instrumentation. Unfortunately, with existing AOP frameworks for Java such as AspectJ, aspects cannot be woven into the standard Java class library. This restriction is particularly unfortunate for aspects that would benefit from comprehensive aspect weaving with complete method coverage, such as profiling or debugging aspects. In this article we present MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes loaded in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. We validate our approach with three case studies. Firstly, we weave existing profiling aspects with MAJOR which otherwise would generate incomplete profiles. Secondly, we introduce an aspect for memory leak detection that also benefits from comprehensive weaving. Thirdly, we present an aspect subsuming the functionality of ReCrash, an existing tool based on low-level bytecode instrumentation techniques that generates unit tests to reproduce program failures. Our aspect-based tools are concisely implemented in a few lines of code, and leverage MAJOR and CARAJillo for comprehensive aspect weaving and for efficient access to calling context information.  相似文献   

19.
本文借鉴AOP和Java容器的思想,提出了一种通过回调接口,实现类间通信的技术,并给出辅助应用框架,实现整个软件的业务逻辑和用户界面.  相似文献   

20.
This paper describes the design of the Abstract Library for Parallel Search (ALPS), a framework for implementing scalable, parallel algorithms based on tree search. ALPS is specifically designed to support data-intensive algorithms, in which large amounts of data are required to describe each node in the search tree. Implementing such algorithms in a scalable manner is challenging both because of data storage requirements and communication overhead. ALPS incorporates a number of new ideas to address this challenge. The paper also describes the design of two other libraries forming a hierarchy built on top of ALPS. The first is the Branch, Constrain, and Price Software (BiCePS) library, a framework that supports the implementation of parallel branch and bound algorithms in which the bounds are obtained by solving some sort of relaxation, usually Lagrangian. In this layer, the notion of global data objects associated with the variables and constraints is introduced. These global objects provide a connection between the various subproblems in the search tree, but they pose further difficulties for designing scalable algorithms. The other library is the BiCePS linear integer solver (BLIS), a concretization of BiCePS, in which linear programming is used to obtain bounds in each search tree node.  相似文献   

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

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

京公网安备 11010802026262号