fault tolerant broadcast

52
FAULT TOLERANT BROADCAST Advanced Operating Systems Sharif University of Technology Lecturer: Rasool Jalili 1

Upload: kaseem-wooten

Post on 02-Jan-2016

37 views

Category:

Documents


5 download

DESCRIPTION

Fault Tolerant Broadcast. Advanced Operating Systems Sharif University of Technology Lecturer: Rasool Jalili. مقدمه. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fault Tolerant Broadcast

FAULT TOLERANT

BROADCAST

Advanced Operating Systems

Sharif University of Technology

Lecturer: Rasool Jalili

1

Page 2: Fault Tolerant Broadcast

مقدمه طراحي و وارس ی کاربرده اي توزي ع ش ده متحم ل خط ا ب ه

هايي ک ه ب راي عن وان ي ک ک ار پيچي ده تلقي مي ش ود. پدي دهش ده مط رح ک ار اين س ازي اجم اع س اده ش امل اند

(Consensus مطمئن همگ انی پخش ن وع چن د و ) Reliable Broadcast.است

( اجماعConsensus:)پردازه رس يدن براس اس امک ان ک ه تص ميم مش ترک ي ک ب ه ه ا

شود. هاي اوليه و عليرغم خطا اخذ مي وروديکاربرده ا: انتخ اب ره بر و ي ا تواف ق روي مق دار ي ک سنس ور تک رار

شده.( پخش همگاني مطمئنReliable Broadcast:)

ه اي تحوي ل در خيلي از کاربرده ا الزم اس ت ت ا هم ه روي پيغامها توافق داشته باشند. گرفته داشته يا روي ترتيب پيغام

2

Page 3: Fault Tolerant Broadcast

مقدمه - ادامهها، کاربردهاي زير مطرح هستند: برمبناي اين پديده

SIFT، Isis، Psync، Amoeba، Delta-4، Transis، HAS، FAA و Atomic Commitment

گ ذاري کال تحقيق ات زي ادي انج ام ش ده اس ت ولي فرض يات و عالمتهاست. سازي آن متفاوت مانع از هم

:براي بيان دقيق و ساده مطالب کش يده Algorithm و Specificationخط دقي ق و مشخص ي بين 1.

شود. مي

مفه وم 2. از زي اد درنتيج ه Reductionاس تفاده مس ائل، بين شان. بندي مسائل براساس پيچيدگي کالسه

ب ا ي ک بي ان خيلي س طح Algorithm وSpecificationامک ان ارائ ه باال

3

Page 4: Fault Tolerant Broadcast

مدل محاسبات توزیع شده در حضور خطا

:مدل ارتباطيMessage-Passing

مرس وم م دل دو بين و Message-Passingاز Shared Memory

:مواردها و ارتباطات همگامي پردازهها نوع خطاي پردازهنوع خطاي ارتباطيبندي شبکه همها مشخص يا تصادفي بودن پردازه

4

Page 5: Fault Tolerant Broadcast

همگامی:ها و هم سيستم ارتباطي قابل اعمال هم در مورد پردازه گ وئيم )در اين بخش( ک ه ش رايط زي ر را ب رآورده همگ:امسيس تمي را

کند.ه ا وج ود داش ته باش د ب راي ت أخير پيغاممح دوده ب اال )مش خص( مث ل 1.

)ارسال، انتقال، دريافت(.

پ ردازه 2. محلي Pهر س اعت Cp اختالف ح داکثر ک ه دارد ب ا را :tt و همه Pساعت واقعي دارد. براي همه پردازه هاي

يک س قف و ي ک ک ف ب راي زم ان اج راي ي ک مرحل ه از ک ار توس ط ي ک 3.پردازه وجود دارد.

توان بنابراين ميTime-Out .را براي هر پيغام اندازه گرفت روشي براي تشخيص خطا

)1()(

)()()1( 1

tt

tCtC pp

5

Page 6: Fault Tolerant Broadcast

– ادامه:همگامیپيادهتقريب:ا همگ:ام هاي ت وان س اعت همچ نين مي ک رد. را س ازي

وه ب ر مح دودبود ن فاص له آن ي ع ني س اعت ب ا س اعت ه ايي ک ه عال ه ا کنند: (، شرط زير را برآورده ميDrift)واقعي

س اعت مي چنين هم خط ا حض ور در ح تي پياده هايي، س ازي توانن د شوند.

کاربرد ساعت ( هاي تقريبا همگامApproximately Sync :).بي فرآين دهاي م ديريت کن ترل س ازگاري درن گ، اح راز Cacheفايل، ،

اصالت، ... .

س ازي کن د هاي واقعي را شبيه توان د س اعت در خيلي از مس ائل ن يز ميتوزي ع ش ده را يع ني الگ وريتم ل ذا ط رح باش د و مس اوی ص فر

آسان مي کند.

)()(::,,: tCtCqpt qp

6

Page 7: Fault Tolerant Broadcast

سیستم ناهمگامناهمگ::ام ميسيس::تمي خوان ده اگ ر ش ود

انح راف س اعت، و مح دوده پيغ امي، ت اخير ب راي اي نداش ته وج ود ک ار ي ک از مرحل ه ي ک اج راي زم ان

باشد. م ورد در هيچ فرض ي در عم ل، وج ود زم:انیع نی

ندارد.

:همگ امي و ناهمگ امي دو ح د اف راطي ب راي توج:ه از سيس تم بخش ي روي مثال هس تند. واقعي هاي

مح دوديت ويژگي )... س اعت، انح راف )ت اخير، ه ا وجود دارد و روي بخشي نه.

