分享到:

TM将取代互斥锁助益并行编程

并行计算是发挥处理器多核的关键优势,编程面临的同步机制又出了新的研究——事务内存(TM),它有望取代互斥锁方法。 $$——Intel编程系统实验室Ali-Reza Adl-Tabatabai $$目前,解决并行编程面临的大问题——对共享内存的同步访问,基本办法就是使用互斥锁,但这种机制存在一些缺陷,无法用来构建大型的并行应用程序。在过去的几年间,一种新的同步机制被逐步研究出来了,我们称之为事务内存(transactional memory,TM),它有望取代互斥锁用于大型并行程序。 $$使用这种机制的编译器,程序员能够独立运行一段并行代码,而无需考虑对其他线程的影响,这对于并行编程的调试来说至关重要。同时,系统中还能够同时运行多个事务。 $$数据库采用面向事务的思想已经有很多年了,而且一直都很成功。TM将这一思想引入C++、Java这样的主流编程语言,所产生的新语言将成为并行计算的基础。在使用互斥锁机制时,程序员...  (本文共1页) 阅读全文>>

华中科技大学
华中科技大学

多核环境下任务并行编程关键技术研究

随着多核/众核处理器的出现,如何在多核/众核平台上进行并行程序开发,以充分发掘多核/众核处理器的性能,成为计算机软件发展的重要影响因素。1)用户在使用更高层的任务并行编程工具的过程中,遇到的编程错误不同于传统的多线程编程,这一方面是因为并行编程本身的复杂性,另一方面也因为这些任务并行编程工具本身存在编程抽象及接口设计上的不合理。2)不同的任务并行编程工具面向不同的并行模式,因此提供不同的编程抽象及编程接口,这导致开发人员在复杂的并行应用中,通常需要选择多个不同的并行编程工具,这进一步增加了并行编程的复杂性,并间接提高了并行程序性能优化的难度。3)任务并行编程的执行模型在使用并行任务取代线程后,需要在应用层面引入新的调度机制以保证并行任务的高效执行,然而,这一调度机制在并行任务中的数据需要进行同步时容易引入新的性能瓶颈。因此,多核处理器上的任务并行编程依然充满挑战。围绕开发人员使用现有任务并行编程工具中所遇到的诸多问题,“多核环境...  (本文共119页) 本文目录 | 阅读全文>>

中国科学技术大学
中国科学技术大学

模式化并行编程研究

近年来,随着高性能计算(High Performance Computing)硬件平台的不断提升,面向高性能的应用越来越广泛,传统的并行编程环境工具已经不能满足高性能应用日益增长的需求。面对并行软件开发环境处于相对滞后的状态,如何针对高性能计算机的硬件体系结构以及高性能计算用户的特点,提供良好的高性能计算编程环境,提高并行编程效率,一直是高性能计算领域的研究热点之一。通过对结构化并行编程领域的研究,本文采用抽象技术提升并行编程的粒度,设计实现了一个能够达到不同程度隐式并行的结构化并行编程原型系统。论文的主要工作有:(1) 系统地分析和研究了结构化并行编程的不同实现技术,提出了以并行模式为基础的结构化并行编程的概念;从并行模式语言的观点整理出了各种结构化编程系统在不同的开发层面所表现的典型设计模式。(2) 设计了基于并行模式和主流软件开发技术的通用并行模式化编程环境USPE(Universal Skeleton-oriented ...  (本文共90页) 本文目录 | 阅读全文>>

《计算机教育》2007年21期
计算机教育

“基于多核的并行编程”课程建设概况

★精品课程巡礼第二站:南京大学★南京大学软件学院作为南京大学一个新建的学院,成立五年多来,在实用软件工程教育方面作出了许多有益的尝试。软件学院与Intel,Microsoft等公司建立了良好的合作关系,开设了一系列与产业界密切相关的课程,并逐渐形成体系。“基于多核的并行编程”就是其中之一。该课程于2007年6月被评为“教育部-Intel精品课程”。1课程基本情况“基于多核的并行编程”是面向软件学院高年级本科生和研究生的一门专业选修课,主要讲授并行编程的软硬件知识,并介绍相应的调试与优化技术。课程有以下两大特点:(1)基于实验。授课和实验穿插、结合进行,贯穿整个课程。(2)项目驱动。教师在学期开始就布置一道大型的工程实践项目,由学生结对或按组完成,分阶段提交工作产品,其间必须遵循软件工程的开发流程、原则和方法。本课程非常强调学生综合能力的培养。通过大量的基础试验,锻炼学生的基本动手能力;通过结对或按组完成项目,锻炼自学和解决实际问...  (本文共1页) 阅读全文>>

《计算机科学》1997年02期
计算机科学

并行编程技术探讨

嘴概述 随着并行机的发展和网络技术的成熟,如何将顺序程序设计成并行程序,如何设计分布式编程环境,以获得更大的加速比,这是卯年代的重要研究课题。并行编程涉及面很广,而且并行系统硬件结构与并行算法的设计是紧密相关的。并行系统硬件结构主要包括两个方面:共享存储器处理机(图1)和名计算仁议图2)。 盗翻 厂-一一-一-一+一一一巴空到i{翌萝圈.:PR(兀ESSOR n图1共享存储器处理机结构.、专胜丫卫讯网{ /\\L州L_二竺一P:处理机讥:存{1者器图2多计算机结构为了更有效地利用并行处理技术,顺序程序必须改造成有效的并行程序,一般所采用的技术如下: 1)数据并行:不同的数据并行地执行同一处理,此技术适合于数组和运算。 2)数据分区:这是一种特定类型的数据并行,数据空间被划分成相邻的区域,每个区域被不同处理机并行执行。 3)松散式算法:每个并行进程自己执行,进程之间相互没有同步或传输。 4)同步重复:每个处理机对不同部分的数据执行...  (本文共4页) 阅读全文>>

《计算机工程与设计》2010年24期
计算机工程与设计

多核并行编程技术在中文分词程序优化中的应用

0引言传统程序编程主要是串行的方式编写的,大部分程序不能完全获得多核处理器带来的性能提升。在多核处理器硬件的不断发展下,多核处理器最迫切需求是系统软件支持和应用软件开发,软件针对处理器进行性能调优,才能使基于多核处理器的软件实现最佳性能,如果不针对多核进行软件开发,不仅多核提供的强大计算能力得不到利用,相反还可能不如单核CPU高效。因此,在多核架构下进行并行编程是一项十分重要及有意义的工作。目前,国内基于多核的研究领域主要集中在图形图像的处理,科学计算等方面,包括在多核平台上的一些软件优化,并行模型和应用开发的研究。在国外美国斯坦福大学在20世纪90年代中期就开始了多核处理器的研究,他们是目前学术界非常活跃的研究小组之一,研究范围包括体系结构、应用程序分析研究,以及目前处于研究热点的并行编程模型、事务存储等。研究者们所提出的这些优化方法只是局限在某一个方面,没有一个统一的并行编程模式,而且在程序优化方面还存在负载均衡、任务调度、...  (本文共5页) 阅读全文>>