Atomicity or strong consistency is one of the fundamental, most intuitive, and hardest to provide primitives in distributed shared memory emulations. To ensure survivability, scalability, and availability of a storage service in the presence of failures, traditional approaches for atomic memory emulation, in message passing environments, replicate the objects across multiple servers. Compared to replication based algorithms, erasure code-based atomic memory algorithms has much lower storage and communication costs, but usually, they are harder to design. The difficulty of designing atomic memory algorithms further grows, when the set of servers may be changed to ensure survivability of the service over software and hardware upgrades, while avoiding service interruptions. Atomic memory algorithms for performing server reconfiguration, in the replicated systems, are very few, complex, and are still part of an active area of research; reconfigurations of erasure-code based algorithms are non-existent. In this work, we present ARES, an algorithmic framework that allows reconfiguration of the underlying servers, and is particularly suitable for erasure-code based algorithms emulating atomic objects. ARES introduces new configurations while keeping the service available. To use with ARES we also propose a new, and to our knowledge, the first two-round erasure code based algorithm TREAS, for emulating multi-writer, multi-reader (MWMR) atomic objects in asynchronous, message-passing environments, with near-optimal communication and storage costs. Our algorithms can tolerate crash failures of any client and some fraction of servers, and yet, guarantee safety and liveness property. Moreover, by bringing together the advantages of ARES and TREAS, we propose an optimized algorithm where new configurations can be installed without the objects values passing through the reconfiguration clients.
翻译:原子原子或强烈的一致性是基础性、最直观和最难在分布式共享记忆模拟器中提供原始的原始数据之一。 为了在出现故障的情况下确保存储服务的耐受性、可扩缩性和可用性,在信息传递环境中,原子内存模拟的传统方法在信息传递环境中复制多个服务器的物体。 与基于复制的算法相比,删除基于代码的原子内存算法的存储和通信成本要低得多,但通常更难设计。 设计原子内存算法的难度会进一步加大, 当服务器的组合可能被改变以确保服务在软件和硬件升级上能够生存,同时避免服务中断。 在复制的系统中,用于进行服务器重组的原子内存服务的传统方法非常少、复杂,并且仍然是一个活跃的研究领域的一部分; 与基于删除代码的算法相比, 我们介绍ARES, 一个允许基础服务器重组的算法框架, 特别适合基于加密算法的算法, 并且我们用来模拟原子物体的代谢性算法。 ARES 引入新的配置配置, 并且用新的客户机机机机机机的系统提供新的序列,同时提供新的服务。