SHF: Medium: Collaborative Research: Extending Declarative Parallel Programming with State and Nondeterminism
SHF: Medium: Collaborative Research: Extending Declarative Parallel Programming with State and Nondeterminism
批准号:
1065099
负责人:
Matthew Fluet
金额:
$41.23万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2011
资助国家:
美国
项目状态:
已结题
起止时间:
2011-09-01 至 2016-08-31
中文摘要
该项目致力于提高应用程序的效率。当今的多核和众核计算机以并行处理的形式提供了越来越多的计算能力。 但是,在软件应用程序可以利用这种并行硬件并在执行中表现出加速之前,软件开发者必须(重新)编写程序以指示哪些部分可以并行执行以及哪些部分必须顺序执行。 Manticore研究项目设计并实现了并行ML编程语言,这是一种函数式编程语言,具有丰富的显式和隐式并行编程功能。 到目前为止,该团队构建了一个高效且可扩展的PML实现。 然而,PML缺乏其他语言中存在的一些功能,例如共享状态,它赠款自由修改并行线程之间共享的数据的能力,以及非确定性,它赠款返回可能取决于并行执行顺序的结果的能力。 这些特性通常被认为很难正确使用,也很难在并行环境中有效实现;然而,它们有可能使应用程序的更大部分适合并行执行。因此,该项目专注于通过以安全有效的方式扩展并行ML的共享状态和非确定性等机制来增加应用程序暴露的并行性的重要问题。 该设计的一个关键特性是它提供了隔离程序的有状态和不确定组件的方法;这种隔离使软件开发人员更容易和更安全地使用这些机制。 该设计的另一个关键特征是它捕获了常见的编程习惯,例如缓存,以避免冗余计算,并以确保安全和高效程序执行的方式对共享稀疏数据结构进行独立写入。 因此,该项目将软件开发人员从显式编程管理应用程序的并行执行的低级别细节的困难和容易出错的任务中解放出来;相反,软件开发人员专注于高级应用程序逻辑,而编译器和运行时系统在可用的计算资源上分配并行执行。 这项研究有助于指导未来的语言设计工作,并将编程实践转变为更高级别和更具声明性的模型,从而提高生产力,正确性,性能和可扩展性。
英文摘要
This project addresses parallelism in applications with the goal of improving the efficiency of those applications.Today's multicore and manycore computers provide increasing amounts of computational power in the form of parallel processing. But, before a software application can take advantage of such parallel hardware and exhibit speedups in execution, a software developer must (re)write the program to indicate which portions may be executed in parallel and which portions must be executed sequentially. The Manticore research project designed and implemented the Parallel ML programming language, a functional programming language with a rich collection of explicitly- and implicitly-parallel programming features. To date, this team built an implementation of PML that is efficient and scalable. However, PML lacks some features present in other languages, such as shared state, which grants the ability to freely modify data shared between parallel threads, and nondeterminism, which grants the ability to return results that may depend upon the order of parallel execution. These features are generally considered difficult to use correctly and difficult to implement efficiently in a parallel setting; yet, they have the potential to make greater portions of an application amenable to parallel execution.Therefore, this project focuses on the significant problem of increasing the amount of parallelism exposed by applications by extending Parallel ML with mechanisms like shared state and nondeterminism in a safe and efficient manner. A key feature of the design is that it provides ways to isolate the stateful and nondeterministic components of a program; this isolation makes these mechanisms easier and safer to use by software developers. Another key feature of the design is that it captures common programming idioms, such as caching to avoid redundant computations and make independent writes to a shared sparse data structure in a manner that ensures safe and efficient program execution. Thus, this proejct frees the software developer from the difficult and error-prone task of explicitly programming the low-level details that manage the parallel execution of an application; instead, the software developer focuses on the high-level application logic, while the compiler and runtime system allocates the parallel execution over the available computational resources. This research is helping guide future language design efforts and transforming programming practice toward higher-level and more declarative models, yielding improved productivity, correctness, performance, and scalability.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Medium: Collaborative Research: Automatic Locality Management for Dynamically Scheduled Parallelism
-
批准号:1408981
-
项目类别:Standard Grant
-
资助金额:$23.67万
-
财政年份:2014
-
负责人:Matthew Fluet
-
依托单位:
II-EN: Collaborative Research: Positioning MLton for Next-Generation Programming Languages Research
-
批准号:1405770
-
项目类别:Standard Grant
-
资助金额:$22.43万
-
财政年份:2014
-
负责人:Matthew Fluet
-
依托单位:
Collaborative Research: CPA-SEL: Implementation Techniques for High-level Parallel Languages
-
批准号:1010568
-
项目类别:Standard Grant
-
资助金额:$6.24万
-
财政年份:2009
-
负责人:Matthew Fluet
-
依托单位:
Collaborative Research: CPA-SEL: Implementation Techniques for High-level Parallel Languages
-
批准号:0811419
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2008
-
负责人:Matthew Fluet
-
依托单位:
海外基金