课题基金 / 基金详情

SHF: Medium: Collaborative Research: Extending Declarative Parallel Programming with State and Nondeterminism

SHF: Medium: Collaborative Research: Extending Declarative Parallel Programming with State and Nondeterminism
SHF:媒介:协作研究:使用状态和非确定性扩展声明式并行编程
批准号:
1065099
负责人:
Matthew Fluet
金额:
$41.23万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2011
资助国家:
美国
项目状态:
已结题
起止时间:
2011-09-01 至 2016-08-31

项目摘要

项目成果

Matthew Fluet的其他基金

相似基金

相关文献

中文摘要
翻译
这个项目处理应用程序中的并行性,目标是提高这些应用程序的效率。今天的多核和多核计算机以并行处理的形式提供了越来越多的计算能力。但是,在软件应用程序可以利用这种并行硬件并显示执行速度之前,软件开发人员必须(重新)编写程序,以指示哪些部分可以并行执行,哪些部分必须顺序执行。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
海外基金