XPS: FULL: Collaborative Research: Rethinking Architecture Support for Memory Consistency
XPS: FULL: Collaborative Research: Rethinking Architecture Support for Memory Consistency
批准号:
1629196
负责人:
Brandon Lucia
金额:
$48.11万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-09-01 至 2021-08-31
中文摘要
尽管有几十年的进步,编写正确的并行软件来实现现代并行计算机硬件的价值仍然非常困难。一个关键的问题是,今天的计算机系统并没有给所有的程序明确的行为保证;“不同步”的代码,其中并行计算是不完全或不正确的协调,有不明确的,往往是破坏性的行为。这个问题是几乎所有并行计算机系统中的一个关键理论和实践缺陷。该提案通过提出一类具有强行为保证的新型并行计算机架构来解决这一挑战,即使对于不同步的代码也是如此。其关键思想是使系统安全地终止不同步的程序执行,以免它们造成问题。为了避免降低可用性,该项目包括避免在可能的情况下终止程序执行的机制,通过回退到更宽松,但安全和可预测的行为保证,并通过解决由不同步代码引起的潜在错误。该项目的智力优势在于,它甚至为不同步的并行代码提供了关键的行为保证。该项目消除了过时的硬件模型,这些模型不仅不能提供足够的行为保证,而且还非常复杂和耗电。该项目是该领域中第一个直接同时解决可用性和正确性问题的项目。该项目更广泛的意义和重要性在于,它将提高所有并行系统的可靠性,这将影响生活的各个方面:医疗,能源,交通,健康,国防和商业。 该项目提供的更强大的保证避免了昂贵的,危险的故障,并降低了应用程序开发的成本,即使是在成熟的语言中。 该项目将产生与产业相关的成果,并将通过出版物影响学术界。该项目将直接影响计算领域的中学和高等教育,培养多样化的未来STEM劳动力。为了向所有代码提供强大的行为保证-即使不正确同步-所提出的架构为粗粒度代码区域提供区域原子内存一致性保证。 在这些体系结构中,程序的执行要么是代码区域的序列化,要么以异常终止,该异常指示错误可能导致内存不一致。 这些架构为所有程序执行提供了这种强大的内存一致性模型,偏离了主流的一致性和一致性方法,这些方法支持较弱的保证,而在复杂性或性能方面没有明显的好处。 在执行不同步代码的系统中,频繁的异常可能会经常终止程序执行,降低可用性。建议的架构避免降低可用性容忍一致性侵犯与定义良好的快照隔离语义,避免异常,但不保证序列化的代码区域。该架构通过解决异常、利用代码的可交换性以避免可交换操作的不必要异常以及使用动态符号分析通过组合符号存储器更新来解决异常来进一步解决可用性。
英文摘要
Despite decades of progress, writing correct parallel software to realize the value of modern parallel computer hardware remains extremely difficult. A key problem is that today's computer systems do not give all programs clear behavioral guarantees; "ill-synchronized" code, in which parallel computations are incompletely or incorrectly coordinated, has ill-defined, often destructive behavior. This problem is a key theoretical and practical flaw in nearly all parallel computer systems. This proposal addresses this challenge, by proposing a new class of parallel computer architectures with strong behavioral guarantees, even for ill-synchronized code. The key idea is to make systems safely terminate ill-synchronized program executions before they can cause problems. To avoid degrading availability, the project includes mechanisms to avoid terminating program executions when possible, by falling back to more permissive, yet safe and predictable behavioral guarantees, and by resolving potential errors caused by ill-synchronized code. The intellectual merits of the project are that it provides crucial behavioral guarantees even to ill-synchronized parallel code. The project eliminates outdated hardware models that not only provide inadequate behavioral guarantees, but are also complex, and power-hungry. The project is the first in this domain to directly address availability and correctness together. The project's broader significance and importance are that it will improve the reliability of all parallel systems, which affects all aspects of life: medicine, energy, transportation, health, defense, and business. The stronger guarantees provided by this project avoid costly, dangerous failures and decrease the cost of application development, even in mature languages. The project will generate results relevant to industry and will influence academia through publication. The project will directly influence secondary and higher education in computing, fostering a diverse, future STEM workforce.To provide strong behavioral guarantees to all code -- even if incorrectly synchronized -- the proposed architectures provide region-atomic memory consistency guarantees for coarse-grained code regions. In these architectures, a program's execution is either a serialization of code regions, or it terminates with an exception that indicates an error could have left memory inconsistent. The architectures provide this strong memory consistency model to all program executions, departing from mainstream approaches to coherence and consistency that favor weaker guarantees without a clear benefit in complexity or performance. In systems executing ill-synchronized code, frequent exceptions may too often terminate program executions, degrading availability. The proposed architectures avoid degrading availability by tolerating consistency violations with a well-defined snapshot isolation semantics that avoids exceptions, but does not guarantee serializability of code regions. The architectures further address availability by resolving exceptions, leveraging commutativity of code to avoid unnecessary exceptions for commutative operations, as well as using dynamic symbolic analysis to resolve exceptions by combining symbolic memory updates.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
CPS: Frontier: Software-Defined Nanosatellite Constellations: The Foundation of Future Space-Based Cyber-physical Systems
-
批准号:2111751
-
项目类别:Continuing Grant
-
资助金额:$699.27万
-
财政年份:2022
-
负责人:Brandon Lucia
-
依托单位:
Workshop Proposal: Redefining the Future of Computer Architecture from First Principles
-
批准号:2220657
-
项目类别:Standard Grant
-
资助金额:$1.0万
-
财政年份:2022
-
负责人:Brandon Lucia
-
依托单位:
SHF: Small: Practical and Formal Foundations for Intermittent Computer Systems
-
批准号:2007998
-
项目类别:Standard Grant
-
资助金额:$45.0万
-
财政年份:2020
-
负责人:Brandon Lucia
-
依托单位:
CAREER: System Support for Capable, Reliable Intermittently-Powered Computer Systems
-
批准号:1751029
-
项目类别:Continuing Grant
-
资助金额:$65.45万
-
财政年份:2018
-
负责人:Brandon Lucia
-
依托单位:
CSR: SHF: Small: Programming Language, Runtime System, and Architecture Support for Reliability in Intermittent, Energy-Harvesting Computing Devices
-
批准号:1526342
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2015
-
负责人:Brandon Lucia
-
依托单位:
国内基金
海外基金
钴基Full-Heusler合金的掺杂效应和薄膜噪声特性研究
-
批准号:51871067
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2018
-
负责人:吴晟
-
依托单位: