Experience with a language for writing coherence protocols

被引:0
|
作者
Chandra, S
Dahlin, M
Richards, B
Wang, RY
Anderson, TE
Larus, JR
机构
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper we describe our experience with Teapot [7], a domain-specific language for writing cache coherence protocols. Cache coherence is of concern when parallel and distributed computing systems make local replicas of shared data to improve scalability and performance. In both distributed shared memory systems and distributed file systems, a coherence protocol maintains agreement among the replicated copies as the underlying data are modified by programs running on the system. Cache coherence protocols are notoriously difficult to implement, debug, and maintain. Unfortunately, protocols are not off-the-shelf items, as their details depend on the requirements of the system under consideration. This paper presents case studies detailing the successes and shortcomings of using Teapot for writing coherence protocols in two systems. The first system, loosely coherent memory (LCM) [16], implements a particular type of distributed shared memory suitable for data-parallel programming. The second system, the xFS distributed file system [9], implements a high-performance, serverless file system. Our overall experience with Teapot has been very positive. In particular, Teapot's language features resulted in considerable simplifications in the protocol source code for both systems. Furthermore, Teapot's close coupling between implementation and formal verification helped to achieve much higher confidence in our protocol implementations than previously possible and reduced the time to build the protocols. By using Teapot to solve real problems in complex systems, we also discovered several shortcomings of the Teapot design. Most noticeably, we found Teapot lacking in support for multithreaded environments, for expressing actions that transcend several cache blocks, and for handling blocking system calls. We believe that domain-specific languages are valuable tools for writing cache coherence protocols.
引用
收藏
页码:51 / 65
页数:3
相关论文
共 50 条
  • [1] Teapot: Language support for writing memory coherence protocols
    Chandra, S
    Richards, B
    Larus, JR
    ACM SIGPLAN NOTICES, 1996, 31 (05) : 237 - 248
  • [2] Teapot: A domain-specific language for writing cache coherence protocols
    Chandra, S
    Richards, B
    Larus, JR
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (03) : 317 - 333
  • [3] Clarity and Coherence in Academic Writing: Using language as a resource
    Huang, Lu
    Chen, Liping
    JOURNAL OF ENGLISH FOR ACADEMIC PURPOSES, 2023, 66
  • [4] CLARITY AND COHERENCE IN ACADEMIC WRITING: USING LANGUAGE AS A RESOURCE
    Feri, Zefki Okta
    Ashadi, Ashadi
    Margana, Margana
    Windianto, Nur Eko
    TESOL JOURNAL, 2024, 15 (04)
  • [5] Clarity and Coherence in Academic Writing: Using Language as a Resource
    Darian, Steven
    Nunan, David
    Choi, Julie
    TECHNICAL COMMUNICATION, 2023, 70 (04)
  • [6] Clarity and Coherence in Academic Writing: Using Language as a Resource
    Shi, Yali
    JOURNAL OF SECOND LANGUAGE WRITING, 2024, 63
  • [7] WRITING AS A GESTURE: EXPERIENCE OF LANGUAGE IN THE POETRY AND IN THE PHILOSOPHY
    Resende, Carlos Arthur
    AUFKLARUNG-REVISTA DE FILOSOFIA, 2018, 5 (01): : 109 - 120
  • [8] Flow experience in foreign language writing: Its effect on students' writing process and writing performance
    Liu, Ping
    Zhang, Yao
    Liu, Dilin
    FRONTIERS IN PSYCHOLOGY, 2022, 13
  • [9] HIGH-SCHOOL LANGUAGE EXPERIENCE APPROACH TO WRITING
    HANDEL, RD
    JOURNAL OF READING, 1976, 20 (01): : 47 - 51
  • [10] ON THE COHERENCE PROPERTY OF PROTOCOLS
    KARPOV, JG
    AVTOMATIKA I VYCHISLITELNAYA TEKHNIKA, 1987, (05): : 38 - 40