You are on page 1of 19

Nhm dch h phn tn Lp MTT- K50- DHBKHN

Mc Lc

Mc Lc................................................................................................................1 Chapter 8: Fault Tolerance...................................................................................2 8.1 Introduction to Fault Tolerance..................................................................2 8.1.1 Basic Concepts....................................................................................2 8.1.2. Fault Models.......................................................................................3 8.1.3 Failure Masking by Redundancy.........................................................5 8.2 Process Resilience......................................................................................6 8.2.1 Design Issues.......................................................................................6 8.2.2 Failure Masking and Replication.........................................................8 8.2.3 Agreement in Fauty Systems...............................................................8 8.2.4 Failure Detection.................................................................................9

Page | 1

Nhm dch h phn tn Lp MTT- K50- DHBKHN

Chapter 8: Fault Tolerance. 8.1 Introduction to Fault Tolerance. 8.1.1 Basic Concepts. Mt h thng c kh nng chu li l mt h thng m bo c nhng yu cu sau: Tnh sn sng Tnh tin cy Tnh an ton Kh nng duy tr (maintainability).

Tnh sn sng ngha l h thng c th s dng ngay lp tc. Ni chung iu ny th hin kh nng h thng hot ng chnh xc trong bt k thi im no v sn sng thc hin chc nng ca n. Tnh tin cy ngha l h thng c th chy lin tc m khng pht sinh li. Khc vi tnh sn sng, mt h thng tin cy cao l mt h thng c th hot ng lin tc m khng c bt k mt s gin on no trong mt khong thi gian di. y l mt s khc bit kh nhn ra nhng rt quan trng khi em so snh vi tnh sn sng. Nu mt h thng trng thi down 1 milisecond mi gi, tnh sn sng ca n t n 99.9999 phn trm nhng vn l mt h thng khng tin cy. Ngc li mt h thng khng bao gi v nhng lun lun trng thi down trong 2 tun ca thng 8 l mt h thng tin cy cao nhng li ch t c 96% sn sng. Tnh tin cy v tnh sn sng khng ging nhau. Tnh an ton th hin ch khi h thng tm thi b li, khng c thit hi nghim trng no xy ra. Chng hn nhiu h thng iu khin tin trnh nh h thng dng iu khin nh my ht nhn hay a con ngi vo v tr yu cu an ton cao. Nu h thng iu khin ch b li trong mt khong thi gian rt ngn, hu qu c th rt thm khc. Nhiu v d trong qu kh chng t rt kh xy dng mt h thng an ton. Cui cng, tnh duy tr th hin ch mt h thng li c th c sa mt cch d dng. Mt h thng c tnh duy tr cao s c tnh sn sng cao, c bit l nu li c th c pht hin v sa cha mt cch t ng. Tuy nhin nh chng ta s thy sau trong chng ny, vic t ng phc hi li l rt kh Thng thng mt h thng ng tin cy cn i hi phi cung cp c an ninh an ton cao, c bit khi n i n vn nh tnh ton vn. Chng ta s tho lun v s an ninh, an ton trong chng tip theo. Mt h thng b coi l li khi n khng th thc hin c nhng chc nng thng thng ca n. C th nu mt h phn tn c thit k cung cp mt s nhng dch v, h thng li khi n khng th cung cp c mt trong nhng dch v R rng vic tm ra nguyn nhn gy li l rt quan trng. Chng hn mt mi trng truyn khng tt c th d dng nh hng n. Trong trng hp ny, xa b li l kh d Page | 2

Nhm dch h phn tn Lp MTT- K50- DHBKHN dng. Tuy nhin li do truyn c th b gy ra bi iu kin thi tit xu (v d trong mng wireless). Thay i thi tit ngn chn li l mt gii php khng kh thi. Vic xy dng mt h thng c th tin cy c lin quan cht ch n vic x l li. Vi chng ta, iu quan trng nht l tnh chu li, ngha l h thng c th cung cp cc dch v trong khi vn tn ti li. Ni cch khc, h thng c th chu li v tip tc hot ng mt cch bnh thng. Li thng c chia thnh 3 loi: nht thi, lin tip hoc lu di. Li nht thi ch xut hin mt ln ri bin mt. Nu qu trnh hot ng lp li, li khng xut hin na. Li lin tip l tnh trng hot ng khng n nh, li lp i lp li nhiu ln. Li lin tip l nguyn nhn ca nhng hu qu nghim trng v kh tm c nguyn nhn. Li lu di l li ch c khc phc khi thnh phn gy li c thay th, v d nh chy n chip, li phn mm, li a.... 8.1.2. Fault Models. Mt h thng li l khi n khng cung cp u cc dch v nh n c thit k. Nu coi mt h phn tn l mt tp cc server giao tip vi nhau v vi cc client ca n, th khng cung cp y cc dch v ngha l cc server, cc knh truyn thng, hoc c 2 khng thc hin ng nhim v ca n. Tuy nhin mt server hot ng sai chc nng cha chc l nguyn nhn gy ra li m chng ta ang mc phi. Nu mt server ph thuc vo cc server khc cung cp y cc dch v ca n, nguyn nhn ca li c th cn phi c tm kim nhng ni khc na ngoi server , mc d server b li. Mi quan h ph thuc xut hin rt thng xuyn trong h phn tn. Mt a cng b li c th nh hng n mt file server c thit k cung cp h thng file c tnh sn sng cao. Nu mt file server nh vy l mt phn ca mt h c s d liu phn tn, s hot ng chnh xc ca h ton b h c s d liu c th b e da v ch mt phn d liu l c th truy cp c. hiu r hn thc t mt li l nghim trng n mc no, ngi ta a ra mt vi cch phn loi. Mt trong s c ch ra trong hnh 8-1 nh sau:

Page | 3

Nhm dch h phn tn Lp MTT- K50- DHBKHN Crash failure xy ra khi mt server ngng hot ng sm hn mong i, nhng vn lm vic chnh xc cho n khi n dng. Mt v d in hnh ca trng hp ny l khi h iu hnh gp phi mt li nghim trng, v ch c mt gii php duy nht l khi ng li n. Nhiu h thng my tnh c nhn gp phi crash failure thng xuyn n ni mi ngi phi cho rng l chuyn bnh thng. l l do ngi ta chuyn phm reset ca my tnh c nhn t mt sau ra mt trc ca cy my tnh. C l mt ngy no n s c chuyn li ra pha sau, hoc thm ch b loi b hon ton. Omission failure xy ra khi server khng c kh nng phn hi hoc nhn cc yu cu. Trong trng hp li nhn cc yu cu, c kh nng server khng bao gi nhn c yu cu ngay trong ln u tin. Ch rng c th kt ni gia client v server c th c to ra nhng khng c lung no lng nghe cc request n. Hn na li nhn cc yu cu ni chung s khng nh hng n trng thi ca server v server ch khng nhn bit c rng c thng ip gi cho n. Tng t nh vy, li gi cc bn tin xy ra khi server hon thnh cng vic ca n, nhng v mt l do no m khng th gi c phn hi. Nhng li nh vy c th xy ra, chng hn khi gi buffer overflows trong khi server khng c chun b cho tnh hung . Ch rng ngc vi li nhn yu cu, server hin ti c th trng thi ch ra rng n thc hin xong mt dch v cho mt client. Do nu vic phn hi cc yu cu khng c hon tt, client phi gi li cc yu cu ca n. Mt loi omission failure khc khng lin quan n kt ni c th gy ra bi cc li phn mm nh vng lp v tn hoc qun l b nh khng hp l dn n server b treo. Mt loi li khc l timing failure. Timing failure xy ra khi bn tin phn hi c gi i trong mt khong thi gian khng thch hp. Nh chng ta bit trong chng 4, gi d liu qu sm c th d dng gy ra rc ri cho pha nhn nu my nhn khng khng gian b nh m lu gi tt c cc d liu n. Tuy nhin thc t thng xy ra trng hp server phn hi qu chm dn n gim hiu nng ca h thng. Mt loi li nghim trng na l li respond failure, ngha l cc bn tin phn hi ca server khng thch hp. C 2 loi li phn hi c th xy ra l value failure v state transition failure. Value failure l khi server cung cp cc phn hi sai cho mt yu cu no . Chng hn mt serach engine a ra kt qu tm kim cc trang web khng lin quan g ti cc t kha tm kim. State transition failure xy ra nu khng c tiu chun no c a ra iu khin cc bn tin. C th l trong trng hp mt server li c th c nhng quyt nh mc nh khng hp l. Li nghim trng nht l arbitrary failure, cn c bit n nh l Byzantine failure. Li ny c th xy ra khi server to ra nhng output m khi bnh thng n khng bao gi to ra, sau kt hp vi nhng server khc ti ra nhng cu tr li sai. Arbitrary failure c quan h cht ch vi crash failure. Crash failure cn c gi l fail-stop failure, n l loi li t gy thit hi nht khi server ngng hot ng. Trong thc t, fail-stop failure server s ngng to ra nhng output nh m cc tin trnh khc c th nhn thy c s ngng hot ng ca n. Trong trng hp tt nht, server c th thng bo rng n sp ngng hot ng. D nhin trong thc t, nhng server ngng hot ng do omission failure v crash failure s khng bo trc rng n chun b ngng hot ng. Cc tin trnh khc s c Page | 4

Nhm dch h phn tn Lp MTT- K50- DHBKHN nhim v xc nh rng server ngng. Tuy nhin trong cc fail-silent systems nh vy, cc tin trnh khc c th khng bit l server ngng hot ng, thay vo ngh rng server t nhin chy chm, dn n performance failure. Cui cng, c nhiu trng hp m server a ra nhng output ngu nhin, nhng output ny c th nhn bit c bi nhng tin trnh khc. Server nh vy th hin arbitrary failure nhng theo mt cch v hi. Li ny cng c gi l fail-safe. 8.1.3 Failure Masking by Redundancy. Nu mt h thng c coi l c kh nng chu li, n phi c kh nng che giu nhng li xy ta vi cc tin trnh khc. K thut chnh che giu li l s dng s d tha. C 3 loi c th thc hin c l: information redundancy, time redundancy, v physical redundancy. Information redundancy l dng mt s bit d tha c thm vo cho php phc hi li d liu t d liu li. Chng hn Hamming code c th c thm vo d liu c truyn i b li nhiu trn ng truyn. Time redundancy ngha l mt hnh ng c thc hin, sau nu cn thit n s c thc hin li mt ln na. Cc giao dch s dng phng php ny. Nu mt giao dch b b qua, n c th c thc hin li m khng c tn hi g. Time redundancy t ra c bit hu ch khi li l tm thi hoc khng lin tc. Physical redundancy ngha l cc tn trnh hoc thit b d phng c thm vo gip cho h thng hon thin chng li sc thiu hoc hot ng sai chc nng ca mt s thit b. Do vy physical redundancy c th c thc hin da theo phn cng hoc phn mm. Chng hn cc tin trnh d phng c th c thm vo h thng phng trng hp nu c mt s nh trong s chng gp vn , h thng vn c th hot ng chnh xc. Ni cch khc, bng cch sao chp cc tin trnh, c th t c kh nng chu li cao.