7

Page 8: Fault Tolerant Broadcast

خطای پردازههاي خطا براي پردازه شامل: مدل

Crashتوقف نابهنگام و نارس پردازه :Send Omission از ی ا و پ ردازه ن ارس و نابهنگ ام توق ف :

دست دادن پیامهایی که انتظار میرفت ارسال کند..Receive Omission توق ف نابهنگ ام و ن ارس پ ردازه و ی ا از :

دست دادن پیامهایی که انتظار میرفت دریافت کند..General Omissionترکیب دو تای باال :Byzantine )نامعلوم(Byzantine همراه با Message Authentication

ب راي مک انيزمي ولي پ ردازه اختي اري Authenticationرفت ار خط ا پيغام پ ردازه يع ني دارد. وج ود نمي ه ا فالن دار از ک ه توان د

اگ ر چ نين پيغ امي ح:تيپ ردازه ی درس ت پيغ ام دري افت ک رده اس ت ارسال نشده باشد.

هاي همگ ام و هم اين دس ته از خط ا هم در م ورد سيس تممعه ذا، سيس تم ناهمگ ام مط رح هس تند. خطاه:اي هاي هاي همگام مورد دارند. تنها در مورد سيستمزماني

8

Page 9: Fault Tolerant Broadcast

خطای پردازه – ادامه:زم اني پردازه خطاه اي درمع رض را ( Timing)اي

هاي زير خطا کند: دانيم که به يکي از روش مي را مرتکب شود.General Omissionخطاهاي 1.اش از مح دوده مش خص ش ده تج اوز انح راف س اعت محلي2.

کند..را 3. ک اري از مرحل ه ي ک اج راي ب راي الزم زم اني مح دوده

نقض کند..:از لحاظ جدي بودن

General Omission < Timing < Byzantineتر از خط اي به ن وع خطاه ايي ک ه ج ديTiming نباش ند

Benignه ا رفت ار اختي اري ندارن د و )ماليم( گوين د:: پردازهغير پيغ ام ش ده پيش ي ا را بي ني الگ وريتم در اي

فرستند. نمي9

Page 10: Fault Tolerant Broadcast

خطای ارتباطی

نوع خطاهاي مؤثر در خطوط ارتباطي

Crashايستد. : کانال از ارسال پيغام ميOmissionه اي ارس ال ش ده از طري ق کان ال از بين : پيغام

روند. مي( پيغامByzantineاختي اري تولي د ح تي هم (: غل ط ه اي

ممکن است.Timingپيغام آن : مشخص ات از کن دتر ي ا تن دتر ه ا ه ا

شود. ارسال مي

10

Page 11: Fault Tolerant Broadcast

BCASTمشخصات پردازه ک ه ک نيم بوس يله فرض مح اوره Bcastه ا

از مي بخش ي تنه ا خط ا، رخ داد درص ورت کنن د. مي پردازه دري افت را پيغ ام ني از ه ا بن ابراين کنن د.

داشته باشيم.Reliable Bcastداريم که يک ض عيف( مطمئن همگ اني پخش ترين غيررس مي::

تض مين Bcastگون ه را وي ژگي س ه نظ ر( م ورد کند: مي

پردازه1. پيغام هم ه مجموع ه روي درس ت ه اي ه اي دريافت کرده توافق داشته باشند.

ه اي درس ت ه اي پخش ش ده بوس يله پردازه هم ه پيغام2.دريافت شده باشند.

هيچ پيغام مغلوطي دريافت نشده باشد.3.

11

Page 12: Fault Tolerant Broadcast

– ادامه:BCASTمشخصات

:توج هReliable Bcastه ا ن دارد. مح دوديتي روي ت رتيب پيغامشود. مطرح ميBcastتري از يک نوع قوي

:غيررسمي FIFO Bcast ي ک Reliable Bcastه ا ب ه اس ت ک ه رس يدن پيغام

تض مين پردازه فرس تنده توس ط ش ده پخش ت رتيب ب ه را ه ا کند.  مي

Causal Bcastق وي نس خه از ک ه FIFO Bcastتري اس ت دهد. هاي پخش شده را براساس ترتيب پخش، تحويل مي پيغام

ميCausal Bcastولي اج ازه پردازه ک ه پيغام ده د £ ه ا، عال ه اي نامربوط را به ترتيب مختلفي دريافت کنند.

Atomic Bcastپيغام هم ه ک ه اس ت پخش ی ب ا ، را ت:رتيب ه ا دهد. تحويل مييکسان

FIFO Atomic Bcast ترکيبي از FIFO و Atomic.Atomic Bcast Causal ترکيبي از Causal و Atomic.

خطاه اي معط وف را خ ود تنه ا بحث اين benignدر کنيم. مي

12

Page 13: Fault Tolerant Broadcast

RELIABLE BROADCAST

پيغ امmداراي فيل دهاي شناس ه [ ي فرس تندهsender)m( و ]باشد. [ مي)seq#)mشماره ترتيب ]

R.Bcast يک Bcast:است که شرايط زير را برآورده کند Bcast را m: اگ ر ي ک پ ردازه درس ت، پيغ ام Validityاعتب ار - 1.

£ ي پردازه کن د س پس همه را دري افت خواهن د mه اي درس ت نهايت اکرد.

.2 - پيغ ام Agreementتواف ق درس ت پ ردازه ي ک اگ ر :m را £ تحوي ل بگ يرد س پس هم ه پردازه را تحوي ل mه اي درس ت نهايت ا

خواهند گرفت.

.3 - )ج امعيت( پيغ ام Integrityدرس تي ه ر ب راي :m ه ر ،درس ت، پ ردازه ميmي دري افت ب ار ي ک ح داکثر را ب ه کن د

کرده باشد.Bcast را mاي، شرطي که پردازه13

Page 14: Fault Tolerant Broadcast

RELIABLE BROADCAST سؤال: اگرPدر حين پخش با خطا مواجه شد؟

کنند( اند )مي يا همه دريافت کردهکند( يا هيچکس دريافت نکرده )نمي

اگ رP، broadcast)m( بالفاص له و فراخوان د را Crashه اي درس ت از قص د کن د، پردازهP ب ر پخش

mش وند و ي ا اگ ر بخش ي از اطالع ات )ب ه مطل ع نميآن هم ه باش د، ارس ال ش ده ک افي( دري افت ح د را

خواهند کرد.

14

Page 15: Fault Tolerant Broadcast

FIFO BROADCAST آن ممکن ب ه توج ه ب دون ک ه دارد پيغ امي محت وايي هر

توان د اس ت س وء تفس ير پيش آي د. چ نين پيغ امي وق تي ميپ ردازه ي ک دانس ته Bcastتوس ط محت وايش ک ه ش ود

پيغامmش ود. مثال در کاربرده ايي، محت واي ه اي ش امل Bcast شده توسط فرستنده m .است

پيغام لغ و ش امل پيغ ام ي ک بلي ط، محت واي در رزرو ه ايي مثال انج ام داده نباي د در ي ک س ايت اس ت ک ه آن رزرو را لغ و ان د.

تحوي ل ش ود ک ه آن س ايت محت واي پيغ ام را قبال دري افت نک رده است.

بن ابراين ني از ک اربرد ب هFIFO Bcast ي ک ،R.Bcast ک ه شرط زير را برآورده کند:

FIFO Orderپ ردازه اگ ر از mاي : قب ل را m ،کن د پخش پ ردازه هيچ نباي د س پس درس تي مگ ر mي کن د، دري افت را

را تحويل گرفته باشد.mکه قبال آن

15

Page 16: Fault Tolerant Broadcast

CAUSAL BROADCAST ترتيبFIFO ب راي م وقعي مناس ب اس ت ک ه محت واي

mه اي ارس ال ش ده فرس تنده ش امل تنه ا پيغامm ،از ولي mقب ل باش د. m ب ه وابس ته اس ت ممکن

فرس تنده پيغام ب ه ش ده تحوي ل از mه اي قب ل ، هم باشد.mارسال

ک اربرد ي ک در ب ا Net Newsمث ال: ک اربران اگ ر ،هايش ان را بفرس تند، س ناريوي زي ر پيغامFIFOت رتيب

رخ خواهد داد:

A ،ي ک پيغ ام مي فرس تد B روي س ايت ديگ ري پيغ ام A را را قب ل از B پيغ ام Cکن د، گرفت ه و ج واب آن را ارس ال مي

کند. کند. پاسخ را بد تفسير مي دريافت ميAپيغام 16

Page 17: Fault Tolerant Broadcast

CAUSAL BROADCAST اگ ر اج راي اعم ال اولي هbroadcast و deliver را

رخ داده f قب ل از eوق ايع رخ داده تلقي ک نيم، واقع ه ( اگگر:efاست )

پ:ردازه، 1. و eيک f اج:را ت:رتيب ب:ه را کرده باشد، يا

.2e پخش ي:ک پيغ:ام مث:ل m و f تحوي:ل آن باشد، يا

باش:د ک:ه hواقع:ة 3. و eh وج:ود داش:ته hf

17

اين رابطه غيرحلقوي است چون در دنياي واقع، تحويل پيغام پس از ارسال آن رخ

مي دهد.

Page 18: Fault Tolerant Broadcast

CAUSAL BROADCASTCausal Bcast ي ک Reliable Bcast اس ت ک ه ني از

زير را ارضاء کند:

پخش اگ:ر عّلoي: قب:ل mترتيب oعاّل پخش هيچ mاز س::پس باش::د

درس:تي پ:ردازه دري:افت mي را آن نمي مگ:ر تحوي:ل mک:ه کن:د را

گرفته باشد.

18

Page 19: Fault Tolerant Broadcast

ATOMIC BROADCASTپيغام ت رتيب ب ه ک اري ن امربوط پخش عل³ي ه اي عال³

ه اي عال³ ه اي درس ت ممکن اس ت پيغام ن دارد. پردازهنامربوط را با ترتيب نايکساني بگيرند.

مثال ي ک پايگ اه داده تک رار ش ده را درنظ ر بگيري د ک ه دو نس خه ازدارن د. در ابت دا حس اب مي هاي متف اوتي نگه را در س ايتxحس اب

x تومان است.000100 خاوی , کن د. پيغ ام توم ان واري ز مي20,000يک ک اربرm «20,000 ب ه x

شود. اضافه شود» پخش مي در همين زم ان، از س ايت ديگ ري پيغ امm «10% ک ارمزد ب ه x

عال³ ب ه هم مرب وط نيس تند m و mش ود. اف زوده ش ود» پخش ميها توانن د ب ه هم ه س ايت اين دو ب ه ه ر ترتي بي ميC.Bcastو ل ذا ب ا برسند.

x ناسازگاري مقادير نسخ 19

Page 20: Fault Tolerant Broadcast

ATOMIC BROADCASTA.Bcastه اي درس ت دان د ک ه هم ه پردازه الزم مي

پيغام بگيرن د. هم ه تحوي ل يکس اني ت رتيب ب ا را ه ا ه ا دي د يکس اني از سيس تم داش ته يع ني هم ه پردازه

باشند.

A.Bcast ي ک R.Bcast را زي ر ت رتيب ک ه اس ت برآورده کند:

q و pه:اي درس:ت ت:رتيب کّلي: اگ:ر پردازه را تحوي:ل گرفت:ه باش:ند، m و mپيغامه:اي

از p، mسپس قب:ل را mتحوي:ل مي گ:يرد تحويل بگيرد.m را قبل از q، mاگر

20

Page 21: Fault Tolerant Broadcast

FIFO ATOMIC BROADCASTA.Bcast ني ازي ب ه تحوي ل FIFOه ا ن دارد. ب راي پيغام

ب ا خط اي مقطعي mمث ال ي ک پ ردازه درحين پخش را پخش ک رده اس ت mمواج ه ش ده اس ت و س پس

اند. را دريافت کردهmهاي درست تنها و پردازه

بن:ابراينA.Bcast از قوي:تر FIFO Bcast نيست.

:لذاFIFO A.Bcast ي ک R.Bcast ش رط دو ک ه را متقاعد مي کند.FIFOترتيب کلي و

21

Page 22: Fault Tolerant Broadcast

CAUSAL ATOMIC BROADCAST

FIFO A.Bcastنمي تض مين پيغام ک ه ت رتيب کن د ب ه ه ا تحوي ل درنظ ر عل³ي را ش بکه خ بر مث ال هم ان ش وند.

ه ا ب راي ارس ال پيغامFIFO A.Bcastبگيري د و ف رض کني د بکار رود. سناريوي زير را درنظر بگيريد:

کاربر ب ا خط ايAکن د؛ ک اربر ب ا خط اي خ بري را پخش ميB )ک ه تنه ا کس ي ا س ت ک ه پيغ ام را تحوي ل گرفت ه اس ت( پاس خي

از دري افت مي Crashکن د و بالفاص له را پخش مي کن د )قب ل شده خودش(. پيغام پخش

کاربر درس تCگ يرد، هرچن د پيغ ام اص لي پاس خ را تحوي ل ميرا دريافت نکرده است.

ک نيم مي ي ک Causal Atomic Bcastتعري ف Reliable Bcast را عل³ي و کل³ي ت رتيب ني از ک ه اس ت

کند. برآورده مي ن::وع ق::ويBcastاين ه::ردوي از FIFOتر

A.Bcast و C.Bcastباشد. مي22

Page 23: Fault Tolerant Broadcast

TIMED BROADCAST خيلي از کاربرده ا ني از دارن د ک ه اگ ر پيغ امي دري افت ش د حتم ا

در ي ک مح دوده زم اني مشخص ي از لحظ ه پخش دري افت ش ود. گويند.-timelinessاين ويژگي را

ان دازه زم ان محليو زم ان واقعيزم ان ب ه يکي از دو ش کل گيري مي شود.

-timeliness ب ا زم ان واقعي(: اگ ر پيغ امي در لحظ ه(t پخش دريافت نکند.t+tرا پس از شد، هيچ پردازه درستي آن

محلي زم ان بين زم اني تف اوت باي د محلي، زم ان م ورد در کننده و تحويل گيرنده محدود باشد. پخش

پيغ ام فرض مي ي ک زم انmک نيم ک ه ه ر )ts)mمهر ش امل کننده را مشخص مي کند. است که زمان پخش

-timeliness :)ب ا زم ان محلي( يي وج ود دارد ک ه هيچ پ ردازه )برحس ب س اعت ts)m(+ را پس از m(، پيغ ام pدرس تي )

pکند. ( دريافت نمي

23

Page 24: Fault Tolerant Broadcast

TIMED BROADCAST هرBcast اي ک ه ش رايط-timeliness را ب رآورده

ناميده مي شود. Timed Bcastکند بنابراينTimed Reliable Bcast. ...داريم و ( را ت أخير Latency اين روش پخش گ وييم و در )

ک نيم ک ه زم ان واقعي اس ت ه ر ص ورت مش خص مييا منطقي )محلي(.

24

Page 25: Fault Tolerant Broadcast

UNIFORM BROADCAST ،تواف ق ش امل همگ اني پخش ش ده مط رح خواص

هيچ مح دوديتي روي -timelinessج امعيت، ت رتيب و هاي خ طادار وجود ن دارد. هاي ت حويل شد ه پ ردازه پيغام

تواف ق مثال وي ژگيAgreementده د ک ه ي ک اج ازه ميب وس يله ک ه کن د دري افت را پيغ امي خط ادا ر پ ردا زه

ه اي درس ت دري افت نش ده باش د. اين رفت ار در پردازهخيلي از کاربردها پذيرفته نيست.

ويژگي و ق وي ش رايط ت وان تري مي ه اي داشت:

25

Page 26: Fault Tolerant Broadcast

UNIFORM BROADCAST توافق يکنواخت(Uniform Agreement:)

را دري افت mاي )اعم از س الم ي ا خط ادار( پيغ ام اگ ر پ ردازهپردازه هم ه س پس نهايت ا ک رد هم درس ت را mه اي

دريافت خواهند کرد.

( جامعيت يکنواختUniform Integrity :)، ه ر پ ردازه )اعم از درس ت ي ا خط ادار( mب راي ه ر پيغ ام

ب ار ي ک دري افت ميmح داکثر را ک ه )ب ه ش رطي کن د پيغام پخش شده باشد(.

26

Page 27: Fault Tolerant Broadcast

UNIFORM LOCAL-TIME -TIMELINESS

ثابتوج ود دارد ک ه هيچ پ ردازه يي p پيغ ام m را از زم ان ts)m(+پس )برحس ب p دري افت )

ممکن است سالم يا خطادار باشد.Pکند. نميUniform FIFO orderUniform Causal orderUniform Total order

ت وان ف رم براي ه ر ک دام ميUniformرا تعري ف آنکرد.

27

Page 28: Fault Tolerant Broadcast

ناسازگاری و آلودگی (CONTAMINATION)اي پيغ امي را دري افت نکن د )در ح الي ک ه اگ ر پ ردازه

کرده دري افت پي دا بقي ه ناس ازگاري وض عيت ان د( کن د و براس اس اين وض عيت ناس ازگار محاس بات مي

کند خود را ادامه داده و پيغام پخش مي

شود. )هرچند که نوع خطا کل سيستم آلوده ميOmission).بوده است

.الزم است به نحوي از اين آلودگي جلوگيري شودرا با مثال اطالعاتي در هر پيغام باشد که ارتباط آن

پيغام قبلي معلوم کند و لذا عدم دريافت يک پيغام براحتي قابل کنترل باشد.

28

Page 29: Fault Tolerant Broadcast

بندي بينابيني: جمع

اعتب ار: اگ ر پ ردازه درس تيbroadcast)m( را انج ام کنند. را دريافت مي هاي درست آن داد، همه پردازه

پ ردازه اگ ر هم ه mاي تواف ق: ک رد، دري افت را

کنند. هاي درست ديگر هم دريافت مي پردازه

جامعيت: ه ر پ ردازه درس ت تنه ا يکب ارm را دري افت را پخش کرده باشد. اي آن کند اگر پردازه مي

29

Page 30: Fault Tolerant Broadcast

جمع بندی و نتیجه گیریReliable Bcast = Validity + Agreement +

IntegrityFIFO Bcast = R.Bcast + FIFO OrderCausal Bcast = R.Bcast + Causal OrderAtomic Bcast = R.Bcast + Total OrderFIFO A.Bcast = R.Bcast + FIFO Order +Total

OrderCausal Bcast = R.Bcast + Causal Order +

Total Order

30

R.Bcast

F.Bcast

C.Bcast

A.Bcast

F.A.Bcast

C.A.Bcast

Total Order

Total Order

Total Order

FIFO Order FIFO Order

Causal Order

Causal Order

Page 31: Fault Tolerant Broadcast

BROADCAST ALGORITHMSاي بي ان ه ا ب ه روش ي سلس له مرات بي و اليه الگوريتم

ابت دا مي يع ني بقي ه R.Bcastش وند بين س پس و براساس آن.

ش ود ف رض ه ايي ک ه بي ان مي هم ه الگوريتمUniform Integrity.را دارند

:قرارداد عالمتگذاريR براي ReliableF براي FIFOC براي CausalA براي AtomicFA براي FIFO AtomicCA براي Causal Atomic

31

broadcast )T,m(

پخش نوعMessage

deliver)T,m(

Page 32: Fault Tolerant Broadcast

BROADCAST ALGORITHMS

اي پ ردازه فراخوان د )broadcast)T,mاگ ر را کرده است.T-Bcast را mگوئيم

