790 likes | 805 Views
This paper investigates the effect of repair dependency in replicated data management using stochastic Petri nets. Four repairman models are explored, each with different servicing disciplines.
E N D
Analysis of Replicated Data withRepair Dependency ING-RAY CHEN AND DING-CHAU WANG Presented By Weiping He and Li-Yuan Kuan
INTRODUCTION • Pessimistic control algorithms for replicated data permit only one partition to perform update operations at any given time so as to ensure mutual exclusion of the replicated data object.
INTRODUCTION(contd) • Existing availability modelling and analyses of pessimistic control algorithms for replicated data management are constrained to either site-failure-only or link-failure-only models, but not both.
INTRODUCTION(contd) • Using stochastic Petri nets, this paper investigates the effect of repair dependency which occurs when many sites and links may have to share the same repairman due to repair constraints.
Four repairman models in the paper • (a) independent repairman with one repairman assigned to each link and each node; • (b) dependent repairman with FIFO servicing discipline; • (c) dependent repairman with linear-order servicing discipline; • (d) dependent repairman with best servicing discipline.
SYSTEM MODEL AND ASSUMPTIONS • Background • Dynamic voting uses current up to date copies at any time for deriving its dynamic quorum set. the system can dynamically adjust its quorum set in response to state changes and it results in an increase in availability.
Background (contd) • Suppose a file f is replicated to n copies, stored at sites S1, S2, ….Sn. • The essence of dynamic voting is that it must keep track of the number of up to date copies involved in the last update, and also which copies are up to date.
Background (contd) • Each copy is associated with 3 variables • version number (VN): to tell if the local copy is current • site cardinality(SC): the number of current copies that participated in the last update • distinguished site (DS): stores the ID of the highest linearly ordered site among all sites that presently store current copies.
Background (contd) • (VNi, SCi , DSi) be the set associated with the copy stored in site Si • For all Si, initial states are Vni=0, Sci =n Dsi=n. • Dsi is initialized to n because Sn is the highest linearly ordered site among all initially.
Background (contd) • Process • When updating, a site C (coordinator) requests all sites that have a copy of f to send their values of (VNi, SCi , DSi). • P : the set consisting of C and all subordinates that responded to the request; each site in P locks its copy of the data item f during the process.
Background (contd) • Site C then inspects the largest version number VNp in set P . • I : the subset containing a copy with version number VNp. • SCp , DSp : the value of SC and DS in set I
Background (contd) • site C is in the major partition if • (1) the cardinality of I is larger than one half of SCp; • (2) the cardinality of I is exactly equal to one half of SCp and set I contains site DSp. • If site C is in the major partition , it can commit the update locally.
Background (contd) • (VN, SC, DS) is set to (VNp+1, the cardinality of set P , the ID of the highest linearly ordered site found in P).
Assumptions • (1) there are n sites connected by a topology to be specified. Each site is assigned a single vote and a unique site ID, numbered 1,2 …n. where n is the total number of sites in the system. site n is the highest linearly ordered site.
Assumptions (contd) • (2) sites and links have independent failure rate λs and λl. • (3) A repairman repairs a failed site with rate μs and a failed link with rate μl . • (4) times between these events are exponentially distributed.
Independent repairman model • Site subnet • A site can be in one of four states • up and current(upcci) • up and out-of-date (upoci) • down and current (downcci) • down and out-of-date (downoci)
Independent repairman model • Suppose site i initially is in the state of up and current: • #.upcci =i, #.upoci =0, #.downcci =0 and #.downoci =0 • an update occurs and site i is not in the major partition. • upcci upoci • #.upcci = 0, #.upoci =i, #.downcci =0 and #.downoci =0
Independent repairman model • upcci upoci: • (t5i ; 3; gi ) • t5i is the name of the transition, 3 is the priority of transition current, gi is the enabling function
Independent repairman model • a transition is enabled when • (1) input places contains tokens >= the multiplicity of the input arc. • (2) enabling function returns TRUE. • the transition with the highest priority level will fire first.
Independent repairman model • When readyi =1, upcci = i, the enabling function return TRUE: • transition t5i will be fired , tokens in readyi and upcci will be removed and i tokens will be added to upoci. i is now in the state of up and out of date.
Independent repairman model • When an update arrives and a major partition exists, a token will be put into readyi. only one out of the six transitions can fire,all have the same priority level
Independent repairman model • t0i will fire if site i is in down and current. #i Downccidownoci, an update occurs and site i is in down and current, new state will be down and out of date. • Site i is down can’t attend in the update.
Independent repairman model • t1i will fire if site i is in down and out of date. • Site i remains in down and out of date..
Independent repairman model • t2i will fire if site i is in up and out of date,. • upoci upcci, new state will be up and current, • t2i’s enabling function gi returns TRUE if site i is in the major partition.
Independent repairman model • t3i will fire if site i is in up and current. • upcci upcci, new state will be up and current. • enabling function gi
Independent repairman model • t4i will fire if site i is in up and out of date, and not in the major partition • upoci upoci, new state will be up and out of date. • enabling function gi
Independent repairman model • t5i will fire if site i is in up and current, and not in the major partition. • upcci upoci, new state will be up out of date. • enabling function gi
Independent repairman model • all transitions in are immediate transitions.
System subnet • At the bottom of Figure 2, each of the boxes labeled site i is the SPN subset shown in Figure 1.
System subnet • Transitions tf and tfbar are given the highest priority levels (5 and 4). • When an update event arrives, a token will be put in place update event.
System subnet • tfis evaluated prior to tfbarsince it has the highest priority. • If a major partition exists, tfwill fire, remove the token in update_eventand place one token in all Is.
System subnet • If a major partition does not exist, tfbarwill fire, remove the token in update_event.
System subnet • The next highest priority level (i.e. 3) is assigned to each of the boxes.
System subnet • After all sites are evaluated and each site's status are updated, tdsand tscwhich have lower priority levels will execute.
System subnet • tscupdates the site cardinality. • tsc sc, multiplicity is the number of sites with mark (upcc) >0 in the major partition. • If update changes the system status, the site cardinality is stored as the number of tokens in place sc.
System subnet • tdsupdates the distinguished site. • tds ds, multiplicity is maximum #(upcc) value among all the sites in the major partition. • After update, the site ID of the new distinguished site will be stored as the number of tokens in place ds.
Site failure/repair subnets • This figure describes the effect of site i’s failure and repair on the system state, for the independent repairman model.
Site failure/repair subnets • site i can only be in one state at a time, only one transition out of these two subnets is possible at a time.
Site failure/repair subnets • failure events: • upcci downcci • tccfi λs • or upoci downoci • tocfi λs • repair events: • Downcci upcci • tccri μs • downoci upoci • Tocri μs
Site failure/repair subnets • system will update its status upon every failure or repair event. • It ensures that the system state is updated before another failure or repair event occurs.
Link failure/repair subnets • subscript ij refer to the link between i, j. • failure events: • uplinkij dwlinkij • tlinkfi λl • repair events: • dwlinkij uplinkij • tlinkri μl
FIFO repairman model • we can make use of the independent repairman model and modify the repair rates to account for repair dependencies. • repair rate now becoming a function of the total number of failed sites and links.
FIFO repairman model • If a state has two failed sites and one failed link, • independent repairman model, repair rates are μs, μsand μl, • FIFO repairman model, repair rates are μs/3, μs/3and μl/3,
FIFO repairman model • In general, if a state has M failed sites and links, then the respective repair rates of these failed entities in that state are “deflated” by a factor of M to account for the effect of repair resource sharing.
Linear-order repairman model • there is a prespecified order among failed entities.Because of selecting the distinguished site (DS), it is naturally to follow that order for repair. • a higher linearly ordered site will become a distinguished site in the event that the number of sites within the major partition is an even number. Therefore, giving a higher repair priority to a higher linearly ordered site increases the chance of finding the majority partition.
Linear-order repairman model • Example: • a state in which there are only two sites D and E left in the major partition with E being the distinguished site. Suppose sites D and E subsequently fail. Then, repairing D would not result in a major partition being found while repairing E would.
Linear-order repairman model • By making use of the independent repairman model, create a new enabling function associated with the transition of each site or link repair event as in the right table