General Language Mechanisms for Deterministic Parallel Programming
General Language Mechanisms for Deterministic Parallel Programming
批准号:
0702724
负责人:
Vikram Adve
金额:
$32.5万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2007
资助国家:
美国
项目状态:
已结题
起止时间:
2007-08-01 至 2013-07-31
中文摘要
0702724Vikram S.如今,大多数新的消费类计算机至少包含两个核心,高端计算机多达八个,主要供应商的路线图预计将有数百个核心。 为了利用这种处理能力,并行计算,曾经是一个狭窄的专业,必须成为主流。 然而,并行编程是出了名的困难。 为了避免程序员生产力的昂贵下降,编程语言,库和工具必须使并行编程几乎像顺序编程一样容易。 实现这一目标的一个强大方法是启用确定性风格的并行编程,这意味着无论何时使用特定输入运行程序,都可以保证程序产生相同的输出。 确定性消除了并行编程中最困难的问题,如数据竞争和死锁。 最重要的是,它使质量保证更容易,因为每个输入只需测试一次执行,而且错误更容易重现。 虽然存在确定性的编程模型,他们有有限的表现力,并不处理大多数程序编写的广泛使用的语言,如Java和C#。这项研究是开发简单的,表达语言和运行时机制的确定性并行,使用线程并行的风格与可变对象的别名。 该设计结合了类型系统在声明和检查内存区域和效果方面的最新进展,在繁重或无法使用类型系统表达的情况下,依靠运行时推测。 该项目还在开发允许"局部非确定性“结构的机制,如关联约简和交换数据结构更新。 最后,该项目将开发以确定性风格编写实际并行程序的经验,以回答有关确定性语言功能的表达性,易用性和性能影响的许多实际问题。
英文摘要
0702724Vikram S. AdveUniversity of Illinois @ UrbanaMost new consumer computers today contain at least two cores, high-end ones have as many as eight, and major vendor road-maps foresee hundreds of cores. To exploit this processing power, parallel computing, once a narrow specialty, must become mainstream. Parallel programming, however, is notoriously difficult. To avoid an expensive decline in programmer productivity, programming languages, libraries, and tools must make parallel programming nearly as easy as sequential programming. One powerful way to achieve this goal will be to enable a deterministic style of parallel programming, meaning that a program is guaranteed to produce the same output whenever it is run with a particular input. Determinism eliminates the hardest problems of parallel programming such as data races and deadlocks. Most importantly, it makes quality assurance easier because only one execution for each input must be tested and because errors are easier to reproduce. While deterministic programming models exist, they have limited expressivity and do not handle most programs written in widely-used languages such as Java and C#.This research is developing simple, expressive language and runtime mechanisms for deterministic parallelism, using a thread-parallel style with aliasing of mutable objects. The design combines recent advances in type systems for declaring and checking memory regions and effects, falling back on runtime speculation in cases that are burdensome or impossible to express using the type system. The project is also developing mechanisms to allow ``locally non-deterministic'' constructs such as associative reductions and commutative data structure updates. Finally, the project will develop experience with writing realistic parallel programs in a deterministic style, to answer many practical questions about the expressivity, ease-of-use, and performance implications of the deterministic language features.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
TWC: Small: Trustworthy Code Generation for the LLVM Compiler Infrastructure
-
批准号:1619275
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2016
-
负责人:Vikram Adve
-
依托单位:
CSR: Medium: Augmenting Logs with Static Analysis and Symbolic Execution
-
批准号:1564274
-
项目类别:Continuing Grant
-
资助金额:$90.0万
-
财政年份:2016
-
负责人:Vikram Adve
-
依托单位:
SHF: Medium: Programmability, Portability, Performance and Energy Efficiency for Heterogeneous Systems
-
批准号:1302641
-
项目类别:Standard Grant
-
资助金额:$89.98万
-
财政年份:2013
-
负责人:Vikram Adve
-
依托单位:
CSR: Small: Automated Software Fault Localization via Static and Dynamic Analysis
-
批准号:1219080
-
项目类别:Standard Grant
-
资助金额:$49.0万
-
财政年份:2012
-
负责人:Vikram Adve
-
依托单位:
CSR-AES: Language, Compiler and Run-time Support for Irregular Applications in Emerging High-productivity Languages
-
批准号:0720772
-
项目类别:Continuing Grant
-
资助金额:$42.0万
-
财政年份:2007
-
负责人:Vikram Adve
-
依托单位:
CRI: CRD: A Compiler-Based Virtual Machine Infrastructure for System Software
-
批准号:0709122
-
项目类别:Continuing Grant
-
资助金额:$50.0万
-
财政年份:2007
-
负责人:Vikram Adve
-
依托单位:
CT-ISG: Improving System Security with a Compiler-based Virtual Machine for Operating System Kernels
-
批准号:0716768
-
项目类别:Continuing Grant
-
资助金额:$50.0万
-
财政年份:2007
-
负责人:Vikram Adve
-
依托单位:
Cooperative Hardware/Software Designs for Virtual Instruction Set Computers
-
批准号:0429561
-
项目类别:Continuing Grant
-
资助金额:$15.0万
-
财政年份:2004
-
负责人:Vikram Adve
-
依托单位:
NGS: CAREERS: Techniques and Applications of Dynamic Compilation
-
批准号:0093426
-
项目类别:Continuing Grant
-
资助金额:$49.92万
-
财政年份:2001
-
负责人:Vikram Adve
-
依托单位:
NGS: Collaborative Research: Performance Driven Adaptive Software Design and Control
-
批准号:0103756
-
项目类别:Continuing Grant
-
资助金额:$38.3万
-
财政年份:2001
-
负责人:Vikram Adve
-
依托单位:
Collaborative Research: Compiler-Supported Simulation of Scalable Applications for Wide-Area Distributed Computing Systems
-
批准号:9988482
-
项目类别:Continuing Grant
-
资助金额:$24.0万
-
财政年份:2000
-
负责人:Vikram Adve
-
依托单位:
海外基金