Cyclic Spring Protocol A Quorum-Based Approach For Replica Control
全文
(2) slightly increase the quorum size. This paper is organized as follows. In Section 2, we describe some quorum-based replica control protocols that have been proposed. In Section 3, we propose cyclic spring protocol. We present its definitions, algorithms and properties. In Section 4, we analyze our protocol. In Section 5, we conclude the result. 2. RELATED WORKS Consider a distributed system consisting of N distinct nodes (sites) that are linked by a communication network. Every node has its own computing capability. These nodes communicate with one another in the network by exchanging messages.. 2.3 Grid Protocol Grid protocol arranges all the nodes of an N-node system into an m×n(=N) grid structure. In this protocol, a read operation has to collect a read quorum formed by a column-cover (at least a node from each column) or a complete column of the grid. A write quorum is composed of a read quorum and a complete column of the grid. For example, a 3×4 grid with 12 nodes is shown in Figure 2.1. In this example, {1, 2, 3, 4}, {5, 10, 3, 8}, {9, 10, 7, 4} are read quorums, and {1, 2, 3, 4, 5, 9}, {3, 4, 5, 8, 10, 12}, {3, 4, 7, 9, 10, 11} are write quorums.. This section briefly introduces some replica control approaches: read-one-write-all protocol, weighted voting protocol [8, 9], grid protocol, triangular grid protocol, circle grid protocol [10], and read-write difference pair protocol.. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Figure 2.1.. a 3×4 grid structure with 12 nodes. 2.1 Read-one-write-all Protocol. 2.4 Triangular Grid Protocol. The simplest protocol for managing replicated data is read-one-write-all protocol (ROWA). In this protocol, read operations can be executed on any copy of the replicated data, but write operations is required to write all the copies of the replicated data. It provides the best reading technique but the worst writing circumstances for its users. Sites that carry copies of the replicated data may fail at any time for some reasons. These failed sites will prohibit database users from updating data since write operations are required to perform over all the copies of the replicated data.. The geometric topology shown in Figure 2.2 is denoted as a triangular grid. This protocol arranges the N-node system into a triangular grid of height h where h =. 2.2 Weighted Voting Protocol In weighted voting protocol, each copy of a replicated data object is assigned a certain number of votes. A read operation has to collect a read quorum of r votes to read a data item and a write operation has to collect a write quorum of w votes to write a data item. There are two restrictions in this protocol:. 8 N + 1 − 1 . The term height refers to the total layers 2. . of a triangular grid. A boundary-cover-tree (BCT) of a triangular grid is a tree which inside the triangular grid and contains at least one node from each boundary line of the triangular grid. A minimal BCT is a BCT, which contains just h nodes. In this protocol, all read quorums are also write quorums, and they are therefore called access quorums. The quorum size of this protocol is h, the same as the height of triangular grid structure. For example, a triangular grid with 15 nodes is shown in Figure 2.2. The set {1, 2, 4, 7, 11}, {2, 3, 5, 8, 12}, {7, 8, 9, 10, 15} are some access quorums in this protocol. 1 boundary line. (1) 2w > total number of votes.. 2. (2) r + w > total number of votes. The major achievement of this protocol is that it is fault tolerant. The system can keep working even if there are some failure sites. A copy that was failed will not be accessed in the successive transaction and will not have the largest version number. Hence, after it has recovered, it will not be read until it has been written at least once.. 3. 4 7 11. 5 8. 12. 9 13. Figure2.2.. height=5. 6 10 14. 15. a 15-node triangular grid.
(3) The advantages of triangular grid protocol are that it provides high availability, low quorum size, and uniform access quorums.. cyclically generated from A, is a subset of U, as follow: G(A) = {Qi | Qi = { q | q = ( a + i ) mod N, ∀ a ∈ A }, i ∈ U}.. 2.5 Circle Grid Protocol. [Definition 2.2] The ordered pair (R, W) is called a read-write coterie under U if and only if the following two properties hold: (1) (R, W) is a bicoterie under U; (2) W is a coterie under U.. In circle grid protocol, nodes are numbered from 0 to N-1. Let m be N . It organizes the N nodes into a logical grid in the way that a node with number x is placed at the row numbered x/m and the column numbered (x mod m). Let r be the number of rows in the logical structure, m-1, if (m-1)2+1≦N≦m(m-1) r={ m, if m(m-1)+1≦N≦m2 Read quorum R1, i , R2, i , and write quorum Wi,a are defined as follows: R1,i = {x|x=(i+j)modN, 0≦j<m }, for 0≦i <N. R2,i = {x|x=(i+jm)modN, 0≦j<r }, for 0≦i<m. Wi,a = {x|x=(i+j)modN, 0≦j<m } ∪ {x|x=(i+jm+a)mod N, j>0, (jm+a)<N }, for 0≦i<N, 0≦a<m. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 0. 1. Figure 2.3.. a 14-node circle grid. Figure 2.3 shows an example of 14 nodes. Some read quorums of this example areR1,0 = {0, 1, 2, 3}, R1,3 = {3, 4, 5, 6}, R1,12 = {12, 13, 0, 1}, R2,1 = {1, 5, 9, 13}, R2,2 = {2, 6, 10, 0}, R2,3 = {3, 7, 11, 1}, etc. Some write quorums of this example areW0,0 = {0, 1, 2, 3, 4, 8, 12}, W0,1 = {0, 1, 2, 3, 5, 9, 13}, W6,3 = {6, 7, 8, 9, 13, 3}, W9,0 = {9, 10, 11, 12, 13, 3, 7}, W11,1 = {11, 12, 13, 0, 2, 6, 10}, W13,2 = {13, 0, 1, 2, 5, 9}, 2.6 Read-write Difference Pair Protocol The read-write difference pair protocol is based on the idea of cyclic block design and cyclic difference set in combinatorial theory. Let N be the number of nodes in the system. Some definitions and a theorem are given below. [Definition 2.1] A cyclic group set G(A) under U, is. [Definition 2.3] A pair (C, D), where C = {c0, c1,…, cn-1} and D = {d0, d1,…, dp-1}, is said to be a relaxed (N, n, p)-difference pair if for every d ∈ U, there exists at least one ordered pairs (ci, dj), where ci ∈ C and dj ∈ D, such that ci - dj ≡ d ( mod N ). [Definition 2.4] The ordered pair (R, W) is called a read-write difference pair (rw-difference pair) under U if and only if both of the following properties hold: (1) (R, W) is a relaxed difference pair under U; (2) W is a relaxed difference set under U. [Theorem 2.1] The ordered pair (G(C0), G(D0)) is a read-write coterie under U if and only if the ordered pair (C0, D0) is a read-write difference pair. Let N = 15, C0 = {0, 4, 8, 12}, and D0 = {0, 1, 2, 3, 7}, then G(C0) = {{0, 4, 8, 12}, {1, 5, 9, 13}, {2, 6, 10, 14}, {3, 7, 11, 0}, {4, 8, 12, 1}, {5, 9, 13, 2}, {6, 10, 14, 3}, {7, 11, 0, 4}, {8, 12, 1, 5}, {9, 13, 2, 6}, {10, 14, 3, 7}, {11, 0, 4, 8}, {12, 1, 5, 9}, {13, 2, 6, 10}, {14, 3, 7,11}} G(D0) = {{0, 1, 2, 3, 7}, {1, 2, 3, 4, 8}, {2, 3, 4, 5, 9}, {3, 4, 5, 6, 10}, {4, 5, 6, 7, 11}, {5, 6, 7, 8, 12}, {6, 7, 8, 9, 13}, {7, 8, 9, 10, 14}, {8, 9,10, 11, 0}, {9, 10, 11, 12, 1}, {10, 11, 12, 13, 2}, {11, 12, 13, 14, 3}, {12, 13, 14, 0, 4}, {13, 14, 0, 1, 5}, {14, 0, 1, 2, 6}} The elements of G(C0) are read quorums and the elements of the G(D0) are write quorums. This protocol is symmetric and it is applicable to arbitrary number of nodes. 3. CYCLIC SPRING PROTOCOL In this section, we propose a new protocol to get read and write quorum. This approach is originated from the circle grid protocol. In our protocol, the leading sub-sequence of an m-comet sequence is variable. It means that m, the number of consecutive nodes, is a variable. Therefore, the size of access quorum is not necessary the same. It is flexibility, like a spring. In this section, we give the definitions, present an algorithm to get access quorums, and prove its correctness. 3.1 Definitions This approach is based on a circular numbering system. A.
(4) distributed system with N nodes is organized as a logical circle, denoted by N-ring. Every node in the system is assigned a distinct number from 1 to N and is arranged by its number sequentially. The term node is used to refer to the physical copy of replicated data in a distributed system. Some sequences of particular patterns are employed as read. The sequence {1, 2, 3, 4, 8} in Figure 3.1 is a 4-train sequence.. 1 12. 2. 11. [Definition 3.6] The size of a m-train (any arbitrary m) sequence C = {v1,v2,…,vn} is denoted by size(C), where size(C)= 1+dis(v1, vn ). 3. 10. 4 9. 5 8. 6 7. and/or write quorums. The N-ring system with 12 nodes is shown in Figure 3.1. Figure 3.1.. [Definition 3.5] A circularly ascending sequence C = {v1, v2,…, vm, vm+1,…, vn} in an N-ring is said to be an m-train sequence if {v1,v2,…, vm} is a 1-jump sequence and {vm, vm+1,…, vn}is an m-jump sequence. {v1,v2,…,vm } is called the leading sub-sequence, and {vm, vm+1,…, vn} is called the trailing sub-sequence of C.. a 12-ring system.. [Definition 3.1] The distance of an ordered pair of nodes vi, vj in an N -ring is denoted by dis(vi, vj), where vj – vi , if vi≦vj. The size of 4-train sequence C = {1, 2, 3, 4, 8} in Figure 3.1 is size(C) = 1 + dis(1, 8) = 8. [Definition 3.7] An interval [vi, vj] in an N-ring is a set of nodes defined as the following: {u | vi≦u≦ vj}, for vi≦vj [vi, vj] = { {u | u≦vj or u≧vi }, for vi>vj In Figure 3.1, interval [1, 5] = {1, 2, 3, 4, 5}, and interval [10, 4] = {10, 11, 12, 1, 2, 3, 4}. [Definition 3.8] A pair of m-train sequences C1 = {u1, u2,…, un}, C2 = {v1, v2,…, vp} are said to be scope overlapping if at least one node of C1 is in the interval [v1, vp]. In Figure 3.1, the pair of 4-train sequence C1 = {1, 2, 3, 4, 6, 8} and C2 = {7, 8, 9, 10, 2} are scope overlapping .. dis(vi, vj) = { vj + N – vi , if vI>vj. In Figure 3.1, the distance of an ordered pair of nodes 1, 6 is denoted by dis(1, 6) = 5. The distance of another ordered pair of nodes 9, 4 is denoted by dis(9, 4) = 7. [Definition 3.2] An ordered set of nodes S = {v1, v2,…, vn} in an N-ring is said to be a circularly ascending sequence if for any two adjacent nodes of S, either vi < vi+1 or vi and vi+1 are the largest and the smallest ones in S, respectively. The sequence {8, 12, 1, 4} in Figure 3.1 is a circularly ascending sequence, but the sequence {1, 4, 8, 11, 2} is not. [Definition 3.3] A circularly ascending sequence S = {v1, v2,…, vn} in an N-ring is said to be an m-jump sequence (m ≧1) if for any pair of adjacent nodes vi, vi+1 of S, dis(vi, vi+1 )≦m.. [Definition 3.9] A write quorum W is the union of an arbitrary number of m-train sequences C1, C2 ,…, and Cn and satisfies that size(Ci ) ≥ N + 1 . A read quorum R 2 i is an m-jump circle or a write quorum.. ∑. [Definition 3.10] An m-comet sequence C = {v1, v2, …, vn} is said to be an m-comet circle if dis(vn, v1 )≦m. 1 12 11. The sequence {1, 4, 7, 10} in Figure 3.1 is a 3-jump circle.. 3. 10. 4 9. The sequence {1, 4, 6, 7} in Figure 3.1 is a 3-jump sequence. [Definition 3.4] An m-jump sequence S = {v1,v2,…,vn} is said to be an m-jump circle if dis(vn, v1 )≦m .. 2. 5 8. 6 7. Figure 3.2.. a 12-ring system..
(5) For example, in Figure 3.2, the sequence {1, 2, 3, 4, 8, 11} is a 4-comet circle. [Definition 3.11] An access quorum is defined as an m-comet circle and it is employed as read or write quorum.. 23. 24. 1. 2 3. 22. 4. 21. 3.2 Algorithms In this section, we present an algorithm to get access quorums that are employed as read or write quorums. This protocol is shown in algorithm 3.1. Get_access_quorum (N): find an m-comet circle to be access quorum where m is not a pre-defined number. [Algorithm 3.1] Find an access quorum. Get_access_quorum (N){. 5. 20. 6. 19. 7. 18. 8. 17. 9 16. 10 15. In an N-rig, find the longest 1-jump sequence with p consecutive nodes where p≦(N+1)/2;. 14. 13. 12. 11. Find the pair of adjacent nodes vi, vj with the largest distance dis(vi, vj) and let max_dis = dis(vi, vj) ; If (p≧max_dis) { If (max_dis>. Figure 3.3.. Return(C);. /* C is the access quorum */. } else if (p≧ Let m = Return(C);. {9, 10, 11, 18, 21, 23, 24}.. N ){. Let m = max_dis and find an m-comet circle C;. N ){ N and find an m-comet circle C;. a24-ring system with failure nodes. [Example 3.2] In Figure 3.4, the failure nodes {10, 11, 12, 13, 14, 15, 24} are marked black. We know that the max_dis = 7 and p = 9. That is, the maximal number of consecutive failure nodes is 6 and the maximal number of consecutive active nodes is 9. Since p≧max_dis and p> N = 5. Therefore, let m = 5, we can obtain the access quorum C = {1, 2, 3, 4, 5, 8, 13, 17, 22}.. /* C is the access quorum */. }. 23. else {. } else there is no proper access quorum; } [Example 3.1] Consider the 24-ring system shown in Figure 3.3. Let m = 5. The failure nodes {9, 10, 11, 18, 21, 23, 24} are marked black. We know that the max_dis = 4 and p = 8. That is, the maximal number of consecutive failure nodes is 3 and the maximal number of consecutive active nodes is 8. Since p≧max_dis and p ≧ N = 5. Therefore, let m = 5, we can obtain the access quorum C = {1, 2, 3, 4, 5, 8, 13, 17, 22}.. 2 3 4. 21. /* C is the access quorum */. }. 1. 22. Let m = p and find an m-comet circle C; Return(C);. 24. 5. 20. 6. 19. 7. 18. 8. 17. 9 16. 10 15 14. Figure 3.4.. 13. 12. 11. a 24-ring system with failure nodes {10, 11, 12, 13, 14, 15, 24}..
(6) 3.3 Proof of Correctness. 4.2 Quorum Size. In the following, we prove the intersection between two access quorums. It is used to prove the data consistency.. In this section, we analyze the size of the access quorums. The size of quorums in these protocols is depended on the value of m. The m is the number of leading sub-sequence in an m-comet sequence or in an m-comet circle on the N-ring system. In Section 3, the m is variable and it is depended on the longest distance between two adjacent nodes.. [Theorem 3.1] In circular spring protocol, any two access quorums intersect. Proof: Let C1={u1, u2,…, up}, C2={v1, v2,…, vq} be any two access quorums.The C1 is an m-comet circle and C2 is an n-comet circle. (1) If m≧n Since dis(vi, vj)≦n, where vi, vj be any two adjacent nodes in C2. Therefore, vi is at most n-1 nodes apart from vj in C2.We know that u1, u2,…, um in C1 are m consecutive nodes. We can conclude that vj= uk, 1≦k ≦m or vi= uk, 1≦k≦m. i.e. C1 intersects C2. (2) If m<n This can be easily proved the other way around.. ∴In circular spring protocol, any pair of access quorums intersect.. In circular spring protocol, in the best case, the minimal access quorum size is equal to N + 1 + m – 1 for a given m. m. However, the m is variable, depended on the longest distance between two adjacent nodes. In the worst case, the maximal size of access quorum is equal to N + 1 . That is, 2 the lower bound for the size of the access quorum generated with a given m is equal to N + 1 + m – 1. The upper m. bound for the size of the access quorum is equal to N + 1 . 2 In the worst case, the maximal sizes of read quorum or write quorum may be larger than most quorum-based techniques. However, in that situation, most protocols may not find out any one quorum. That is, the system does not work properly.. 4. PERFORMANCE ANALYSIS In this section, we first show that the proposed protocol is symmetric. We then analyze the access quorum sizes and the availability of this protocol. We also compare this protocol with some well-known quorum-based protocols. 4.1 Symmetric Property A replica control protocol is said to be symmetric or fully distributed if every node in the system bears the same responsibility. Quorum-based protocols impose various logical structures in order to reduce their sizes of quorums. However, most of the protocols have unbalanced load sharing. The proposed approach is based on the N-ring system. We arrange nodes into a logical circle and number them from 1 to N sequentially, where N is the number of nodes of the given system. Since circle is a symmetric structure, all nodes in a circle are identical except their identifiers, the assigned numbers. In other words, numbers assigned to these nodes are for identifying purpose only. Therefore, every node in an N-ring is included in the same number of quorums, and this approach is symmetric. Our protocol is applied to arbitrary number of nodes. The nodes are arranged into an N-ring system, no matter what number the N is.. 4.3 Availability In this section, we analyze the availability of our presented protocol in Section 3. Assume that each node is available with identical probability p and the state of each node is independent and will not change when an operation is in progress. The availability of a replica control protocol is defined to be the probability that at least one quorum can be constructed. In Section 3, we proposed circular spring protocol. Here, we analyze its availability and compare with circle grid protocol. In an N nodes system, Circle grid protocol defined two type of read quorum. In the circle structure, the read quorum is that each node is less than m nodes apart from another one. The write quorum is that consists of m consecutive nodes and followed nodes such that each node is less than m nodes apart from another one. The m is equal to N and is fixed. The write and read quorum in circular spring protocol is defined as access quorum. The access quorum is an m-jump circle and m is variable. The read quorum and write quorum in circle grid is included in m-comet circle. Therefore, the availability of our protocol is better than circle grid protocol. Finally, we analyze the availability of circular spring.
(7) protocol. We calculate the availability by simulating the conditions where all nodes are with the same probability of their existence. Let the probability that a node is available for service be p. Assume that the possibility is uniform among the nodes of this system. The availabilities of circular spring protocol calculated from this simulation are shown in Table 4.1 for the cases that the probabilities of each node to be available are p = 0.95 and p = 0.9. According to the result, this approach shows satisfactory performance. Moreover, a system in this protocol becomes more reliable as we add more nodes into it.. Table 4.1. The availability of a system the probability of a available node is Number of nodes p = 0.95 p = 0.9 4 0.99046 0.96398 5 0.99182 0.97072 6 0.99828 0.96990 7 0.99834 0.99004 8 0.99944 0.99394 9 0.99978 0.99610 10 0.99984 0.99732 11 0.99990 0.99814 12 0.99994 0.99878 13 0.99998 0.99916 14 1.00000 0.99930 15 1.00000 0.99958 16 0.99998 0.99960 17 0.99996 0.99974 18 1.00000 0.99968 19 1.00000 0.99976 20 1.00000 0.99988 21 1.00000 0.99996 22 1.00000 0.99990 23 1.00000 0.99994 24 1.00000 0.99996 25 1.00000 0.99998 26 1.00000 0.99998 27 1.00000 0.99998 28 1.00000 1.00000 5. CONCLUSIONS In this paper, we proposed a new quorum-based approach, cyclic spring protocol, for replica control. In cyclic spring protocol, multiple copies of replicated data are organized into a logical circle structure, N-ring. This protocol has some advantages: (1) It is applicable to systems with any arbitrary numbers of nodes. (2) Every node in the system. bears the same responsibility to read and write operations. In other words, it is symmetric and load balanced. (3) The availability of cyclic spring protocol is better than that of most quorum-based protocols. 6. REFERENCES [1] D. Agrawal and A. EI Abbadi, “The Tree Quorum Protocol: An efficient approach for managing replicated data”, in Proc. of Very Large Database Conf., pp. 243~254, 1990. [2] D. Agrawal and A. EI Abbadi, “The Generalized Tree Quorum Protocol: An efficient approach for managing replicated data”, ACM Trans. Database syst.17(4), pp. 689~717, 1992. [3] S.Y. Cheung, M.H. Ammar, and M. Ahamad, “The Grid protocol: a high performance scheme for maintaining replicated data,” in Proceedings of the IEEE 6th Int. Conf. on Data Engineering, pp. 438~445, 1990. [4] A. Kumar, M. Robinovich, and R. Sinha, “A Performance Study of a New Grid protocol and General Grid Structures for Replicated Data,” Tech. Report 93-03-02, Department of Computer Science and Engineering, University of Washington, March 1993. [5] C. Wu and G. G. Belford, “The Triangular Lattice Protocol: A Highly Fault Tolerant and Highly Efficient Protocol for Replicated Data”, in IEEE 11th Proc. Symp. On Reliable Distributed System, pp. 66~73, 1992. [6] Cheng-Hong Cho and Jer-Tsang Wang, “Triangular Grid protocol: An Efficient Scheme for Replica Control with Uniform Access Quorums,” Theoretical Computer Science, 196, pp. 259~288, Aug. 1998. [7] Ching-Ming Lin, Ge-Ming Chiu, and Cheng-Hong Cho, “An Efficient Quorum-Based Scheme for Managing Replicated Data in Distributed Systems”, in Int’l Conf. on Parallel Processing, pp.328~335, 1999. [8] R.H. Thomas, “A Majority Consensus Approach to Concurrency Control for Multiple Copy Database”. ACM Transactions on Database System, 4(2): 180~209, Jun. 1979. [9] D.K. Gifford, “Weighted voting for replicated data,” in Proc. of the 7th ACM Symposium on Operating System Principles, pp. 150~159, 1979. [10] Y. T. Wu, Y. J. Chang, S. H. Yuan, and H. K. Chang, “A New Quorum-Based Replica Control Protocol,” in Proceedings. Pacific Rim International Symposium on Fault-tolerant System, pp. 116~121, Dec. 1997..
(8)
數據
相關文件
z The caller sent signaling information over TCP to an online Skype node which forwarded it to callee over TCP. z The online node also routed voice packets from caller to callee
Depending on the specified transfer protocol and data format, this action may return the InstanceID of an AVTransport service that the Control Point can use to control the flow of
(A) IP (Internet Protocol) (B) ICMP (Internet Control Message Protocol) (C) ARP (Address Resolution Protocol) (D)SNMP (Simple Network Management Protocol)
Have shown results in 1 , 2 & 3 D to demonstrate feasibility of method for inviscid compressible flow problems. Department of Applied Mathematics, Ta-Tung University, April 23,
常見之 IGP:Interior Gateway Routing Protocol (IGRP)、Open Shortest Path First (OSPF)、Routing Information..
(A) NAT (Network Address Translation) (B) DHCP (Dynamic Host Configuration Protocol) (C) DNS (Domain Name Server) (D) ARP (Address Resolution
3 active learning: limited protocol (unlabeled data) + requested
3 active learning: limited protocol (unlabeled data) + requested