Chng ta s minh ha v s p dng ca physical redundancy nh hnh 8-2 trn. Theo hnh 8-2a tn hiu s i qua A,B,C theo th t. Nu mt trong 3 thit b b li, kt qu cui cng c th khng chnh xc. Trong hnh 8-2b, mi thit b c sao chp li thnh 3 bn. Tn hiu lc ny s khng ch i qua thit b A m i qua 3 thit b A1, A2, A3 ging ht thit b A. Cc tn hiu output s c a v cc b so snh V1, V2, V3. Mi mch so Page | 5

Nhm dch h phn tn Lp MTT- K50- DHBKHN snh ny s so snh 3 tn hiu A1, A2, A3 nu 2 trong 3 output qua 3 thit b trn l ging nhau th s ly tn hiu , cn nu c 3 tn hiu khc nhau th output s khng xc nh. Thit k nh vy c gi l TMR (Triple Modular Redundancy) Gi s rng thit b Az no b li, vn cn 2 thit b khc hot ng ng v h thng vn l tin cy. V bn cht, vic Az b li l hon ton c che y, v vy tn hiu input cho B1, B2, B3 vn chnh xc nh trng hp Az khng h b li. Trong trng hp c B3 v C1 na cng b li th sao? S tc ng ca n cng c che du tt v h thng vn hot ng bnh thng. Mt iu na l ti sao ti mi modul phi c tn 3 voter? Hin nhin l cc voter ny cng l cc thit b bnh thng v cng c kh nng xy ra li. Vic thit k 3 voter nh vy nhm mc ch khi mt thit b hng s khng nh hng n s hot ng ca h thng. Mc d khng phi mi h phn tn c kh nng chu li u s dng TMR nhng k thut l rt ph bin cung cp mt ci nhn r rng v mt h thng c kh nng chu li. 8.2 Process Resilience Vn c bn ca kh nng chu li c tho lun trn, by gi chng ta s tp trung vo cch thc tin hnh c th t c kh nng chu li trong h phn tn. Phn trn chng ta tp trung vo cch thc ngn chn li xy ra, trong phn ny chng ta s xem xt nhng vn thit k chung ca nhm cc tin trnh, v tm hiu th no l mt nhm c kh nng chu li. Ngoi ra, chng ta cng xem xt cch thc hot ng khi mt hoc mt vi tin trnh trong nhm b li. 8.2.1 Design Issues. Phng php chnh xy dng mt h thng tin cy l t chc vi tin trnh ging ht nhau vo mt nhm. Khi c mt bn tin c gi n nhm, mi thnh vin trong nhm s nhn c bn tin . Theo cch ny, nu mt tin trnh trong nhm li, hy vng rng cc tin trnh khc vn hot ng chnh xc v a ra kt qu ng cho c nhm. Nhm cc tin trnh c th l ng. Nhng nhm mi c th c to ra v cc nhm c c th b loi b. Mt tin trnh c th tham gia hoc ra khi mt nhm trong sut qu trnh hot ng ca h thng. Mt tin trnh c th l thnh vin ca vi nhm trong cng mt thi im. Do cn c nhng c ch qun l nhm v qun l cc thnh vin trong nhm. Mt nhm cc tin trnh cng gn tng t nh cc t chc x hi. Nga l mt tin trnh c th tham gia vo mt nhm v trong trng hp c nhiu nhm cng yu cu n thc hin mt cng vic no , n s c t do la chn. Flat Groups versus Hierarchical. Trong mt s nhm, tt c cc tin trnh l ngang bng nhau. Khng c ci no l boss v mi qut nh u c thc hin da theo tp th. Trong nhng nhm khc, mt vi loi ca kin trc phn tng xut hin. Chng hn mt tin trnh ng vi tr coordinator v tt c cc tin trnh khc l worker. Trong m hnh ny, khi mt yu cu cho mt cng vic no c a n, d l yu cu ca client bn ngoi hay ca cc workers trong nhm

Page | 6

Nhm dch h phn tn Lp MTT- K50- DHBKHN u c gi n coordinator. Corordinator sau quyt nh worker no thch hp nht thc hin n v s chuyn n cho worker .

Mi loi trong m hnh trn u c nhng u v nhc im ca n. Flat group l cn i v khng c single point of failure. Nu mt trong nhng tin trnh b li, c nhm ch n gin l b thu hp li, nhng vn c th tip tc hot ng. Nhc im ca t chc ny l qu trnh a ra quyt nh kh phc tp. Chng hn quyt nh bt k mt iu g, u phi tin hnh la chn kin gia tt c thnh vin trong nhm, dn n tng thi gian tr v tn ti nguyn. Kin trc phn tng c nhng c im ngc li. Mt i coordinator dn n ton b nhm ngng hot ng nhng khi coordinator hot ng n c th t a ra quyt nh m khng lm phin n cc thnh vin khc. Group Membership. Khi mt group ang tn ti, cn c mt vi phng php to hoc xa group v cho php mt tin trnh tham gia hoc ri b group. Mt phng php kh thi l c mt group server nhn mi yu cu. Group server c th duy tr mt c s d liu y ca tt c cc group v cc thnh vin ca n. Phng php ny d hiu, hiu qu v kh d thc hin. Tuy nhin nhc im ca n k l tn ti single point of failure. Phng php ngc li l qun l cc thnh vin ca nhm theo phng php phn tn. Chng hn nu s dng multicasting, mt tin trnh ngoi c th gi mt bn tin thng bo rng n mun tham gia vo nhm. Mt cch l tng, ri mt group, member ch cn gi goodbye mesage ti mi member cn li. iu ny l kh thc hin khi mt tin trnh ri khi nhm do b li t ngt v s khng c mt thng bo no c gi i. Cc thnh vin cn li phi t pht hin ra cc thnh vin khng cn hot ng trong nhm na nh pht hin rng n khng cn phi hi bt c mt bn tin no na. Mt khi chc chn rng mt member thc s down, n s b g b khi nhm. Page | 7

