面向分布式细粒度一致性模型的编程语言设计与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:aridan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
数据备份系统是互联网服务的基本组成单元之一,是提供高可用服务的重要保障。随着服务规模的不断扩大,为了能够快速响应不同地区用户的请求,许多互联网服务提供商将数据副本放置到靠近用户的数据中心。然而,在跨地域的数据中心之间进行备份强同步会造成用户请求时延的陡然上升。为解决这一冲突,近年来,一些弱一致性模型相继被提出并被使用在上述场景中。虽然弱一致性模型具有性能优势,但却不能时刻保证上层应用的正确性。因此,结合真实场景中应用的客观需求,研究人员们开始关注混合一致性模型的研究和应用。混合一致性模型可以允许互联网服务的设计者在一致性、系统性能、服务正确性等方面做出权衡,同时也为设计者们带来了编程的负担和挑战。这是因为较弱的一致性模型提供的语义与强一致性的语义不同,编程人员需要确保在强同步缺省的情况下,服务并行执行仍然能够满足应用的语义需求(例如满足状态收敛性或满足特定不变量)。为了解决以上问题,首先,本文提出了一个细粒度一致性模型和相应的编程语言,并给出了相应的操作语义。新的语言兼顾了实用性和表达能力,可使编程人员表达出其想要的一致性语义,从而避免(1)因为遗漏重要的一致性约束而导致的错误;和(2)由于引人不必要的一致性约束所产生的程序效率损失。其次,本文给出了细粒度一致性模型的相关性质,便于编程人员对其有更深刻的理解。而后,本文给出用于验证程序满足收敛性和特定不变量的程序逻辑,并给出了程序逻辑的可靠性证明。相关证明的关键引理已在定理证明工具Coq中实现,共计约3100行。最后,本文给出了基于上述一致性模型和语言的分布式备份系统设计和实现。系统使用Java语言实现,共计约5300行代码。除此之外,为保证系统正确性,我们使用了 TLA+模型检查工具对其进行了死锁和活性检查,共计约1500行代码。最后,我们利用该语言实现3个应用程序,并在不同工作负载下进行对比实验。实验结果表明了语言的通用性和系统的可扩展性。
其他文献
香农的多天线系统遍历容量在先前的研究中得到了广泛的分析,然而,对于下一代无线网络,它并不能解释一些新兴的实时应用的服务质量(Quality of Service,QoS)需求。例如,移动视
随着信息技术的不断发展,用于识别或身份验证的生物特征识别系统被广泛应用,这些系统有着不容易丢失或遗忘等优点,并且还能提供良好的识别准确性。然而,基于生物特征的身份识
弹性光网络(Elastic Optical Network,EON)采用正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术,具有灵活的频谱分配方式和支持多速率传输等诸多优点,被
由于儿童的大脑发育不完全,麻醉药物引起的神经振荡变化与成人不同,所以面向成人的麻醉深度算法与监测仪器无法应用于儿童的全麻手术监测。对不同年龄患者在全麻手术中的脑电
蓄电池在工业运输、5G通信、电动汽车等领域应用广泛,但随着行业技术的突破性进展,各领域对其提出了更加多样化的要求。电池荷电状态(state of charge,SOC)是电池使用状态的
随着语音信号处理技术的日益完善,藏语语音识别、合成技术取得了长足地进步,这对藏语使用者来说受益匪浅。近年来,随着藏区经济不断发展和地区间的文化交流不断深入,藏族人对
三元硫属化合物半导体材料由于其具有高效、可调的电与热输运性质、高元素丰度和低毒性等优点,在基础研究和实际应用领域扮演着非常重要的角色。寻找一种操作简单、高效率的
进入21世纪,逐渐枯竭的陆地资源难以满足世界经济的发展需求,丰富的海洋资源受到了各国的重视。水下通信是实现海洋资源开发的先决条件。然而在水下通信环境中,陆地通信中常
为深入研究围棋运动的技战术运用、影响围棋对局胜负的主要因素以及围棋运动员技战术水平方面有待提升等相关内容,本文以柯洁在2018年中国围棋甲级联赛中的技战术特点为研究
人体中的微血管通常指的是小动脉与小静脉连接处的毛细血管,其中常说的微循环指的是人体微血管中的血液流动,主要功能是完成人体各个器官与组织所需的物质交换。微循环可以反