首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
王一拙  陈旭  计卫星  苏岩  王小军  石峰 《软件学报》2016,27(7):1789-1804
任务并行程序设计模型已成为并行程序设计的主流,其通过发掘任务并行性来提高并行计算机的系统性能.提出一种支持容错的任务并行程序设计模型,将容错技术融入到任务并行程序设计模型中,在保证性能的同时提高系统可靠性.该模型以任务为调度、执行、错误检测与恢复的基本单位,在应用级实现容错支持.采用一种Buffer-Commit计算模型支持瞬时错误的检测与恢复;采用应用级无盘检查点实现节点故障类型永久错误的恢复;采用一种支持容错的工作窃取任务调度策略获得动态负载均衡.实验结果表明,该模型以较低的性能开销提供了对硬件错误的容错支持.  相似文献   

2.
吴巧泉  沈平  张德富 《软件学报》1995,6(7):429-434
本文探讨了基于任务图的并行程序设计方法的后半部分─—按照任务图选择拓扑结构和将并行算法映射到并行结构上.  相似文献   

3.
本文首先分析介绍结构并行计算机系统的两种方法:Multiporcessors和Multicomputers,然后介绍一种Multicomputers并行计算机系统中基于messagepassing的并行程序设计环境以及并行程序设计方法,它具有程序设计简单,直观等特点,易于构造程序模型,并能获得较好的加速比。  相似文献   

4.
本文研究机群系统的程序设计问题,旨在建立一种支持虚拟共享存储空间和多种并行性描述方式的并行程序设计模型。文中首先提出了抽象结构共享存储器模型的概念,并在此基础上建立了同时支持数据并行、任务并行和对象并行的层次并行模型,这两种模型构成了并行语言TipC++的并行程序设计模型。文中还初步讨论了基于这种程序设计模型的性能优化原语、编译优化和任务调度等问题。  相似文献   

5.
并行程序设计的研究对并行机性能的发挥和推广应用都具有重要的作用。本文介绍了并行计算机的结构、并行程序设计模型和并行语言的一些基本概念,讨论了并行程序设计的方法,分析了大规模并行处理中编译技术的若干问题和研究方向。  相似文献   

6.
面向对象程序设计技术可以降低并行程序设计的复杂性、提高并行程序的可读性,可维护性、可移植性,因此提供面向对象的并行程序设计环境,可以减少并行程序开发难度,有效地利用并行计算机系统的潜能,可扩展并行机群系统是随着网络技术迅速发展而出现的一种网络并行计算系统,其主要特点是适于粗糙度任务并行,适于采用消化传递机制,文中在可扩展机群系统上实现了面向对象的并行程序开发环境ParaObjcct,它由对象平台,  相似文献   

7.
MPI(Message Passing Interface)是消息传递并行程序设计的标准之一,概述了MPI的概念和组成,着重介绍了支持并行程序设计的消息传递接口(MPI)以及在MPI环境下的并行程序设计方法,并给出一个MPI并行程序设计实例,说明了MPI的程序设计流程和普通串行程序设计之间的关联。  相似文献   

8.
C~(++)是目前流行功能较强的面向对象语言。而面向对象的并行程序设计作为一种新的程序设计方法.正需要一种易于接受的语言来支持。本文在Bofland C~(++)V2.0基础上扩充了并行内容。使其能用来编写面向对象的并行程序。  相似文献   

9.
并行程序设计是并行计算的难点之一。提出了一种将设计模式用于程序精化演算的并行程序设计方法。它通过在Z语言的Schema演算体系中扩充并行的概念和表示,使用设计模式,将问题求解和并行开发的知识进行形式化的定义与描述,通过扩充的Schema演算将其与模型规范进行复合,逐步精化得到抽象并行程序。通过实例对这一方法进行了详细的描述。  相似文献   

