CAREER: Practical Language and System Support for Reliable Concurrent Software
CAREER: Practical Language and System Support for Reliable Concurrent Software
批准号:
1253703
负责人:
Michael Bond
金额:
$55.51万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2013
资助国家:
美国
项目状态:
已结题
起止时间:
2013-03-01 至 2019-02-28
中文摘要
在过去的几十年里,计算机系统的性能呈指数级增长,使得科学、工程、卫生和其他领域的关键问题取得了进展。然而,由于功率、热量和导线长度的限制,微处理器现在每一代都在增加更多的核心,而不是更快。因此,通用软件必须提高并发性,才能获得持续的性能提升。不幸的是,编写和调试共享内存并发软件是出了名的困难。一个关键问题是,大多数共享内存编程语言和软件系统不能很好地支持正确的并发执行。他们缺乏这种支持,因为所有已知的方法都是不切实际的。该项目旨在为商品系统中的并发正确性提供实用支持。它开发了在现有商用硬件上执行的低开销、仅限软件的方法。这些方法帮助程序员编写和调试更可靠、可伸缩的软件,并通过消除所有类别的错误自动使软件更可靠。这些好处有可能使社会能够继续依赖软件系统来执行日益复杂的关键任务。此外,该项目还包括教育和推广活动,帮助学生学习并发软件系统,加强思想和成果的传播,并扩大对计算机科学的参与。该项目开发实用的、始终在线的动态检查和执行关键的并发正确性属性:原子性、顺序一致性和多线程决定论。现有的方法是不切实际的,因为基于硬件的定制方法是不切实际的,而基于软件的方法会使程序变慢,这是不可接受的。该项目建立在高效并发控制机制的初步工作基础上,该机制避免了昂贵的同步,而非冲突访问是绝大多数访问。开发新的分析和系统提出了重大的新挑战,既要应用新的并发控制机制,又要使这些分析和系统的其他方面对于生产系统足够有效。例如,精确的冲突检测必须跟踪先前的访问,并与并发控制机制固有的不精确性作斗争。该项目旨在使分析和系统既实用又灵活,这需要系统地研究如何降低冲突和非冲突访问的成本。预期的贡献是第一个实用的始终在线原子性检查器,第一个实用的多线程记录和重放系统,第一个实用的顺序一致性检查器,以及第一个提供多线程系统确定性的实用系统。除了更广泛的影响外,这些贡献还有可能使对支持并发正确性的高效基于软件的分析和系统的新研究成为可能。
英文摘要
Over the past several decades, computer system performance has grown exponentially, enabling progress on key problems in science, engineering, health, and other areas. Owing to power, heat, and wire length limitations, however, microprocessors are now adding more, instead of faster, cores with each successive generation. As a result, general-purpose software must become more concurrent to see continued performance gains. Unfortunately, writing and debugging shared-memory concurrent software is notoriously difficult. A key problem is that most shared-memory programming languages and software systems do not provide good support for correct concurrent execution. They lack such support because all known approaches are impractical. This project aims to provide practical support for concurrency correctness in commodity systems. It develops low-overhead, software-only approaches that execute on existing commodity hardware. These approaches help programmers write and debug more reliable, scalable software, and to make software more reliable automatically by eliminating whole classes of errors. These benefits have the potential to enable society to continue to rely on software systems for increasingly complex, critical tasks. Furthermore, the project includes educational and outreach activities that help educate students in concurrent software systems, enhance dissemination of the ideas and outcomes, and broaden participation in computer science.The project develops practical, always-on dynamic checking and enforcement of key concurrency correctness properties: atomicity, sequential consistency, and multithreaded determinism. Existing approaches are impractical because custom hardware-based approaches are unrealistic, and software-based approaches slow programs unacceptably. The project builds on preliminary work on an efficient concurrency control mechanism that elides expensive synchronization from non-conflicting accesses, which are the vast majority of accesses. Developing new analyses and systems presents significant new challenges, both to apply the novel concurrency control mechanism and to make other aspects of these analyses and systems efficient enough for production systems. For example, precise conflict detection must track prior accesses and contend with imprecision inherent to the concurrency control mechanism. The project aims to make the analyses and systems both practical and flexible, which requires systematically investigating how to reduce the costs of conflicting and non-conflicting accesses. Expected contributions are the first practical always-on atomicity checker, the first practical multithreaded record & replay system, the first practical sequential consistency checker, and the first practical system providing multithreaded system determinism. In addition to broader impacts, the contributions have the potential to enable new research on efficient software-based analyses and systems that support concurrency correctness.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
CNS Core: Small: Rethinking High-Performance Persistent Transactions
-
批准号:2106117
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2021
-
负责人:Michael Bond
-
依托单位:
XPS: FULL: Collaborative Research: Rethinking Architecture Support for Memory Consistency
-
批准号:1629126
-
项目类别:Standard Grant
-
资助金额:$34.39万
-
财政年份:2016
-
负责人:Michael Bond
-
依托单位:
SHF: Small: Collaborative Research: Hybrid Static-Dynamic Analyses for Region Serializability
-
批准号:1421612
-
项目类别:Standard Grant
-
资助金额:$36.5万
-
财政年份:2014
-
负责人:Michael Bond
-
依托单位:
CSR: Small: Making Software Transactional Memory More than a Research Toy
-
批准号:1218695
-
项目类别:Standard Grant
-
资助金额:$40.0万
-
财政年份:2012
-
负责人:Michael Bond
-
依托单位:
海外基金