Reducing Stable Storage Writes Clause Samples

Reducing Stable Storage Writes. We have assumed so far that processes keep their ▇▇▇▇- ▇▇▇▇▇ in stable storage to allow recovery from crashes. Be- cause it may have access times orders of magnitude higher than volatile memory, it is very important to reduce its us- age. We show now how we do so in our protocol. ( ) Assumption 3 imposes no restriction between coordina- tor quorums of different rounds. If it is always possible to start new rounds with any set of coordinator quorums, co- ordinators are not required to store their variables on stable storage. (Recovering coordinators assumes a new identity.) Defining coordinator quorums per round is explained next. Round numbers can be constructed as a record of the form Count, Id, RType, S , where Count is a natural number, Id is a coordinator’s unique identifier, RType is a natural number, and S is a set of coordinator quorums. Counter Count always allows the creation of a new higher- numbered round, Id identifies the coordinator that created the round, RType tells the round type (fast if 0, classic or multicoordinated otherwise), and S identifies all valid coor- dinator quorums for this round. A round is uniquely iden- tified by the first three fields, and the total order relation is given by comparing them lexicographically. ▇▇▇▇▇ S is merely informative and is not taken into consideration when comparing two rounds. Using this approach, when the cur- rent leader wants to start a new round, it can simply define the four fields according to its current knowledge. Since Assumption 2 requires that quorums of different rounds intersect, acceptors cannot lose their state after a crash and assume a different identity upon recovery. This happens because the values accepted by acceptors cannot be forgotten, or the algorithm’s safety would be compro- mised. Therefore, these values must always be stored in stable storage, incurring a disk write (or equivalent opera- tion) whenever an acceptor executes a Phase2b action. As a result, acceptors are not as easily replaceable as coordina- tors and more complex strategies must be used [11, 16]. Action Phase1b also changes the internal state of an ac- ceptor and, at a first sight, this seems to imply that Phase1b must also write on stable storage. However, an accep- tor a may store rnd [a] only in volatile memory as long as, after recovering from a crash, it manages to initialize rnd [a] with a higher value than the previous one. This is done as follows: Field Count described previously in this section ca...