一种基于skeleton的并行编程环境研究与实践

来源 :江西师范大学 | 被引量 : 0次 | 上传用户:li81641143
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
并行程序设计是并行计算中一个公认的难题。其中一个重要原因在于缺乏系统的开发并行程序的方法及其支持工具。现有的大多数并行程序设计模型本质上是对并行程序编码的研究,它们为并行程序设计提供一个抽象平台,但缺乏指导程序员在其上有效地进行并行程序开发的方法。基于skeleton的并行程序设计方法通过为程序员提供通用的问题并行求解skeleton,使得程序员摆脱了琐碎的并行细节,而更关注问题本身,因而是一种更高层次的并行程序设计方法。本文前期研究中,给出了并行模式/skeleton的新定义,并在此基础上,提出一种系统的基于skeleton的并行程序开发模型及其支撑环境。该系统支持从问题规范到并行程序的整个开发过程,Apla+语言、skeleton库、模板库是其中的重要组成部分。Apla+语言的使用为系统提供了一种抽象、简洁的skeleton描述语言;而skeleton库及其模板库的支持,不仅为问题的并行求解提供了算法设计方法与策略上的指导,而且提供了并行算法的实现框架,使程序员在不具备并行领域知识的情况下,就可获得求解问题的(抽象)并行程序。本文的工作是对系统的Apla+语言、skeleton库及其模板库的研究,主要涵盖以下几点:(1)深入研究基于skeleton的并行工作,分析其中skeleton的概念、描述语言等方面存在的问题与困难,探索一种可行的解决方案。(2)对PAR方法中的Apla语言进行了并行扩充,主要包括描述并行运算的运算符、表示并行性的语句等,形成Apla+语言,以提供一种skeleton抽象描述语言。(3)对并行计算中的并行分而治之、Farm和Taskqueue三种典型skeleton进行了深入研究,并使用Apla+语言对其进行抽象描述,以支持问题的抽象并行程序开发。(4)在曙光3000 CPPVM环境下,采用C++模板机制对上述三种skeleton进行了预实现,并集成为模板库。(5)对skeleton库、模板库的组织进行了初步研究,为整个并行编程环境的集成提供了初步的研究思路。
其他文献
随着网络的普及和网络应用的扩大,现有的联网方式己经不能适应人们对于网络产生的爆炸式的需求,理所当然的需要有一种快捷、健壮的联网方式出现。像电话网一样,人们不需要在终端
随着Internet的迅速发展和普及,网络已成为人们进行信息交流和信息处理的有效平台。人们对网络服务的期望值在不断提高,希望得到更全面、更丰富、更适合自己的Web服务。但因Int
流媒体技术的出现可以使得多媒体通过网络从媒体服务器向用户计算机连续、实时的传输。用户不必等到整个文件下载完毕就可以收看到媒体内容,这充分满足了用户的实时交互需要。
随着当今互连网络的飞速发展,网络的使用在社会各个方面不断延伸。人们在充分享受着互联网所带来的方便和高效的同时,也不断受到各种恶意攻击的侵扰,其中通过端口扫描来获取目标
随着计算机网络及通信技术的迅猛发展,信息安全问题日益突出,其核心技术基础之一的盲签名技术,被广泛应用于电子投票、电子现金等领域,由于它具有盲性和不可链接性的特性,所
本文是一个数据仓库工程项目,文中集中讨论了一个气象数据仓库的设计和实现过程。本文的数据仓库设计和实现都基于ORACLE 10g的数据库服务器和OWB(ORACLE Warehouse Builder)
互联网的日益普及和多媒体技术的迅猛发展,网络应用逐渐成为我们日常生活必不可少的一部分。目前,我们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调
现代社会,面临经济全球化和社会信息化的快速发展,数字化地球、数字化城市、数字化政府、数字化企业正在从概念成为现实。各种组织(企业、政府、事业单位)越来越重视对信息资
agent系统由于其自身的特点:在动态的、不可预测的、开放的环境中具有自主行为,在电子商务中扮演了重要角色。但是由于所有权不同,agent可能是自私的和不可靠的。没有一个agent
随着应用需求的扩展和技术的不断进步,多核已经开始在传统PC,甚至嵌入式系统广泛应用。正因如此,多核环境下的并行应用,实时计算也成为研究的热点,但是这些都需要从操作系统