10.
一种基于设计模式的三阶段并行程序设计方法   总被引:7,自引:1,他引:7  
并行程序的可编程性是并行计算的难点之一,使用传统的方法对非数值问题进行并行求解则更加困难。通过对设计模式概念的扩展,定义了算法模式与结构模式,以此为基础提出了一种基于设计模式的三阶段并行程序设计方法,并通过算法模式库与结构模式库实现对该方法的系统支持,该方法不仅可有于一般的数值问题求解,而且在处理复杂的非数值问题时与传统方法相比要简单得多,通过一个简单的数值问题和一个复杂非数值问题作为实例说明了使用这一方法进行问题并行求解与并行程序设计的过程。  相似文献   

11.
本文介绍编程方法和编程风格的一些基本要点。  相似文献   

12.
编程语言在软件设计领域经历过三次重大的变革,它们分别是面向过程的编程,面向对象的编程和泛型编程.其中的每一次变革不仅影响到编程语言本身,更影响到软件工程中的各个领域.文章介绍了这三种程序的设计方法,并且对其进行了比较和分析.  相似文献   

13.
14.
在高职院校计算机相关专业中,普遍开设了高级语言程序设计类课程。在这些课程中,一些重点知识,如变量、函数、三大程序结构以及面向对象编程的特征等,对于部分没有接触过编程的学生来说,往往是比较难掌握的。Scratch作为一个图形化编程工具,因其简单易上手等特点,能让学生更好地理解程序设计的知识。结合Scratch编程在程序设计课程中的应用,通过一些编程案例,深入说明了相关程序的概念是如何实现的。实践证明,在掌握了Scratch编程后,学生学习高级程序设计语言的难度明显降低,成绩有了明显提高,教师的教学效果也更好。  相似文献   

15.
This paper presents a programming environment called CNET that we have developed for the reconfigurable SuperNode multiprocessor. It shows how one can take advantage of the environment to implement phase-reconfigurable programs. In the first stage a computing model is designed in relation with the capabilities of the hardware. Next, the entire programming environment is built upon this model. It is organized around a kernel language which has been extended in three separate directions so as to provide three specialized languages: PPL (phase programming language) for the development of phase-reconfigurable programs, GCL (graph-construction language) for the construction of processor graphs on which the phases are to be executed, and CPL (component programming language) for coding the software components that are to be executed on the processors within the phases. The second part of the paper provides an illustration of CNET. First, two implementations of the conjugate gradient algorithm within CNET are carried out: a phase-reconfigurable implementation and a fixed-topology one. Both have been developed on a 32-node machine. Next, a time model is built for both implementations. The time estimates yielded by the models are checked against time measurements issued from program runs. The time models are proved valid and are subsequently used for extrapolation purposes. The speed-up that could be achieved by executing the conjugate gradient algorithm on larger machines (up to 1024) is discussed ultimately.  相似文献   

16.
《软件》2017,(3):42-47
程序设计的发展与计算机语言的发展是相辅相成的,过程化编程是面向对象编程的基础,历史上程序设计经历了无数里程碑的跨越!以计算机语言为例,C家族就经历了C、C++、C#的发展演变。本文从教学的角度探讨从C语言编程跨越到C#控制台编程、再从C#控制台编程跨越到C#的Windows窗体编程。选择较优路径,采用比较教学法实现了轻松自然的过渡和跨越!本文对《C#程序设计》课程教学确有实用价值。  相似文献   

17.
18.
19.
Knowing and using multiple programming languages for normal day-to-day development can yield significant benefits. No single language is a great fit for all problems. A programming language usually owes its existence to one simple fact: its designer felt it could address a set of problems - perhaps even just one problem - better than other available languages. This belief is apparently not uncommon: thousands of languages have come and gone and thousands more will follow. Numerous trade-offs are involved in programming language design and development, so there's room for many different approaches and variants. Unsurprisingly, monolingual developers tend to choose general-purpose rather than specialized programming languages. General-purpose languages perform adequately for a wide variety of problems, but they generally yield predominantly middle-of-the-road solutions - neither great nor terrible. Of course, some monolingual developers possess extremely deep and thorough knowledge of their programming languages, and so know how to exploit them to the fullest.  相似文献   

20.
《Software, IEEE》1999,16(1):118-120
  相似文献   

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

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

京公网安备 11010802026262号