Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

Architecture and Compiler Support for Parallel Consistency, Coherence, and Security

Abstract Details

2020, Doctor of Philosophy, Ohio State University, Computer Science and Engineering.
The widespread use of multicore processors has made parallelism a necessity for performance. However, parallelism allows programs to share physical computing resources, such as memory and processor caches, which presents challenges for computer systems to ensure correct and secure parallel executions. Specifically, these challenges include: 1) providing strong memory consistency to programs with data races while allowing best-effort progress; 2) providing data-race-free (DRF) programs with simple, efficient cache coherence; and 3) ensuring information security for programs that run in parallel. These challenges in parallel consistency, coherence, and security motivate this work. The thesis of our work is that parallel systems can get the benefits of strong consistency, simple and efficient coherence, and strong security guarantees with little performance degradation or human effort. The goal in this dissertation is to make contributions by presenting and proposing architecture and compiler support to ensure correct and secure parallelism with minimal extra costs. Modern memory models make the DRF assumption and provide strong, well-defined end-to-end memory consistency only for DRF programs. Prior work has proposed fail-stop memory consistency to provide well-defined behaviors for all programs. However, fail-stop consistency can lead to unexpected failures in the presence of data races, imperiling performance or progress. To help systems get the benefits of fail-stop memory consistency while minimizing the costs of failures, this dissertation presents a set of architectural mechanisms that provide best-effort avoidance of failures on top of systems that provide fail-stop consistency. Unlike memory consistency models, mainstream cache coherence protocols such as MESI are designed to enforce coherence for both DRF and non-DRF programs and thus are complex. Specifically, MESI requires numerous transient states, a shared directory, and support for core-to-core communication. As DRF is widely assumed by today’s language-level memory models, this dissertation explores the possibility of providing simpler cache coherence protocols under the DRF assumption and presents a simple, efficient self-invalidation-based coherence protocol that eliminates MESI’s expensive requirements. The key insights in this work lie in its novel design that has no shared ownership metadata and that uses lightweight mechanisms to avoid many unnecessary self-invalidations. The fact that programs share physical computing resources such as memory and processor caches presents not only correctness challenges but also security threats. Among such threats, particularly worrisome are cache side-channel attacks, which have been demonstrated to be potent enough to facilitate the deduction of sensitive information in realistic scenarios. To protect programs from cache side-channel attacks, we propose automatic compiler support for strong, efficient cache side-channel protection based on widely available commodity hardware transactional memory (HTM). This work consists of a set of program analysis and instrumentation techniques that detect and analyze sensitive data and code, delimit transactions, and insert code to protect sensitive data and code. By making contributions in parallel consistency, coherence, and security, this dissertation aims to address challenges that parallelism faces to ensure correct and secure executions. Our proposed architecture support for best-effort avoidance of failures provides strong consistency without the costs of consistency failures. Our proposed coherence protocol extends the design limit of cache coherence on complexity under the DRF assumption. Last but not least, our proposed techniques of automatic cache side-channel protection help developers get the benefit of secure parallelism with little human effort. Overall, this dissertation significantly advances the state of the art in parallel consistency, coherence, and security.
Michael D. Bond (Advisor)
Yinqian Zhang (Committee Member)
Radu Teodorescu (Committee Member)
164 p.

Recommended Citations

Citations

  • Zhang, R. (2020). Architecture and Compiler Support for Parallel Consistency, Coherence, and Security [Doctoral dissertation, Ohio State University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=osu1607063095349646

    APA Style (7th edition)

  • Zhang, Rui. Architecture and Compiler Support for Parallel Consistency, Coherence, and Security. 2020. Ohio State University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=osu1607063095349646.

    MLA Style (8th edition)

  • Zhang, Rui. "Architecture and Compiler Support for Parallel Consistency, Coherence, and Security." Doctoral dissertation, Ohio State University, 2020. http://rave.ohiolink.edu/etdc/view?acc_num=osu1607063095349646

    Chicago Manual of Style (17th edition)