课题基金 / 基金详情

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

项目摘要

项目成果

Vikram Adve的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
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
CSR: Medium: Augmenting Logs with Static Analysis and Symbolic Execution
SHF: Medium: Programmability, Portability, Performance and Energy Efficiency for Heterogeneous Systems
CSR: Small: Automated Software Fault Localization via Static and Dynamic Analysis
海外基金