...
首页> 外文期刊>IEEE Transactions on Software Engineering >Teapot: a domain-specific language for writing cache coherence protocols
【24h】

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

机译:茶壶:用于编写缓存一致性协议的特定于域的语言

获取原文
获取原文并翻译 | 示例
           

摘要

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.
机译:在本文中,我们描述了Teapot,这是一种用于编写缓存一致性协议的领域特定语言。当并行和分布式系统制作共享数据的本地副本以提高可伸缩性和性能时,需要考虑缓存的一致性。在分布式共享内存系统和分布式文件系统中,由于基础数据被系统上运行的程序修改,因此一致性协议可在复制副本之间保持一致。众所周知,高速缓存一致性协议很难实现,调试和维护。而且,协议不是现成的,可重用的组件,因为它们的细节取决于所考虑的系统要求。工程一致性协议的复杂性会阻止用户尝试使用可能更有效的新协议。我们已经设计并实现了Teapot,这是一种针对特定领域的语言,旨在解决这种复杂性。与典型的系统编程语言相比,Teapot的语言构造(例如以状态为中心的控制结构和延续)更适合于表达协议代码。 Teapot还有助于自动验证协议,因此在实际执行之前很难发现并修复协议死锁之类的协议错误。我们描述了Teapot的设计原理,使用两个案例研究对该语言进行了实证评估,并结合了我们在构建系统编程领域特定语言中所学到的经验教训。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号