Abstract-Data replication technologies enable efficient and highly-available data access, thus gaining more and more interests in both the academia and the industry. However, data replication introduces the problem of data consistency. Modern commercial data replication systems often provide weak consistency for high availability under certain failure scenarios. An important weak consistency is Pipelined-RAM (PRAM) consistency. It allows different processes to hold different views of data. To determine whether a data replication system indeed provides PRAM consistency, we study the problem of Verifying PRAM Consistency over read/write traces (or VPC, for short). We first identify four variants of VPC according to a) whether there are Multiple shared variables (or one Single variable), and b) whether write operations can assign Duplicate values (or only Unique values) for each shared variable; the four variants are labeled VPC-SU, VPC-MU, VPC-SD, and VPC-MD. Second, we present a simple VPC-MU algorithm, called RW-CLOSURE. It constructs an operation graph G by iteratively adding edges according to three rules. Its time complexity is O(n 5 ), where n is the number of operations in the trace. Third, we present an improved VPC-MU algorithm, called READ-CENTRIC, with time complexity O(n 4 ). Basically it attempts to construct the operation graph G in an incremental and efficient way. Its correctness is based on that of RW-CLOSURE. Finally, we prove that VPC-SD (so is VPC-MD) is NP-complete by reducing the strongly NP-complete problem 3-PARTITION to it.
Wei et al. REF studied the complexity of verifying PRAM consistency (also called FIFO consistency) for one history.
Verifying PRAM Consistency over Read/Write Traces of Data Replicas
ArXiv
ArXiv
Computer Science