براي مثالbroadcast)R,m(- را Timeliness Reliable Bcast پيغ ام m

خوانيم.

32

Page 33: Fault Tolerant Broadcast

RELIABLE BROADCASTهاي ناهمگ ام ب ا خط اي ماليم پ ردازه راح تي در سيس تم به

سازي است. و کانال ارتباطي )بدون افزار( قابل پياده :ايده مبنايي

برايR.Bcast ي ک پيغ ام، ي ک پ ردازه پيغ ام را ب ه خ ود و هم ه فرستد. همسايگانش مي

پ ردازه اولي ک ه ب ار پيغ امي را دري افت ک رد آن براي ب ه اي را کند. ميR.Deliverکند و سپس آنرا همه همسايگانش رله مي

اولي ه فرض اعم ال ک ه اس ت اين و )send )mم ان receive )m(کنند: شرايط زير را برآورده مي

اعتب ار: اگ رp، m را ب ه q بفرس تد و p و q و کان ال ارتب اطي پيغام را دريافت خواهد کرد. qدرست باشند، سپس

جامعيت يکن واخت: ب راي ه رm، qب ار ح داکثر يکm را از p را فرستاده باشد.p، mدريافت خواهد کرد اگر

33

Page 34: Fault Tolerant Broadcast

RELIABLE BROADCAST الگوريتم: در هر پردازهp:داريم

To execute broadcast (R,m): tag m with Sender)m( and Seq#)m( Send)m( to all neighbors including p

deliver (R,m) occurs as follows: upon Receive)m( do if p has not previously executed deliver)R,m( then if Sender)m(p then Send)m( ( to all neighbors deliver)R,m(

پردازه ک ه ناهمگ ام سيس تم ي ک در ف وق خط اي الگ وريتم ب ا تنه ا ه ا Receive Omission مواج ه باش ند و خط اي ارتب اطي نداش ته باش يم

است.Uniform R.Bcastيک الگوريتم 34

Page 35: Fault Tolerant Broadcast

FIFO BROADCAST برايFIFO Bcast ي ک پيغ ام mاي نظ ير ، پ ردازهq ،

F.Bcastامين پيغ ام m، iکن د. اگ ر ميR.Bcastرا آن باشد:qشده بوسيله

Sender)m(=q و Sep#)m(=iي هر پ ردازهp ب ه ازاء ه ر فرس تنده ،q ي ک ش مارنده

next]q[ نگهمي دارد ک ه مع رف ش ماره پيغ ام بع دي شود.q، F.Bcastاست که بايد از

پ ردازه را p، mي وق تي R.deliverآن ک رد، در را msgbagمي آن و مي گ ذارد ک ه را توان د ه ا F.deliverبه ترتيب مي( .کندFIFO)

35

Page 36: Fault Tolerant Broadcast

FIFO BROADCAST ALGORITHM

Initialization:

msgbag := next]q[ := 1 for all q

To execute broadcast(F,m)

broadcast)R,m(

deliver(F,m) occurs as follows:

upon deliver)R,m( do

q := Sender)m(

msgbag := msgbag {m}

while ) m msgbag : Sender)m(=q AND Sep#)m(=next]q[ do

deliver)F, m( next]q[ := next]q[ + 1

msgbag := masbag – {m}

36

Page 37: Fault Tolerant Broadcast

FIFO BROADCAST ALGORITHM

الگ وريتم ي ک داش تن ب ا الگ وريتم R.Bcastقض يه: ،کند. را ارضاء ميFIFOباال ترتيب يکنواخت

ه اي اگ ر الگ وريتم مبن ايي ويژگيUniform Agreement را ارض اء کنن د، الگ وريتم مش تق -timelinessي ا

شده نيز چنين خواهد بود.

37

Page 38: Fault Tolerant Broadcast

CAUSAL BROADCASTInitialization: PrevDlvrs := broadcast(C,m) broadcast)F,<PrevDlvrs || m>( PrevDlvrs :=

deliver(C,m):upon deliver)F,< m1,m2,…,ml >( for some l do

for i:=1…l do if P has not previously executed deliver(C,mi)

then deliver(C,mi)

PrevDlvrs := PrevDlvrs || mi38

Page 39: Fault Tolerant Broadcast

CAUSAL BROADCASTprevDlvrsپيغام ک ه مجموع ه اس ت آخ رين pه ايي از

Bcast، C.deliver.کرده است کند. ها را پخش مي آنbroadcastبنابراين در

پ ردازه را qوق تي پيغ امي دنبال ه چ نين ،C.deliver پيغام مي دري افت کن د، قبال ک ه را دنبال ه از ه ايي

(C.delive نکرده است )C.deliverکند. مي

تض مين نيازمن د الگ وريتم اين Uniform FIFOدرس تي Order بوسيله FIFO Bcast.زيرين است

شرايط خاص ي ب ر الگ وريتم حکمفرم ا نيس ت و ل ذا ب رايي ا ناهمگ ام(، توپولوژي ه اي مختل ف ه ر سيس تم )همگ ام

کند. شبکه، و هر تعداد خطاي ماليم کار مي

39

Page 40: Fault Tolerant Broadcast

ATOMIC BROADCASTالگوريتم الگ وريتم برخالف هيچ قبلي، Atomicه اي

Bcast( ب راي سيس تمDeterministic مشخص ي هاي ( و تنه ا ک ه ک نيم ف رض اگ ر ح تي ن دارد، وج ود ناهمگ ام

آن و خط ادار پ ردازه ي ک خط اي ح داکثر ب ا Crashهم داريم.

زي ر پي اده A.Bcastالگ وريتم ي ک سيس تم همگ ام را در کند: سازي مي

To execute broadcast(A,m): Broadcast)R,m(

deliver(A,m) occurs as follows: upon deliver)R,m( do schedule deliver)A,m( at time ts(m)+

40

Page 41: Fault Tolerant Broadcast

TERMINATING RELIABLE BROADCAST

از پيغ امي پ ردازه مج از اس ت ک ه ه ر پيغامMهر ه اي )مجموع ه ه اي ممکن( را پخش همگ اني کن د و هيچ دانش قبلي در م ورد پيغام

ب ا Bcast پس از فراخ واني pدر راه و ي ا بالتکلي ف ن دارد. اگ ر مثال توانن د انتظ ار داش ته باش ند ه اي درس ت نمي خط ا مواج ه ش ود پردازه

ب راي پخش هم pکنن د. ح تي از قص د ه ا را دري افت مي ک ه هم ه پيغامتوانند مطلع شوند. نمي

برعکس در م واردي ق رار اس ت ي ک پ ردازه پيغ امي را پخش کن د وه ا از اين قص د مطل ع هس تند. مثال در ي ک سيس تم توزي ع ديگ ر پردازه

درن گ، ي ک سنس ور درج ه ح رارت ق رار اس ت ه ر از چن دگاه ش ده بيپخش اين از هرک دام کن د. اعالم را ح رارت درج ه ه ا )معل وم(

مطرح شود.Terminating R.Bcastتواند به عنوان مي

41

پردازهBcastنوع ني از دارد هم ه را يي ک ه پيغ ام ي ک ه اي درس ت هميش ه Bcast، Crash باش د و ي ا قب ل از Faultyدري افت کنن د، ح تي اگ ر فرس تنده

کند.

Page 42: Fault Tolerant Broadcast

TERMINATING RELIABLE BROADCAST

پيغ ام تحوي ل ش ده ممکن اس ت پيغ ام خ اصSF باش د ب ودن فرس تنده اس ت. Faulty و مع رف SFMک ه

ه ايي ک ه ممکن اس ت دري افت بن ابراين مجموع ه پيغامM{SF}شود )تحويل شود(:

فرق اين ن وعBcast ب ا R.Bcast در اين اس ت ک ه کنن د. ه اي درس ت هميش ه پيغ ام را دري افت مي پردازه

ش ود ک ه ب ه همچ نين ني از ج امعيتي هم کمي رقي ق مي را SFده د ک ه پيغ ام پخش نش ده ه ا امک ان مي پردازه

هم تحويل بگيرند.

42

Page 43: Fault Tolerant Broadcast

TERMINATING RELIABLE BROADCAST

Terminating Reliable Bcast را زي ر ش رايط برآورده مي کند:

.1Termination پيغ امي نهايت ا درس ت پ ردازه ه ر :کند. دريافت مي

اعتب ار: اگ ر فرس تنده درس ت باش د و پيغ امي پخش کن د 2.کنند. را دريافت مي هاي درست آن سپس همه پردازه

توافق 3.

پيغ ام تحوي ل 4. ي ک پ ردازه درس ت ح داکثر جامعيت: ه ر اگ ر مي پ ردازهmSFگ يرد و باي د باش د حتم ا را اي آن

پخش کرده باشد.

اين ن وع پخش ب ويژه درخص وص خط اي ن امعلوم تحتشود. مطرح ميByzantineعنوان توافق

43

Page 44: Fault Tolerant Broadcast

اجماع در م وردTerminating R.Bcast ي ک پ ردازه پيغ امي را ،

ه اي درس ت رود ک ه هم ه پردازه کن د و انتظ ار مي پخش ميروي آن توافق داشته باشند.

پردازه ي ک مق داري در مس ئله اجم اع، هم ه ه اي درس ت دهن د و س پس باي د روي مق داري از مق ادير ارائ ه ارائ ه مي

شده توافق داشته باشند. براي مسئله اجماع، دو تاPrimitive:الزم داريم

Propose )v(decide )v(

V اس ت ممکن ک ه اس ت مق اديري هم ه مجموع ه proposeتوان د روي آن ش ود. مجموع ه مق اديري ک ه مي

V{NU}اجم اع ش ود )تص ميم گرفت ه ش ود( عبارتس ت از پردازهNUVک ه هم ه ک ه اس ت اين مع رف مق دار ه ا

اند. يکساني را ارائه نداده

44

Page 45: Fault Tolerant Broadcast

ادامه - اجماعکند: اجماع نيازهاي زير را برآورده مي

.1Termination نهايت ا ه ر پ ردازه درس ت روي مق داري :گيرد. تصميم مي

را ارائ ه دهن د س پس هم ه vه ا اعتب ار: اگ ر هم ه پردازه2.گيرند. تصميم ميvها روي پردازه

تص ميم بگ يرد، س پس vتواف ق: اگ ر پ ردازه درس تي روي 3.گيرند. تصميم ميvهاي درست هم روي همه پردازه

ي ک 4. ح داکثر روي نهايت ا درس ت پ ردازه ه ر جامعيت: تص ميم بگ يرد vNUگ يرد. اگ ر روي مق دار تص ميم مي

را ارائه داده باشد.vاي بايد سپس پردازه

45

Page 46: Fault Tolerant Broadcast

: مسائل بین ارتباط و اجم اع بين ارتب اط بررس ي بين T.R.Bcastهدف: و ؛

و خاص ي A.Bcastاجم اع ش رايط در ح الت، ه ر در ک ه دانيم(. دانيم )هم ارز يک ديگر مي ط رفين مس ئله را يکي مي

است.Reductionتکنيک بررسي اين هم ار زي

گوئيم مس ئلهB منج ر ب ه مس ئله Aياب د( ش ود )تقلي ل مي مي وج ود داش ته باش د ک ه ه ر ا لگ و ريت م ب راي TABاگ ر ال گ وريت م

A را به الگوريتمي براي B .تبديل کند مثل منجرشدنC.Bcast به FIFO Bcast

:غيررس ميReduction از B ب ه A بعض ي مواق ع ب ه ش کل B Aش ود. يع ني ک ه نوش ته م يB س خت ت ر از A .نيس ت

ي ک دي گر ب ه تقلي ل قاب ل ا گ ر گ وئيم ارز هم را دو مس ئله باشند.

46

Page 47: Fault Tolerant Broadcast

و اجماع بین TRBارتباط تقّليل اجماع بهTRB: از اس تفاده ب ا پ ردازه ه ر اجم اع، ح ل TRBبراي

را خ ود ميproposeمق دار پ ردازه وق تي اي کن د. پ ردازه از را آنqي مق داري گ رفت، تحوي ل در را

ه اي درج مي کن د و وق تي هم ه وارده]V]qي وارده از non-SF تکمي ل ش د، روي اولين مق دار Vب ردار گيرد. تصميم ميVبردار

ت وان ب ا وج ود خط اي ماليم و ب دون با اين روش ميهم ب ه ناهمگ امي توج ه همگ امي/ و ش بکه بن دي

را Reductionسيس تم در م ورد ه ر سيس تمي اين (TRBانجام داد. )اجماع به

47

Page 48: Fault Tolerant Broadcast

و اجماع بین - TRBارتباطادامه

تقّليلTRB:به اجماع اين تقلي ل ني از دارد ک ه سيس تم همگ ام ب وده و ي ک دانش اولي ه

ک ه در آن فرس تنده پخش خواه د ک رد، وج ود t0در م ورد زم ان ک نيم ک ه ش بکه ک امال مرتب ط داش ته باش د. همچ نين ف رض مي

است و هيچ خطاي ارتباطي نداريم.

پيغ ام لحظ ه m، فرس تنده، mبراي پخش در را t0 ب ه هم ه t0+ي زم اني را در مح دودهmفرس تد. اگ ر ه ر پ ردازه، مي

و m ک ردن proposeدري افت ک رد، از الگ وريتم اجم اع ب راي کند. استفاده ميSF کردن proposeدر غيراينصورت براي

ي ک تحوي ل پردازهmsgبراي اجم اع ، الگ وريتم منتظ ر ه ا اس ت مق دار NUمانن د ت ا تص ميم بگ يرد. اگ ر تص ميم غ ير از مي

مي تحوي ل ص ورت را اين غ ير در تحوي ل SFگيرن د. را گيرند. مي

48

Page 49: Fault Tolerant Broadcast

و اجماع بین ATOMICارتباطBROADCAST

تواند براحتي به اجماع ميA.Bcast.تقليل يابد برايpropose ک ردن ي ک مق دار، ي ک پ ردازه آن مق دار را

A.Bcastکند. مي براي تحوي ل، پ ردازه مق دار اولين پيغ امA.Deliver ش ده

دارد. را بر مي

ب ه ، هم ه A.Bcastموج ود در ت:رتيب کّلي باتوج ه ها مقدار يکساني را برخواهند داشت. پردازه

اين تقلي ل فرض ي در م ورد سيس تم ن دارد و ل ذا ه رکند. تعداد خطاي ماليم را تحمل مي

تقلي ل تنه ا A.Bcastامک ان درحض ور اجم اع ب ه )خارج از حوصله بحث اين فصل( وجود دارد Crashخطاي

49

Page 50: Fault Tolerant Broadcast

COMPLEXITYپیچیدگی ه اي توزي ع ش ده، تن وعي از در م ورد ک ارآيي الگوريتم

ها عبارتند از: ها مطرح هستند. کليدي معيار زمان وهاي مبادله شده و يا الزم تعداد پيغام

براي اجراي الگوريتم.

،معي ار در م ورد بررس ي ي ک الگ وريتم متحم ل خط اي ا تحم ل خط ا Robustness براس اس معم وال ک ه

پردازه مي تع داد ک ه اس ت خط اداري توان د ه اي متحمل شود.

50

Page 51: Fault Tolerant Broadcast

ادامه - پیچیدگیتحمل خطا:1. وج ود ميnبا ف رض پردازن ده ک ه تع داد fک نيم ح داکثر

خواهيم تحمل کنيم. هاي خطادار است که مي پردازه براي هري ک از دو مس ئلهTRB و اجم اع، اگ ر خطاه ا اختي اري

باشد.f < n/3باشد، نهايتا باشد.n > 3f بايستي

پيچيدگي زماني:2.گيري زم اني روش ن نيس ت. هاي ناهمگ ام، ان دازه در سيس تم

بنابراين بايستي مالک ديگري براي سنجش بکار برد. درخص وص پيچي دگي زم اني مناس ب اس ت ک ه م دل خاص ي از

همگامي معرفي شود: مدلSynch. Roundها همگ ام ک نيم ک ه س اعت : ف رض مي

لحظ ات گسس ته ش ده در و تي ک مي2، 1، 0اند زن د. ،... ( گويند.round دور )امينi را i و i-1زمان بين تيک

51

Page 52: Fault Tolerant Broadcast

ادامه - پیچیدگی در ي ک دور(round پ ردازه اعم ال زي ر را در (، ه ر

دهد: ترتيب مشخص شده انجام مياي از همسايگان ارسال پيغام به زيرمجموعه1.در 2. همس ايگان بوس يله ش ده ارس ال پيغ ام دري افت

شروع همان دور.ه اي دري افت تغي ير ح الت برمبن اي ح الت فعلي و پيغام3.

شده. ش بکه ي ک در معم وال دوري( )همگ امي م دل اين

ارتب اطي ک امال مرتب ط و ب دون خط اي ارتب اطي ف رض دور مي ه ر در پ ردازه زوج ه ر بن ابراين ش ود. توانند پيغام مبادله کنند. مي

52