Nhm dch h phn tn Lp MTT- K50- DHBKHN Mt vn kh khn na l vic tham gia hoc ri b mt group phi c ng b ha vi cc bn tin c gi i. Ni cch khc, ngay ti thi im bt u tham gia vo mt nhm, n phi nhn tt c cc bn tin c gi n cho nhm. Tng t nh vy, ngay sau khi ri khi nhm, n khng c nhn thm bt k mt bn tin no t nhm v cng khng c gi bt k mt bn tin no khc cho cc thnh vin trong nhm. Mt phng php thc hin vn trn l khi mt thnh vin chun b ri nhm, s c mt chui bn tin thng bo gi n cho ton nhm. Vn cui cng lin quan n group membership l cn phi lm g khi c qu nhiu member trong group cng down 1 lc v group khng th hot ng c na. Mt v giao thc cn c thc hin xy dng li nhm. Lc no cng vy, mt vi tin trnh s phi hnh ng bt u xy dng li nhm. Nhng iu g xy ra nu c 2 hoc 3 cng c gng xy dng li nhm 1 lc? Giao thc phi c kh nng m bo iu khng xy ra. 8.2.2 Failure Masking and Replication. Nhm cc tin trnh l mt phn trong gii php xy dng h thng chu li. Ni c th, c mt nhm cc tin trnh ging ht nhau cho php chng ta che giu mt hoc nhiu tin trnh li trong nhm. Ni cch khc, chng ta c th sao chp cc tin trnh v t chc chng thnh mt nhm nhm thay th mt tin trnh n l (d b li) bng mt nhm (c kh nng chu li hn). Nh tho lun trong chng trc, c 2 cch t c s sao chp nh vy: primary-based protocols hoc repilcated-write protocols. Mt vn chnh trong s dng nhm cc tin trnh tng tnh chu li l cn c bao nhiu bn sao ca tin trnh th ? n gin ha, chng ta ch quan tm n replicated-write systems. Mt h thng c gi l k fault tolerance nu n c th hot ng ng vi k phn t (tin trnh) b li. Nu c k tin trnh b li th cn c k+1 tin trnh khc khng b li qu trnh la chn kt qu vn din ra chnh xc. 8.2.3 Agreement in Fauty Systems. Vic t chc cc tin trnh ging nhau v cng 1 nhm gip tng kh nng chu li. Nh cp trn, nu mt client c th a ra quyt nh ca n theo c ch b phiu, n vn c th a ra quyt nh ng nu k trong s 2k+1 tin trnh hot ng sai (k+1tin trnh cn li vn hot ng chnh xc). Ni chung mt vn kh khn t ra l khi chng ta yu cu mt nhm cc tin trnh a ra mt s thng nht, chng hn nh la chn ra mt coordinator, thc hin mt giao dch, phn chia cng vic cho cc workers.... Nu tt c cc communication v processess l hon ho th d dng t c s thng nht nh vy, nhng nu chng khng hon ho th s ny sinh nhng vn kh khn. Mc tiu chung ca distributed agreement algorithms l c tt c nhng tin trnh khng li t c s nht tr trong mt s vn , v thc hin s nht tr y trong mt s nht nh cc bc. Vn tr nn phc tp bi thc t l cc gi thuyt khc nhau v underlying system yu cu cc gii php khc nhau. Turek v Shasha (1992) phn thnh nhng trng hp sau: 1. ng b v khng ng b.

2. Communication delay l c gii hn hay khng? Delay l c gii hn nu v ch nu chng ta bit rng mi bn tin c gi i vi thi gian ti a c xc nh trc.
Page | 8

Nhm dch h phn tn Lp MTT- K50- DHBKHN 3. Vic chuyn cc bn tin l c trt t hay khng? Ni cch khc chng ta phn bit tnh hung liu cc bn tin t cng mt my gi c c nhn theo ng th t n c gi hay khng, vi tnh hung khng c mt c ch no m bo iu . 4. Vic truyn cc bn tin l unicasting hay multicasting Vi cc iu kin trn, vic t c s nht tr gia cc tin trnh xy ra nh trong hnh 8-4. Trong tt c cc trng hp khc, khng c gii php no tn ti. Ch rng hu ht cc h phn tn trong thc t u gi s rng cc tin trnh hot ng khng ng b, cc bn tin c truyn unicast, v delay l c gii hn. Do , chng ta phi truyn cc bn tin theo th t, ging nh trong TCP.

