{"title":"简短公告:部分复制因果一致共享内存","authors":"Zhuolun Xiang, N. Vaidya","doi":"10.1145/3212734.3212790","DOIUrl":null,"url":null,"abstract":"Distributed shared memory systems maintain multiple replicas of the shared memory registers. Maintaining causal consistency in such systems has received significant attention in the past. However, much of the previous literature focuses on \\em full replication wherein each replica stores a copy of all the registers in the shared memory. In this paper, we investigate causal consistency in partially replicated systems, wherein each replica may store only a subset of the shared data. To achieve causal consistency, it is necessary to ensure that, before an update is performed at any given replica, all causally preceding updates must also be performed. Achieving this goal requires some mechanism to track causal dependencies. In the context of full replication, this goal is often achieved using vector timestamps, with the number of vector elements being equal to the number of replicas. Building on the past work, this paper makes two key contributions: For a family of algorithms for maintaining causal consistency, we present necessary conditions on the metadata (which we refer as a \\em timestamp ) that must be maintained by each replica. We present an algorithm for achieving causal consistency using a timestamp that matches one of the necessary conditions referred above, thus showing that the condition is necessary and sufficient both.","PeriodicalId":198284,"journal":{"name":"Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Brief Announcement: Partially Replicated Causally Consistent Shared Memory\",\"authors\":\"Zhuolun Xiang, N. Vaidya\",\"doi\":\"10.1145/3212734.3212790\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Distributed shared memory systems maintain multiple replicas of the shared memory registers. Maintaining causal consistency in such systems has received significant attention in the past. However, much of the previous literature focuses on \\\\em full replication wherein each replica stores a copy of all the registers in the shared memory. In this paper, we investigate causal consistency in partially replicated systems, wherein each replica may store only a subset of the shared data. To achieve causal consistency, it is necessary to ensure that, before an update is performed at any given replica, all causally preceding updates must also be performed. Achieving this goal requires some mechanism to track causal dependencies. In the context of full replication, this goal is often achieved using vector timestamps, with the number of vector elements being equal to the number of replicas. Building on the past work, this paper makes two key contributions: For a family of algorithms for maintaining causal consistency, we present necessary conditions on the metadata (which we refer as a \\\\em timestamp ) that must be maintained by each replica. We present an algorithm for achieving causal consistency using a timestamp that matches one of the necessary conditions referred above, thus showing that the condition is necessary and sufficient both.\",\"PeriodicalId\":198284,\"journal\":{\"name\":\"Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-07-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3212734.3212790\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3212734.3212790","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Distributed shared memory systems maintain multiple replicas of the shared memory registers. Maintaining causal consistency in such systems has received significant attention in the past. However, much of the previous literature focuses on \em full replication wherein each replica stores a copy of all the registers in the shared memory. In this paper, we investigate causal consistency in partially replicated systems, wherein each replica may store only a subset of the shared data. To achieve causal consistency, it is necessary to ensure that, before an update is performed at any given replica, all causally preceding updates must also be performed. Achieving this goal requires some mechanism to track causal dependencies. In the context of full replication, this goal is often achieved using vector timestamps, with the number of vector elements being equal to the number of replicas. Building on the past work, this paper makes two key contributions: For a family of algorithms for maintaining causal consistency, we present necessary conditions on the metadata (which we refer as a \em timestamp ) that must be maintained by each replica. We present an algorithm for achieving causal consistency using a timestamp that matches one of the necessary conditions referred above, thus showing that the condition is necessary and sufficient both.