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
中文摘要
在过去的几十年里,计算机系统性能呈指数级增长,使科学,工程,健康和其他领域的关键问题取得了进展。然而,由于功率、热量和导线长度的限制,微处理器现在每一代都在增加更多而不是更快的内核。因此,通用软件必须变得更加并发,才能看到持续的性能提升。不幸的是,编写和调试共享内存并发软件是出了名的困难。一个关键的问题是,大多数共享内存编程语言和软件系统不提供正确的并发执行良好的支持。他们缺乏这样的支持,因为所有已知的方法都是不切实际的。该项目旨在为商品系统中的并发正确性提供实际支持。它开发了低开销,仅软件的方法,在现有的商品硬件上执行。这些方法帮助程序员编写和调试更可靠、可扩展的软件,并通过消除整个错误类别自动使软件更可靠。 这些好处有可能使社会继续依赖软件系统来完成日益复杂的关键任务。 此外,该项目包括教育和推广活动,帮助教育学生在并发软件系统,加强思想和成果的传播,并扩大参与计算机science.The项目开发实用的,永远在线的动态检查和关键并发正确性属性的执行:原子性,顺序一致性和多线程确定性。现有的方法是不切实际的,因为定制的基于硬件的方法是不现实的,基于软件的方法慢程序不可接受。 该项目建立在一个有效的并发控制机制,消除昂贵的同步从非冲突的访问,这是绝大多数访问的初步工作。 开发新的分析和系统提出了重大的新挑战,既要应用新的并发控制机制,又要使这些分析和系统的其他方面对生产系统足够有效。例如,精确的冲突检测必须跟踪先前的访问,并与并发控制机制固有的不精确性作斗争。该项目旨在使分析和系统既实用又灵活,这需要系统地研究如何减少冲突和非冲突访问的成本。预期的贡献是第一个实际的始终在线的原子性检查器,第一个实际的多线程记录重放系统,第一个实际的顺序一致性检查器,第一个实际的系统提供多线程系统确定性。除了更广泛的影响,这些贡献有可能使新的研究有效的基于软件的分析和系统,支持并发正确性。
英文摘要
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
-
依托单位:
海外基金