8.2.4 Failure Detection Mun che giu li, trc tin chng ta phi pht hin c chng. Pht hin li l mt trong phn quan trng ca tnh chu li. Tm li, trong mt nhm cc tin trnh, cc thnh vin khng li phi c kh nng xc nh nhng thnh vin cn li b li hay khng. Ni cch khc, chng phi c kh nng pht hin khi c mt tin trnh li. C 2 phng php pht hin ra cc tin trnh b li. Mt l tin trnh ch ng gi bn tin are you alive? ti mi thnh vin khc hoc th ng ch bn tin c gi n t cc tin trnh khc. Phng php th ng ch c ngha khi chc chn rng c y cc kt ni gia cc tin trnh. Trong thc t, thng s dng phng php ch ng. C nhiu l thuyt v pht hin li nhng tm li u s dng c ch time out kim tra xem liu mt tin trnh c b li khng. Nhng trong thc t, trong h thng mng khng tin cy, vic s dng phng php ny s a n kt qu khng chnh xc. Vic pht hin li cng c th thc hin bng cch trao i thng tin u n vi cc neighbors. Cc tin trnh u n thng bo cc dch v m n ang cung cp. Thng tin ny c truyn i t t trong mng thng qua cc neighbor. Cui cng, mi tin trnh s bit v mi tin trnh khc v c th xc nh mt tin trnh c b li hay khng.

Page | 9

Nhm dch h phn tn Lp MTT- K50- DHBKHN Mt vn quan trng khc l failure detection subsystem cn phn bit c gia cc li thuc v h thng mng vi li ca cc tin trnh. Mt cch x l vn ny l khng mt tin trnh n l t quyt nh neighbor ca n c li hay khng. Thay vo , khi mt node pht hin mt khng ping c n mt neigbor, n s yu cu cc neighbor khc xc nh xem liu chng c th ping n neighbor khng, sau s thng bo kt qu n node ny.

8.3. Che giu li trong truyn thng client/server tin cy. Vic che giu li trong h phn tn tp trung vo trng hp c tin trnh b li. Nhng ta cng phi xt n trng hp cc giao tip b li. Thng thng, mt knh giao tip c th gp cc li: li sp , li b st, li thi gian v li ty . Vic xy dng mt knh truyn thng tp trung vo che giu li sp v li ty . 8.3.1. Truyn thng im im . Trong h phn tn, truyn thng im im tin cy c thit lp bng cch s dng cc giao thc truyn tin cy nh TCP. TCP che giu c li b st bng cch dng c ch thng bo ACK/NACK v vic thc hin truyn li. TCP khng che giu c li sp . Khi xy ra li sp th kt ni TCP s b hy. Ch c mt cch che giu li sp l h thng phi c kh nng t ng to mt kt ni mi. 8.3.2. RPC khi xy ra li v cch khc phc Vi h thng RPC, nm lp li c th xy ra l: Client khng th nh v c server: Nguyn nhn gy li l do server v client dng cc phin bn khc nhau hoc do chnh server b li. Khc phc bng cch s dng cc ngoi l (exception) bt li nh ngn ng java v iu khin tn hiu (signal handle) nh ngn ng C. Hn ch ca phng php ny l khng phi ngn ng no cng h tr ngoi l hay iu khin tn hiu. Nu t vit mt ngoi l hay iu khin tn hiu th s ph hy tnh trong sut. B mt bn tin yu cu t client gi n server: y l loi li d x l nht: h iu hnh hay client stub kch hot mt b m thi gian (timer) khi gi i mt yu cu. Khi timer tr v gi tr 0 m khng nhn c bn tin phn hi t server th n s gi li yu cu . Nu bn client nhn thy c qu nhiu yu cu phi gi li th n s xc nhn rng server khng hot ng v s quay li thnh kiu li khng nh v c server Server b li ngay sau khi nhn c yu cu t client: Lc ny li phn chia thnh hai loi: Loi 1: Sau khi thc hin xong yu cu nhn c th server b li. Phng php khc phc: sau server s gi thng bo hng cho client

Page | 10

Nhm dch h phn tn Lp MTT- K50- DHBKHN Loi 2: Va nhn c yu cu t client server b li ngay. Phng php khc phc: client ch cn truyn li yu cu cho. Vn t ra lc ny l client khng th ni cho server bit yu cu no l yu cu c gi li.

Khi gp li kiu ny, pha my server s thc hin theo 3 k thut sau: K thut 1: i n khi no server hot ng tr li, n s c thc hin yu cu nhn c trc khi li . Nh th RPC thc hin t nht mt ln. K thut 2: server sau khi c khi phc n s khng thc hin yu cu nhn c trc khi b li m s gi li thng bo hng cho client bit client gi li yu cu. Vi k thut ny th RPC thc hin nhiu ln nht. K thut 3: khng thc hin g m bo c. Khi server b li, client khng h hay bit g c. Kiu ny, RPC c th c thc hin nhiu ln cng c th khng thc hin ln no. Cn client th c th thc hin theo 4 chin lc sau: Mt l: Client khng thc hin gi li cc yu cu. V th khng bit bao gi yu cu mi thc hin c hoc c th khng bao gi c thc hin. Hai l: Client lin tc gi li yu cu: c th dn ti trng hp mt yu cu c thc hin nhiu ln. Ba l: Client ch gi li yu cu no khi khng nhn c bn tin ACK phn hi t server thng bo nhn thnh cng. Trng hp ny, server dng b m thi gian. Sau mt khong thi gian xc nh trc m khng nhn c ACK th client s gi li yu cu . Bn l: Client gi li yu cu nu nhn c thng bo hng t server. Mt bn tin phn hi t server gi tr v client: Phng php khc phc: thit k cc yu cu c c tnh khng thay i gi tr (idempotent). Client nh s th t cho cc yu cu, server s nhn ra c u l yu cu c gi li nh cc s t t ny. Do server s khng thc hin lp li cc yu cu. Tuy nhin server vn phi gi tr v bn tin thng bo yu cu no b tht lc. Hoc ta c th s dng mt bit phn header ca yu cu phn bit yu cu no l yu cu c gi li. Client b li ngay sau khi gi yu cu ti server: Client gi yu cu ti server ri b li trc khi nhn c tr li t server gi v. Cng vic m server thc hin nhng khng c ch no i nhn c gi l mt orphan. Nh th s gy lng ph chu k CPU. C 4 gii php c a ra trong trng hp ny l: Mt l: trc khi gi i yu cu no , client stub s to ra mt bn ghi xc nh cng vic cn thc hin ny v lu li. Nh th, khi c phc hi sau khi li, client s ly li bn ghi v v vic thc hin cc orphan ang din ra s dng li. Phng php ny c nhiu nhc im: Chi ph trang b a lu li mi bn ghi cho mi RPC. Orphan c th t mnh thc hin RPC to ra mt grandorphan nn rt kh xc nh. Page | 11

