In distributed applications, Brewer's CAP theorem tells us that when networks become partitioned (P), one must give up either consistency (C) or availability (A). Consistency is agreement on the values of shared variables; availability is the ability to respond to reads and writes accessing those shared variables. Availability is a real-time property whereas consistency is a logical property. We have extended the CAP theorem to relate quantitative measures of these two properties to quantitative measures of communication and computation latency (L), obtaining a relation called the CAL theorem that is linear in a max-plus algebra. This paper shows how to use the CAL theorem in various ways to help design real-time systems. We develop a methodology for systematically trading off availability and consistency in application-specific ways and to guide the system designer when putting functionality in end devices, in edge computers, or in the cloud. We build on the Lingua Franca coordination language to provide system designers with concrete analysis and design tools to make the required tradeoffs in deployable software.
翻译:在分布式应用程序中,Brewer的CAP理论告诉我们,当网络被分割(P)时,必须放弃一致性(C)或可用性(A)。一致性是就共享变量的价值达成一致;可用性是读写访问这些共享变量的能力;可用性是一种实时属性,而一致性是一种逻辑属性。我们扩展了CREwer的理论,将这两个属性的量化计量与通信和计算延时量的定量计量(L)相联系,获得一个在最大加代数中线性的CAL理论关系。本文展示了如何以各种方式使用CAL理论来帮助设计实时系统。我们开发了一种方法,以系统化方式交换可用性和一致性,并指导系统设计者在终端设备、边缘计算机或云中安装功能。我们利用Lingua Franca协调语言为系统设计师提供具体分析和设计工具,以便在可部署软件中做出必要的权衡。