Teapot: A domain-specific language for writing cache coherence protocols

被引:11
|
作者
Chandra, S [1 ]
Richards, B
Larus, JR
机构
[1] AT&T Bell Labs, Lucent Technol, Naperville, IL 60566 USA
[2] Vassar Coll, Dept Comp Sci, Poughkeepsie, NY 12604 USA
[3] Microsoft Corp, Res, Redmond, WA 98052 USA
基金
美国国家科学基金会;
关键词
domain-specific languages; distributed systems; cache coherence; continuations; verification;
D O I
10.1109/32.798322
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we describe Teapot, a domain-specific language for writing cache coherence protocols. Cache coherence is of concern when parallel and distributed 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. Moreover, protocols are not off-the-shelf, reusable components, because their details depend on the requirements of the system under consideration. The complexity of engineering coherence protocols can discourage users from experimenting with new, potentially more efficient protocols. We have designed and implemented Teapot, a domain-specific language that attempts to address this complexity. Teapot's language constructs, such as a state-centric control structure and continuations, are better suited to expressing protocol code than those of a typical systems programming language. Teapot also facilitates automatic verification of protocols, so hard to find protocol bugs, such as deadlocks, can be detected and fixed before encountering them on an actual execution. We describe the design rationale of Teapot, present an empirical evaluation of the language using two case studies, and relate the lessons that we learned in building a domain-specific language for systems programming.
引用
收藏
页码:317 / 333
页数:17
相关论文
共 50 条
  • [1] Teapot: Language support for writing memory coherence protocols
    Chandra, S
    Richards, B
    Larus, JR
    [J]. ACM SIGPLAN NOTICES, 1996, 31 (05) : 237 - 248
  • [2] A domain-specific language for cryptographic protocols based on streams
    Juerjens, Jan
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2009, 78 (02): : 54 - 73
  • [3] A Domain-Specific Language for Enabling Doctors to Specify Biomechanical Protocols
    Perez, Francisca
    Valderas, Pedro
    Fons, Joan
    [J]. 2013 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2013), 2013, : 99 - 102
  • [4] Experience with a language for writing coherence protocols
    Chandra, S
    Dahlin, M
    Richards, B
    Wang, RY
    Anderson, TE
    Larus, JR
    [J]. PROCEEDINGS OF THE CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES, 1997, : 51 - 65
  • [5] A Domain-Specific Language for Microservices
    Donham, Jacob
    [J]. PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON SCALA (SCALA '18), 2018, : 2 - 12
  • [6] SEPL—a domain-specific language and execution environment for protocols of stateful Web services
    Waldemar Hummer
    Philipp Leitner
    Schahram Dustdar
    [J]. Distributed and Parallel Databases, 2011, 29 : 277 - 307
  • [7] A Domain-Specific Language for Low-Level Secure Multiparty Computation Protocols
    Laud, Peeter
    Randmets, Jaak
    [J]. CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 1492 - 1503
  • [8] Writing Domain-Specific Languages for BeepBeep
    Halle, Sylvain
    Khoury, Raphael
    [J]. RUNTIME VERIFICATION (RV 2018), 2018, 11237 : 447 - 457
  • [9] A Domain-Specific Visual Language for Report Writing Using Microsoft DSL Tools
    Dantra, Ruskin
    Grundy, John
    Hosking, John
    [J]. 2009 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, PROCEEDINGS, 2009, : 15 - +
  • [10] A Domain-Specific Language for Aviation Domain Interoperability
    Comitz, Paul
    [J]. 2013 INTEGRATED COMMUNICATIONS, NAVIGATION AND SURVEILLANCE CONFERENCE (ICNS), 2013,