Nhm dch h phn tn Lp MTT- K50- DHBKHN Hai l: chia thi gian hot ng lin tc ca client thnh cc s lin tc gi l cc thi k. Mi khi cc clietn khi phc tr li th s ch thi k ny li tng ln mt n v. Lc ny clietn s gi thng bo n tt c cc my khc thng bo s thi k mi ca mnh. Khi nhn dc thng bo ny th cc orphan s dng li Ba l: khi nhn c bn tin thng bo thi k mi, mi my s kim tra xem mnh c ang thc hin mt tnh ton t xa no khng. Nu c, my s c xc nh xem client no gi yu cu ny. Nu khng xc nh c th qu trnh tnh ton ny s b hy b. Bn l: quy nh mi RPC ch c mt khong thi gian xc nh T thc hin, sau khi gp li, clietn s pho i thm mt khong thi gian T trc khi khi ng li nhn cc orphan. Vn t ra l phi la chn gi tr T nh th no cho hp l. 8.4. Che giu li trong truyn thng nhm tin cy (dng multicasting) 8.4.1. Multicasting tin cy c bn (Basic Reliable-multicasting). Sau khi cc tin trnh c phn nhm th mt tin trnh khc mun thc hin multicast tc l s gi bn tin ti tt c cc tin trnh trong nhm . Multicast tin cy l phi c c ch m bo bn tin n c tt c cc thnh vin trong nhm. Khi xy ra li th s p dng phng php sau che giu li: Phng php: nh s cc bn tin cn gi. Cc bn tin c lu ti mt buffer ca bn gi v vn lu cho n khi nhn c bn tin ACK bo v t bn nhn. Nu bn nhn xc nh l b mt mt bn tin no th n s gi v mt bn tin NACK yu cu gi li. V thng thng, bn gi s t ng gi li bn tin sau trong khong thi gian xc nh no m n khng nhn c bn tin ACK bo v.

Hnh (a). Truyn bn tin (b). Bn tin phn hi 8.4.2. Multicast tin cy m rng. tng hiu qu cng vc khi lm vic vi mt s lng ln cc tin trnh th a ra m hnh multicast tin cy m rng. Vi m hnh ny s khng gi tr v bn tin ACK bo nhn thnh cng m ch gi tr v cho tin trnh nhn bn tin NACK thng bo khi c li truyn.Vic ny c thc hin bng giao thc SRM (Scalable Reliable Multicasting).

Page | 12

Nhm dch h phn tn Lp MTT- K50- DHBKHN c th thc hin multicast tin cy cho mt nhm ln cc tin trnh th thc hin t chc cc nhm theo cu trc dng cy. Cu trc ca cy : - Gc l nhm cha tin trnh gi. - Cc nt l cc nhm c cha tin trnh nhn.

Hnh. Multicast tin cy dng cy Vic thc hin multicast c thc hin cho cc nhm nh . Vic chia thnh cc nhm nh hn ny cho php s dng cc kch bn multicast tin cy cho tng nhm nh . Trong mi nhm nh s c mt tin trnh lm coordinator. Coodinator c kh nng iu khin vic truyn li khi nhn c thng bo truyn li. Coodinator ca mi nhm s c b m (history buffer) ring. Nu Coordinator ca mi nhm khng nhn c bn tin m th n s gi yu cu truyn li ti coordinator ca nt cha n. Trong kch bn truyn tin cy s dng bn tin ACK th khi coordinator nhn thnh cng mt bn tin m n s gi bn tin ACK ti coordinator ca nt cha n. Nu coordinator ca mt nhm nhn c bn tin ACK bo nhn thnh cng bn tin m ca tt c cc tin trnh trong nhm gi v th n s xa bn tin m khi b m ca n. nh gi: vi phng php phn cp ny th xy ra vn v cu trc cy. Rt nhiu trng hp yu cu cy phi c cu trc ng nn phi c mt c ch tm ng cho cy ny 8.4.3. Multicast nguyn t (Atomic multicast ). T tng chnh: khi mt tin trnh mun gi bn tin cho mt tp cc tin trnh khc theo kiu multicast, n s khng gi bn tin ti tt c cc tin trnh ca nhm cha cc tin trnh nhn m ch gi n mt nhm nh cc tin trnh cn nhn bn tin . Vn t ra: phi m bo gi c bn tin ti tt c cc tin trnh trong nhm hoc khng c gi ti bt k tin trnh no nu mt tin trnh trong nhm b li sp . Mt s thut ng: Group view (khung nhn nhm): tng chnh ca atomic multicast l mt tin trnh thc hin multicast bn tin m th ch thc hin lin kt ti mt danh sch cc tin trnh cn nhn Page | 13

