基于共享和形状标注的并行语言程序分析与变换

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:lanyinghit
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
多核多处理新一代体系结构的迅猛发展,引发了软件开发方式上的巨变,为了能够充分地发挥体系结构上带来的优势,越来越需要并行编程和并发软件设计,但是,当前并行编程依然是件困难的事情。本课题组已经设计并实现了一种共享资源使用声明的并行程序语言SPC-II,它是基于共享内存模型的一种并行程序语言。与现有的并行语言不同,它最大特点在于为程序员提供一种访问控制的高级抽象,程序员不需要自己管理并发控制,而只需要声明所使用的共享资源,让编译器分析所使用的共享资源的保护区间,根据共享资源的保护区间插桩访问控制代码。本文在课题组的并行语言基础上,着重研究含有指针类型的链状数据结构访问控制,论文的主要研究内容有以下几个部分:1.一种链状数据结构自动细粒度加锁方法就细粒度并发访问链状数据结构提出一种自动方法,这些链状数据结构目前是单链表和双链表,通过分析SPC-II程序中的共享链状数据结构的形状信息来分析程序中共享数据单元的保护信息。2. SPC-II语言翻译器的实现在SUIF编译框架上,实现了一个并行语言SPC-II的编译器,该编译器实质上是一个源语言(SPC-II语言)到源语言(基于Pthread多线程库的C代码)的翻译器。为了保证翻译的多线程代码能够运行,设计了支持细粒度并发访问控制代码库,为了保证生成的代码无死锁,引入了一致性加锁协议。基于本文的方法能够为单链表、双链表等链状数据结构自动添加细粒度锁代码,而生成的代码具有无死锁性和较高的并发性。
其他文献
当前计算机技术和网络技术设计的飞速发展,网络规模的不断扩大,网络环境日趋复杂。异构、分布式的网络环境及复杂多样的网络元素,对软件的应用性提出了更高的要求与挑战。随着基于分布式对象计算的中间件技术的发展及网络向开放和分布式处理技术的转变,实现了不同网络系统之间的互联、互通、互操作性。Web service的出现无疑为分布式系统中各孤立的站点之间的信息能够相互通信,共享提供了一种接口,为解决日增长的互
数字多媒体技术的快速发展和互联网的广泛应用,丰富了我们的生活,加快了人们思想的沟通和交流的步伐。在获得便利的同时,人们也面临盗版活动日益猖獗的现实问题。如何有效的保护
虚拟齿轮测量中心是一个纯软件的系统,它是真实齿轮测量中心的机械结构、工件特征及测量过程等在虚拟环境的映射与仿真。虚拟齿轮测量中心在齿轮测量中心的软件编制与认证,以
近年来,随着计算机技术和微电子技术日新月异的发展,引起元器件高度集成化,计算机硬件大量超微型化,极大地促进了可穿戴计算技术的发展。可穿戴计算技术的核心是可穿戴计算机
随着移动设备的不断多样化和互联网技术的发展,适合不同尺寸的自动图像缩放方法日益重要。内容敏感的图像缩放方法能够保护图像中的重要性区域,是当前图像处理中的一个热点领
由于互联网上海量足球视频的存在,快节奏的生活使得用户目前最为关心的不是如何传输和播放所有比赛,而是关注自己感兴趣或精彩的视频片段。因此,如何分析足球视频内容以满足
RFID(Radio Frequency Identification)技术是物联网技术的一个重要组成部分,已经广泛应用于诸多领域。对物体进行定位是物联网的一项重要研究内容。近年来利用RFID技术定位标
随着昆虫学研究对象的不断深入和扩展,昆虫学领域产生了越来越多的图像数据,使得图像数据库开始急速膨胀,从而使研究人员难以方便、快速、准确地查询和检索到所需要的图像信
互联网兴起以来,多媒体、视频会议等组播应用越来越广泛,人们对于网络服务质量(QoS)需求急速攀升。但是作为网络传输核心的交换系统,虽然历经多次体系变革,仍然无法完全满足
随着可扩展标记语言(Extensible Markup Language,简称XML)的广泛应用,互联网以及本地计算机上存在着大量的中文XML文档需要存储和交换。XML是一种元语言,可以用来描述其它数