Nhm dch h phn tn Lp MTT- K50- DHBKHN bn tin m ch khng phi ton b nhm. Danh sch cc tin trnh ny tng ng vi mt khung nhn nhm (group view)- mt tp nh cc tin trnh ca mt nhm ln. View change (thay i khung nhn): khi ang thc hin multicast ti mt group view G m c mt tin trnh xin gia nhp nhm hay xin ra khi nhm th s thay i vc ny s c gi ti tt c cc thnh vin cn li trong nhm. Do , cc tin trnh cn li trong G s nhn c hai bn tin: m: bn tin cn nhn vc: bn tin thng bo c thay i trong G. Nu tt c cc tin trnh trong G u cha nhn c vc th thao tc multicast bn tin m c thc hin. Nu mt trong s cc tin trnh trong G nhn c vc th pho m bo rng khng mt tin trnh no khc trong G c nhn m na ng b o (Virtual sychronous). T tng chnh: m bo bn tin ch c multicast ti tt c cc tin trnh khng c li. Nu tin trnh gi b sp trong qu trnh multicast th qu trnh ny b hy ngay d bn tin c gi ti mt vi tin trnh khc trong nhm ri.

Hnh Nguyn l ng b o 1: P1 tham gia vo nhm c sn ba thnh vin: P2,P3, P4. 2: P2 thc hin multicast bn tin ti tt c cc tin trnh cn li. 3: P1 thc hin multicast bn tin ti tt c cc tin trnh cn li. 4: P3 multicast ti tin trnh P2 , P4 thnh cng nhng P1 cha nhn c th P3 b sp . Lc ny ng b o s hy tt c cc bn tin c gi trc cho P2, P4, thit lp trng thi trc khi sp ca P3 l cha gi bn tin d. 5: nhm lc ny ch cn P1, P2, P4 v P4 thc hin multicast bn tin, 6: P3 c khi phc v xin gia nhp li nhm. 7: P3 gia nhp nhm thnh cng. 8.5_ y thc phn tn : (distributed commit ) - Khi nim c s d liu phn tn : C s d liu phn tn l cng ngh ly nhiu c s d liu t nhiu c s d liu khc nhau trn nhiu my tnh khc nhau cng kt ni trong 1 mng v khin cho Page | 14

Nhm dch h phn tn Lp MTT- K50- DHBKHN chng xut hin nh mt c s d liu n nht. Do ngi dng khng nht thit phi bit my tnh no thc s c d liu ngi cn. - Vn qun l chia s ti nguyn : C nhiu ngi dng truy cp c s d liu phn tn thng qua cc ng dng. V l do ny chc nng qun l giao dch ( transaction management ) c a ra. 1 giao dch l 1 qu trnh trao i gia my thnh vin v my ch, giao dch hon tt khi qu trnh ny hon tt. Chc nng qun l giao dch nhm duy tr tnh nht qun d liu, trnh xung t d liu bng cch chia d liu thnh cc n v giao dch sao cho c s d liu c th iu khin c vic cp nht t cc ngi dng khc nhau. Qun l giao dch bao gm c im : ACID A Automicity ( nguyn t ) : Khng c giai on trung gian cui qu trnh x l. Tc l tt c cc x l u c hon thnh hoc khng c g c thc hin c. Nht qun consistency : Khng quan tm n iu kin hon thnh 1 giao dch, ni dung ca 1 c s d liu khng th c nhng mu thun. C lp isolation : cc kt qu x l ko thay i cho d x l tun t hay ng thi. Bn vng durability : cc kt qu khng b ph hng bi li hay nhn t khc khi giao dch kt thc. Distributed commit ( y thc phn tn ) l cc giao thc gip thc hin truy cp ti nguyn (d liu) thc hin giao dch nh trn m vn m bo CSDL ca ta c y cc c im nu. y thc ( commit ) : l vic khi kt thc 1 cng vic x l c s d liu, cp nht c s d liu xong kt qu c lu tr. 1. y thc 2 pha : l c ch m bo tnh ton vn ca c s d liu phn tn. Gm 2 pha khc nhau : gi s c 2 site A,B l cc v tr t c s d liu phn tn. My ch l my iu khin c s d liu phn tn ny. Khi c s d liu c cp nht ( 1 giao dch bt u ), 2 pha din ra nh sau: - Pha 1 : o My ch gi lnh cp nht (VOTE_REQUEST) n mi site. Mi site tin hnh cp nht tm thi c s d liu. ( Cp nht tm thi tc l cc thnh vin trong mng bit c s d liu no c th cp nht, cn cha c cp nht mt cch vt l ).

o Cc site nhn c VOTE_REQUEST s tr li li my ch lnh VOTE_COMMIT nu n trng thi sn sng (ready ) cp nht hay lnh VOTE_ABORT nu n ang c s c m mun hy b (abort ) bt k khi no nhn c lnh y thc t my ch. ( cc s c y l cc li h thng c th mc phi c phn tch cc mc trc trong chng 8 ). Page | 15

Nhm dch h phn tn Lp MTT- K50- DHBKHN Pha th 2 : o Sau khi chc chn tt c cc site sn sng cho vic cp nht ( nhn c COMMIT t cc site ). My ch chuyn lnh GLOBAL_COMMIT cho cc site mt cch tun t. Cc thnh vin tin hnh cp nht c s d liu mt cch thc s mt cch tun t. o Tuy nhin, ch cn my ch nhn c 1 message duy nht t 1 site l ABORT th n s gi message GLOBAL_ABORT n cc site cn li. Ch : trong pha 2, my ch ch bt u y thc ( hay hy b ) khi nhn c tt c phn hi t pha cc site con.

M hnh y thc 2 pha ( ly trong sch FE nn thut ng hi khc, v t tng l vn ging ) 2. y thc 3 pha: Mt nhc im ca y thc 2 pha l ti pha th nht, my ch phi nhn c phn hi ca tt c cc site con ( xem tnh trng ca n l sn sng Commit hay Abort ) th mi quyt nh c thc hin y thc hay ko pha th 2. Tuy nhin trn thc t c Page | 16

Nhm dch h phn tn Lp MTT- K50- DHBKHN nhng trng hp my site gp s c bt thng trc khi n kp gi phn hi cho my ch, trong TH ny s khin ton b h thng b down do my ch khng bit nn quyt nh th no. y thc 3 pha khc phc nhc im ny bng cch c thm 1 bc m goi l PRECOMMIT. Trong qu trnh i nhn phn hi t cc site con, ch cn c 1 site gi li VOTE_ABORT ngay lp tc my ch s quyt nh ABORT (hy b) qu trnh y thc ( khc vi 2 pha l phi i tt c phn hi n ri mi quyt nh ). Trng hp cc site ln lt gi v VOTE_COMMIT, my ch s h thng trng thi PRECOMMIT. V sau khi tt c cc site u sn sng th GLOBAL_COMMIT mi c my ch gi i. Ngoi ra cc khu khc u nh 2 pha . 8.6_ Recovery ( S phc hi ): Phc hi li ( recovery error ) l mt trong nhng cch hiu qu ca vic gip tng kh nng chu li (fault tolerance ) ca h thng phn tn. C 2 dng phc hi li chnh : Backward recovery : t tng ca n l a trng thi ca h thng thi im hin ti v trng thi ti thi im trc khi li xy ra. l c iu , buc ta cn thit phi ghi li trng thi ca h thng cc thi im lin tc ( time to time ). Mi thi im lu tr li ngi ta gi l checkpoint. Forward recovery: khi h thng ri vo trng thi li, thay v a h thng tr li trng thi trc khi li, cch ny li a h thng nhy sang mt trng thi mi m h thng li hot ng bt. Vn chnh trong phng php ny l phi d on trc c khi no li c th xy ra. Ch c vy n mi sn sng chuyn h thng sang trng thi mi. S khc nhau gia backward v forward chnh l s tin cy trong truyn thng. Thng thng cch tt nht phc hi li trong qu trnh truyn thng l bo bn gi gi li nhng gi tin b mt trong qu trnh truyn ( bo bng cch chuyn v trng thi trc li, xem nhng gi no b mt, yu cu truyn li ) chnh l t tng ca backward backward tin cy hn trong truyn thng. Cch th 2 l s dng phng php erasure correction. T tng ca n l gi tin b mt c th c khi phc li da trn nhng gi tin khc. Nh vic n quy nh bao nhiu gi tin sau c th phc hi c gi tin trc, h thng c truyn cho n khi thnh cng chnh l t tng ca forward. Trong h phn tn thng p dng backward recovery. Nhc im ca backward: - Vic phc hi li h thng trng thi trc i khi rt phc tp. Vi phng php backward a ra khng c s m bo rng sau khi tr li trng thi trc li, li li khng tip tc xy ra d b ri vo tnh trng loop recovery.

Page | 17

Nhm dch h phn tn Lp MTT- K50- DHBKHN Khng phi lc no cng c nhng trng thi trc khi li ta quay li ( ging nh i rt tin, my gp s c, t c c hi quay li trng thi trc khi n nt rt tip tc rt tin :D ).

1. Stable storage : c th khi phc trng thi trc li ca h thng, buc phi lu tr nhng thng tin cn thit cho s khi phc. C 3 cch lu tr nhng thng tin ny : - Lu tr trong RAM ( nhng b xa khi mt in ) Lu tr trong a ( vn sng khi CPU li nhng mt khi khi a hng ) S dng Stable storage.

Stable strorage : - c thc hin nh 2 a thng thng. Mi khi trong a 2 s c copy ging ht nh khi a 1. Khi mt khi a 1 c cp nht th n cng c cp nht a 2 ( sau khi cp nht xong a 1).

Hnh a : 2 a sao chp y nguyn nhau. Hnh b : trng hp h thng gp li khi a 1 c update cn a 2 cha c update. . tin hnh phc hi, n so snh 2 a vi nhau tng khi mt, thy s sai khc n li cp nht 2 ci ging nhau. Hnh c: trng hp c nhng khi t ng li. Khi s c 1 checksum error c t khi n nh trc n. Nu li c pht hin, khi b li s c khi phuc li theo a cn li. Stable storage lun m bo tnh tin cy do n c ghi ng thi, sau c chek li t kh nng c li xy ra. Page | 18

Nhm dch h phn tn Lp MTT- K50- DHBKHN 2. Checkpointing :

Page | 19

You might also like