صفحه 1:
بن بست توزیع شده ‎gach ay‏ سپسچداز پوس و ساروة اكز وسوس بد منابع سيستم يا رد و بدل نمودن ييام با يكديكر ‏- تعريف بن بست در سيستم هاى تكى براى سيستم هاى توزيع ‎cual ae oud‏ ‏- پیاده سازی بن بست توزیع شده بسیار ه تر است. زیرا گره ها از حالت سرتاسری سیستم اطلاعاتی ندارند. ‎ ‎

صفحه 2:
انواع بن بست های توزیع شده * بن بست در اختصاص منابع - جندين يروسس بخواهند به يك منبع دسترسى داشته باشند. * بن بست در تبادل ييام ها - هر يروسس در يك مجموعه منتظر ييام از يروسس هاى مجموعه ديكر است. ‎EP‏ پروسس در این حالت نمی توانند ارسال کنند. و هر کدام منتظر دیگری است.

صفحه 3:
بن بست در اختصاص منابع ؟ ایجاد همزمان چهار شرط زير باعث بن بست می شود ‎.١‏ انحصار متقابل ‎Hold and Wait .2‏ ۳ منابع انحصاری(01661001101 ‎(No‏ ‎Circular Wait .4‏ * در سیستم های توزیع شده پروسس کنترل کننده با دانش از نو حالت سرتاسری سیستم وجود ندارد.

صفحه 4:
‎Cccp way‏ یم ‎ ‎{a) Release arrives before request (b) Request arrives before release

صفحه 5:
راهکارهای مقابله با بن بست * پیشگیری بن ‎(Deadlock Prevention) cu.‏ * اجتناب از بن بست( 457010131366 106201060[16) * شناسايى بن بست(106]6011011 ع106201001)

صفحه 6:
پیشگیری بن بست * با نقض یکی از چهار شرط ذکر شده مى توان از بن بست * بيشتر با حذف شرط هاى ‎Hold-and- , Circular-wait‏ ‎wait‏ از ایجاد بن بست جلوگیری می شود. * حذف شرط اتحصار متقابل برای دسترسی منابغ غیر ممکن است.

صفحه 7:
۱ مرتب سازی منابع * _ اختصاص عدد منحصر بفرد به منابع سیستم یک پروسس در صورتی می تواند درخواست منبعی با شماره را بدهد که منابع با شماره بالاتر [ را در اختیار نداشته باشد. پیاده سازی در محیط توزیع شده ساده است و مقداری بالاسری دارد.

صفحه 8:
پیشگیری بن بست ۲ روش مبتنی بر مهر زمان *_ اختصاص شماره های اختصاصی به پروسس ها ‎ *‏ اولویت دهی به اعداد اختصاص داده شده با هر ترتیب مورد نظر ‏*_ اگر 31 در خواست منبعی کند که در اختیار 3 باشد. در صورتی که اولویت 31 بیشتر از ژط باشد. آنگاه 1 منتظر می ماند. در غير اين صورت آن ۲01160-026016 می شود. ‏* روش جلوكيرى از بن بست ها *؟ براى هر يال (2 21-2 در كراف انتظارء 31 اولویت بالاتر از ۳ دارد. *؟ بنابراين در كراف انتظار سيكلى نخواهيم نداشت.

صفحه 9:
۳ طرح ۲۷۷۵۲-116 *_ مبتنی بر تکنیک انحصاری است. * _ اگر 1 در خواست منبعی کند که فعلا در اختیار ‏ باشد. در صورتی که مهر زمان 1 كمتر از مهر زمان [2 باشد(281 قديمى تراز [2 است). آن منتظر می ‎wile‏ در غیر این صورت 31 حذف یا ‎rolled-‏ ‎back(Dies)‏ «. 935 * _ مثال: فرض کنید پروسس های ۳2 .۳1 و 3 به ترتیب دارای مهر زمان ۵ ۱۰ و ۱۵ باشند. * . اگر 1 در خواست منبعی کند که در اختیار 32 باشد, آن منتظر می مائد. * _ اگر 33 در خواست منبعی کند که در اختیار 32 باشد. آن حذف می شود.

صفحه 10:
پیشگیری بن بست ۴ طرح ]۲۷۵۱0-۷۷۵ ۴ _ مبتنی بر تکنیک غیرانحصاری است. نقطه مقابل روش 1۷۷۵1-116 . اكر 21 د خواست منبعی کند که در فعلا اختیار ( باشد. در صورتی که مهر زمان 31 بیشتر از مهر زمان [ط باشد( جوان تر از ‎ol (cus! Pj‏ منتظر می ماند. در غير اين صورت [282 حذف با -۲01160 (8016)1«165 می شود( توسط 1 حذف می شود و منبع از آن گرفته می شود). ۶ مثال: فرض كنيد يروسس هاى 21.12 و 23 به ترتیب دارای مهر زمان ۵ ۱۰ و ۱۵ باشند. ۶ اگر ۳1 در خواست منبعی کند که در اختیار 2 باشد. آنگاه منبع از 32 گرفته منی شود و 72 حذفامی شود * اگر 33 در خواست منبعی کند که در اختیار 32 باشد. آن منتظر می ماند. 10

صفحه 11:
11 Wound-wait method Wait-die method

صفحه 12:
12 ‎Glide! ©‏ آزین بست فکنیکی آستا که تصمیم گیری:هآی خود رب صورت پویا و لحظه ای انجام می دهد. در این روش هر درخواست منبع توسط پروسس را بررسی می کند. آیا این در خواست مورد قبول است يا خیر؟ * پیاده سازی اجتناب از بن بست توزیع شده غیر ممکن است. - هر گره باید حالت سرتاسری سیستم توزیع شده را دنبال کند. ‎Ke >‏ نمودن حللت امن سرتاسری توسط پروسس ها باید انحصار متقابل باشد. ‎ ‏7 چک نمودن حالت امن سرتاسری بالاسری محاسبات بسیار زیادی دارد.

صفحه 13:
13 * در این روش به پروسس ها اجازه داده می شود. هر منبعی را در رخ داد. شناسایی و حذف می شود. * استفاده از گراف انتظار 7 گراف انتظار محلی در هر سایت: گره های این گراف مطابق با تمامی پروسس های سیستم توزیع شده است که فعلا منلبع محلی سایت مورد نظر رل در اختیار دارند یا درخواست آن منابع محلی سایت را دلده اند - گراف انتظار سرتاسری: لین گراف از اجتماع گراف های انتظار محلی سایت ها ایجاد می شود.

صفحه 14:
* مثال ۱ : گراف های انتظار محلی دو سایت 51 و 52

صفحه 15:
* قال ۲ گزاف اتتظارسبرتاسری فوسایت 1ص و 92ا قرمقال: ۱ هر 6

صفحه 16:
16 شناسايى بن بست روش هاى شناسايى بن بست توزيع شده ‎١‏ متمرکز: یک سایت وظیفه شناسایی بن بست را بعهده دارد. ۷ «سلسله مزاتبی» سایت ها به صورت: ساختاز درختی رن پست را ‎ilu‏ سي ‎aud‏ ۲ توزیع شده: تمامی پروسس ها در شناسایی پن بست با هم همکاری می کنند.

صفحه 17:
17 روش هاى شناساي, بن بست توزيع شده ‎Table 18.1 Distributed Deadlock Detection Strategies‏ Centralized Algorithms Hierarchical Algorithms Distributed Algorithms Strengths | Weaknesses | Strengths | Weaknesses | Strengths | Weaknesses + Not vulnerable |» Deadlock res- = Algorithms |+ Considerable |» Not vulnera- | » May be di areeoncep- | communica- | bletosingle | cult toconfig- | tosingle point | olutionis tuallysimple | tionsover- point offail- | uresystem so | offailure cumbersome andeasyto | head:every | ure that mostpo- |. No node is because sev- imptement | nodemust | Deadlock res- | tential dead- |” swamped with | eral sites may + Comralsite | sendstatein- | olutiomactivi- | locks are deadlock detect the hascomplete | formationto | tyistimitedit | localizedioth- | gerection ‏مه‎ ‎information | centralnode | most potential | erwise there | ‏ومد‎ lock and may and can opti- |* Vulnerableto | deadlocks are | ™ay actually not be aware mally resolve | failure of cen- | relatively be more ove of other deadlocks tral node localized ‏وعم وم‎ nodes in- distributed volved in the approach deadlock + Algorithms are difficult to design eeause of | timing eon- siderations

صفحه 18:
شناسایی بن بست- روش متمرکز * هرسایت گراف انتظار محلی خود را ایجاد می کند. ۶ رات اصطان ‎Sy galls.‏ بروعسي سما سك سه ااه می شود. * یکی از سه روش زیر برای ایجاد پا تغییر گراف انتظار سرتاسری ‎San‏ اسن استتقاقة شوق موقعى كه يال جديدى به يكى از كراف هاى انتظار محلى اضافه شود يا يالى حذف شود. به صورت پریودیک موقعی که تعدا مشخصی از تغییرات در گراف های انتظار محلی داشته باشیم. ۳ _ موقعی که گره هماهنگ کننده نياز به الكوريتم شناسايى سيكل داشته باشد. 18

صفحه 19:
شناسایی بن بست- روش متمرکز * شناسایی بن بست برمبنای روش ۳ - اضافه نمودن شناسگرهای منحصربفرد (مهرهای زمان) به در خواست های از سایت های مختلف موقعی كه 31 از سایت ۸ درخواست منبعی از ژط در سایت 3 می کند. یک پیام درخواست با مهر زمان 1 ارسال می شود. - یال [ 31 با برچسب 18 در گراف محلی سایت ۸ اضافه می شود. اگر 8 پیام درخواست را دریافت نملید و نتولند بلافاصله به درخواست فوق ‎grant pl,‏ ارسال کند. یال فوق به گراف محلی سایت 8 اضافه مى شود. 19

صفحه 20:
شناسایی بن بست- روش متمرکز * الكوريتم: ‎١‏ كره هماهنك كننده يك ييام آغازين به تمامى سايت ها ارسال مى كند. ۲ _ هر سایت با دریافت پیام آغازین, گراف انتظار محلی خود رابه گره هماهنگ کننده ارسال می کند. ۳ _ موقعی که گره هماهنگ کننده از تمامی سایت ها پاسخ دریافت نمود. گراف انتظار سرتاسری را به صورت زیر ایجاد می کند: @ ایجاد گراف انتظار سرتاسری, که هر گره آن به یک پروسس اختصاص داده ‏ می شود. 0 گراف شامل یال ۳ ۳1 است اگر و فقط اگر 0 یک یال [1-9ظ در یکی از گراف های انتظار محلی داشته باشیم؛ یا ۲ یک یال 317 با تعدادی پرچسب 19 در چند گراف انتظار محلی داشته باشیم. * اكر گراف ایجاد شده سیکل داشته باشد. آنگاه سیستم در حالت بن بست قرار دارد. 20

صفحه 21:
21 شناسایی بن بست- روش متمرکز * مثال ۳: گراف های انتظار محلی دو سایت و گراف انتظار سرتاسری ایجاد شده و 5 ‎Cerys‏

صفحه 22:
22 Consider the following hierarchical deadlock-detection algorithm, in which the global wait-for graph is distributed over a number of different controllers, which are organized in a tree. Each non-leaf controller maintains a wait-for graph that contains relevant information from the graphs of the controllers in the subtree below it. In particular, let Sa, Ss, and Sc be controllers such that Sc is the lowest common ancestor of S4 and Ss (Sc must be unique, since we are dealing with a tree). Suppose that node T; appears in the local wait-for graph of controllers $4 and Sp. Then T; must also appear in the local wait-for graph of * Controller Sc * Every controller in the path from Sc to S4 * Every controller in the path from Sc to Sg

صفحه 23:
شناسایی بن بست- روش سلسله مراتبی In addition, if T; and Tj appear in the wait-for graph of controller Sp and there exists a path from T; to T; in the wait-for graph of one of the children of Sp, then an edge T; — T; must be in the wait-for graph of Sp. Show that, if a cycle exists in any of the wait-for graphs, then the system is deadlocked. 23

صفحه 24:
شناسایی بن بست- روش توزیع شده کامل * الگوریتم: \ ۲ ۳ 24 تمامی سایت ها متئولیت یکسان در شتاسایی بن پست: دارند: هر سایت گراق انتظار محلی خود را ایجاد می کند که آن بخشی از گراف سرناسری است. در این حالت یک گره اضافی 36 به هر گراف انتظار محلی اضافه می کنیم. ...۳39۳0۷ پوس محلی[۳ منتظر منبعیدر ساینشیگر لسنکه قعلادر لختیر بروسس‌هیگریب اشد [66312: يروسسواز سايتهيكر منتظر كرقتنهتبع سه فعلادر لختير بروسسرم حل لظ لست اگر گراف انتظار محلى در يكى از سايت ها شامل سیکل بدون گره 62 باشد. در لین حالت سپستع در حالت ین پست است. اگر گراف انتظار محلی شامل سیکل با گره ۳626 باشد. در این حالت سیستم احتمالا د ر حالت بن بست قرار دارد برای اثبات ‎AS‏ سبیستم در حالت بن بست است یا یره ای الگوریتم توزیعی شناسایی بن بست. اجرا شود

صفحه 25:
شناسایی بن بست- روش توزیع شده کامل * مثال ؟: فرض كنيد دو سايت 51 و 52 دو گراف انتظار محلی به صورت شکل زیر ایجاد نموده باشند. اگر شروع کننده شناسایی بن نايك 81 باشد» مراحل شناسایی بن بست را شرح دهید. PAN site S, site S,

صفحه 26:
شناسایی بن بست- روش توزیع شده کامل * حل مثال ۴: - شناسایی سیکل ۳6 ۳6-۳2-۳3 در سایت 81 - ارسال سیکل فوق به 52 - تغییر گرلف انتظار محلی در سایت 52 - گراف جدید ایجاد شده به صورت شکل زیر است. ل 2 26

صفحه 27:
27 شناسایی بن بست- روش توزیع شده کامل * ال هد: مقال ۴رابرای,خالتی تکزار کنید. که شروع کننده: سایت 4 * حل: - شناسایی سیکل ۳2 ۳43 ۲33 ۲۳63 ۳6۶ در سایت ‎S2‏ - ارسال سیکل به 51 - تفییر گراف انتظار محلی

صفحه 28:
شناسایی بن بست- روش توزیع شده کامل * سول: در مثال ۴اگر دو سایث همزمان شناسایی بن بسث را شروع کنند چه مشکلی پیش می آید؟ * راه حل مشکل: - شماره گذاری انحصاری پروسس ها با ([1۳)۳ - اگر در سایتی سیکل زیر را داشته باشیم: ‎Pex > Par > Pra > Pag > Pex‏ - سایت فوق در صورتی می تواند. شناسایی توزیع شده ین بست را شروع کند که شرط (,1)۳>(م )10 باشد * برای مثال قبل اگر ‎wth ID(P1)<ID(P2)<ID(P3)<ID(P4)‏ چون (11()۳2(>11«)۳3 باشد. شروع کنند سایت 82 خواهد بود. 28

صفحه 29:
29 شناسایی بن بست- روش دوم توزیع شده * به ازای هر شتی داده(:010[66 12۵18) دو پارامتر شناسگر منحصر بفرد ‎Di‏ و متغییر (1001660_)1 تعریف می شود. ‏به ازای هر تراکنش [ چهار پارامتر زیر تعریف می شود: ‏شناسگر منحصربفرد [1' متغيير ‎Held_by(Tj)‏ ‏متغییر ((0۳)1] ان ۷۷ ‎Request_Q(Tj) ‏صف‎

صفحه 30:
شناسایی بن بست- روش دوم توزیع شده * امتال ‏ فرضن کنبدعراکش:12 متظرقعی خادهرای است: کهد اختیار, 1.1 استتوساب. منتظر شنی داده ای است که در اختیار 10 است. جدول توزیعی پارامترهای تراکنش را بدست آورید. Request_Q Ty 12 nil 30 Held_by nil To Ty Wait_for nil To Ty Transaction qo Ty 1۳

صفحه 31:
31 شناسایی بن بست- روش دوم توزیع شده

صفحه 32:
شناسایی بن بست- روش دوم توزیع شده * مثال ۷: در الگوربتم شناسایی بن بست توزیع شده. جدول زیر رابا توجه شکل گراف تراکنش های داده شده کلمل نمائید.لگر تراکتش ,]یک درخواست برای شئی داده (121۵-0[[06) نگه داشته توسط و1 ارسال نملید. جدول تغییر یافته پارامترها را بدست آورید و نحوه ی تشخیص بن بست را در این الگوریتم شرح دهید. OOO) 9 32

صفحه 33:
33 شناسایی بن بست- روش دوم توزیع شده * حل مثال ۷ وروی سلس و علد سير له مسالا ‎(asta tem bere request‏

صفحه 34:
بن بست در تبادل پیام ها * انواع 7 بن بست انتظار متقابل و دو جانبه - عدم دسترسی بافرهای پیام ها 34

صفحه 35:
35 بن بست در تبادل پیام هاانتظار متقابل * بن بست انتظار متقلبل در تبادل پیام موقعی رخ می دهد که هر کدام از عضوهای پروسس یک گروه منتظر پیام از عضو دیگر از همان گزوه استت و پیات | ‎opt all lay‏ * تعریف مجموعه وابستگی(1(5) 7 برای پروسس ۳1 که متوقف و منتظر دریا شامل تمامی پروسس های است که از ط ‎ely‏ دارند. م است. ‎DS(Pi)‏ ‏ر دریافت حداقل یک 21 در صویتیمی‌تولند به کار خود ادلمه دهد که حدلقلیک پیام از مجموعه ولبستگی(۳1) 125 در بافشماید

صفحه 36:
فى مصسصيور لاقل ‎jie eos play‏ *بن بست در یک مجموعه پروسس های ‎٩‏ را می توان به صورت زیر تعریف انمود: أ تمامی پروسس های مجموعه ‎٩‏ متوقف و منتظر دریافت پیام(ها) هستند. ۲ مجموعه ‎5٩‏ شامل مجموعه های وابستگی تمامی پروسس ها با عضوهای مجموعه ی ‎٩‏ است. ۳ پیامی بین عضوهای 5 ارسال نمی شود. 36

صفحه 37:
بن بست در تبادل پیام هاانتظار متقابل #تجال بدو ‎lat oil) ay. (Si gy aed oad jibes eal‏ بكيريد و بن بست تبادل پیام را بررسی نمایید. © (a) No deadlock (by Deadlock Figure 18.16 Deadlock in Message Communication 37

صفحه 38:
بن بست در تبادل پیام ها-انتظار متقابل * حل مثال ۸: S={P1,P2,P3} . DS(P1)={P5,P2} . wb @Lss » - 2 ‏منتظر دریافت پیام از‎ 1 5, DS(P3)={P , DS(P2)={P3} پا 35 است. چون 35 منتظر پیام نمی باشد و می تولند پیام به 31 ارسال کند. در نتیجه پیوند (۳1,۳5) و (۳1,۳2) حذف می شوند و بنابراین بن بست نداریم. - در شکل(6 داریم: ۰ ‎S={P1,P2,P3,P5} . DS(P1)={P5,P2}‏ (25)۳2(<]۳3 و ۳) <(129)۳3. در اين شکل یک وابستگی اضافه می شود. در اين حللت 35 منتظر پیام از 2 .۳2 منتظر پیام از 3 33۰ منتظر پیام از 21 و 1 منتظر پیام از 32 است. در نتیجه در این شکل بن بست تبادل پیام خواهیم داشت. 38

صفحه 39:
39 بن بست در تبادل پیام ها-عدم دسترسی بافرهای پیام ها © عموماً در شبکه های راهگزینی بسته ای وجود دارد. * ساده ترين شکل بن بست شبکه های راهگزینی بسته ای بن بست ذخیره سازی ‎(Store and forward) gl> a jlesl s‏ است. * برای هر گره. صف گره مجاور در یک جهت با بسته های جهت آرسال .به گوه بعدی:پر شده است.

صفحه 40:
40 ها بست مستقیم ذخیره سازی و انتشار به جلو Buffer Buffer pool full poo! full (a) Direct store-and-forward deadlock

صفحه 41:
بن بست غير مستقيم ذخيره سازى و انتشار به جلو * برای هر گره. صف گره مجاور در يك جهت با بسته هاى جهت ارسال :ه ‏ دحوم ۰ هه ۱ Filled with, packets t0 C Filled with, packets to D Filled with, packets to B Filled with Filled with, packets to E (by Indirect store-and-forward deadlock 41

صفحه 42:
فتیغ:پاف: نساختیافته منبع حافظه ی سطح صفر بدون محدودیت است و هر بسته ورودی می تولند در لین سطح ذخیره شود. برای سطوح ۱ تا (1): ۷ بافرهای سطوح ۱ تا برای بسته های با 1 گام (۳) اگر تمامی بافرها تا سطح ۲ پر شده باشند, بسته های رسیده با :1 گام یا کمتر حذف می شوند. Buffer space for packets that h: traveled k hops 42

بن بست توزیع شده • بلوکه شدن یک مجموعه از پروسس ها بخاطر دسترسی به منابع سیستم یا رد و بدل نمودن پیام با یکدیگر – تعریف بن بست در سیستم های تکی برای سیستم های توزیع شده معتبر است. – پیاده سازی بن بست توزیع شده بسیار پیچده تر است ،زیرا گره ها از حالت سرتاسری سیستم اطالعاتی ندارند. 1 انواع بن بست های توزیع شده • بن بست در اختصاص منابع – چندین پروسس بخواهند به یک منبع دسترسی داشته باشند. • بن بست در تبادل پیام ها – هر پروسس در یک مجموعه منتظر پیام از پروسس های مجموعه دیگر است. – هیچ پروسس در این حالت نمی توانند ارسال کنند ،و هر کدام منتظر دیگری است. 2 بن بست در اختصاص منابع • ایجاد همزمان چهار شرط زیر باعث بن بست می شود .1 .2 .3 .4 انحصار متقابل ‏Hold and Wait منابع انحصاری()No preemption ‏Circular Wait • در سیستم های توزیع شده پروسس کنترل کننده با دانش از نو حالت سرتاسری سیستم وجود ندارد. 3 پدیده بن بست فانتوم • 4 راهکارهای مقابله با بن بست • پیشگیری بن بست ()Deadlock Prevention • اجتناب از بن بست()Deadlock Avoidance • شناسایی بن بست()Deadlock Detection 5 پیشگیری بن بست • با نقض یکی از چهار شرط ذکر شده می توان از بن بست پیشگیری کنیم. • بیشتر با حذف شرط های Circular-waitو Hold-and- waitاز ایجاد بن بست جلوگیری می شود. • حذف شرط انحصار متقابل برای دسترسی منابع غیر ممکن است. 6 پیشگیری بن بست .1مرتب سازی منابع • اختصاص عدد منحصر بفرد به منابع سیستم • یTک پروسTس در صTورتی مTی تواند درخواسTت منبعTی با شماره iرا بدهد که منابع با شماره باالتر iرا در اختیار نداشته باشد. • پیاده سازی در محیط توزیع شده ساده است و مقداری باالسری دارد. 7 پیشگیری بن بست .2روش مبتنی بر مهر زمان • • • • 8 اختصاص شماره های اختصاصی به پروسس ها اولویت دهی به اعداد اختصاص داده شده با هر ترتیب مورد نظر اگر Piدر خواست منبعی کند که در اختیار Pjباشد ،در صورتی که اولویت Piبیشتر از Pjباشد ،آنگاه Piمنتظر می ماند ،در غیر این صورت آن rolled-backمی شود. روش جلوگیری از بن بست ها • برای هر یال PiPjدر گراف انتظار Pi ،اولویت باالتر از Pjدارد. • بنابراین در گراف انتظار سیکلی نخواهیم نداشت. پیشگیری بن بست .3طرح Wait-Die • • • مبتنی بر تکنیک انحصاری است. اگTر Piدر خواسTت منبعTی کنTد کTه فعال در اختیار PjباشTد ،در صورتی کTه مهTر زمان PiکمتTر از مهTر زمان PjباشTد( PiقدیمTی تر از Pjاست)، آTن منتظTر مTی مانTد ،در غیTر ایTن صTورت Piحذف یTا rolled- ) back(Diesمی شود. مثال :فرض کنیTد پروسTس های P1، P2و P3بTه ترتیTب دارای مهر زمان 10 ،5و 15باشند. • • 9 اگر P1در خواست منبعی کند که در اختیار P2باشد ،آن منتظر می ماند. اگر P3در خواست منبعی کند که در اختیار P2باشد ،آن حذف می شود. پیشگیری بن بست .4طرح Wound-Wait مبتنی بر تکنیک غیرانحصاری است .نقطه مقابل روش Wait-Die اگTر Piد خواسTت منبعTی کنTد کTه در فعال اختیار PjباشTد ،در صTورتی که مهTر زمان PiبیشتTر از مهTر زمان PjباشTد( Piجوان تTر از PjاسTت) ،آن منتظTر مTی مانTد ،در غیTر ایTن صTورت Pjحذف یTا rolled- ) back(DiesمTی شود( PjتوسTط Piحذف مTی شود و منبTع از آن گرفته می شود). مثال :فرض کنیTد پروسTس های P1، P2و P3بTه ترتیTب دارای مهر زمان 10 ،5و 15باشند. .4 .5 .6 • • 10 اگTر P1در خواسTت منبعTی کTنTد کTه در اختیار P2باشTد ،آنگاه منبTع از P2گTرفته می شود و P2حذف می شود. اگTر P3در خواست منبعی کند کTه در اختیار P2باشد ،آن منتظر می ماند. پیشگیری بن بست 11 اجتناب از بن بست • اجتناب از بTن بسTت تکنیکTی اسTت کTه تصTمیم گیری های خود را به صTورت پویTا و لحظTه ای انجام مTی دهد .در ایTن روش هTر درخواست منبTع توسTط پروسTس را بررسTی مTی کنTد ،آیTا ایTن در خواست مورد قبول است یا خیر؟ • پیاده سازی اجتناب از بن بست توزیع شده غیر ممکن است. – هر گره باید حالت سرتاسری سیستم توزیع شده را دنبال کند. – چTک نمودن حالTت امTن سTرتاسری توسTط پروسTس هTا بایTد انحصTار متقابل باشد. – چک نمودن حالت امن سرتاسری باالسری محاسبات بسیار زیادی دارد. 12 شناسایی بن بست • در ایTن روش بTه پروسTس هTا اجازه داده مTی شود ،هTر منبعی را در اختیار بگیرند یا منتظر یک یا چند منبع شوند .بن بست بعد از اینکه رخ داد ،شناسایی و حذف می شود. • استفاده از گراف انتظار – گراف انتظار محلTی در هر سایت :گره های این گراف مطابق با تمامی پروسس های سیستم توزیTع شده اسTت کTه فعال منابTع محلTی سTایت مورد نظTر را Tدر اختیار دارنTد یTا درخواسTت آن منابع محلی سایت را داTده اند. – گراف انتظار سTرتاسری :ایTن گراف از اجTتماع گراف های انتظار محلTی سTایت ها ایجاد می شود. 13 شناسایی بن بست • مثال : 1گراف های انتظار محلی دو سایت S1و S2 14 شناسایی بن بست • مثال : 2گراف انتظار سرتاسری دو سایت S1و S2در مثال 1 15 شناسایی بن بست • روش های شناسایی بن بست توزیع شده .1متمرکز :یک سایت وظیفه شناسایی بن بست را بعهده دارد. .2سلسله مراتبی :سایت ها به صورت ساخTتار درختی بن بست را شناسایی می کنند. .3توزیع شده :تمامی پروسس ها در شناسایی بن بست با هم همکاری می کنند. 16 شناسایی بن بست • روش های شناسایی بن بست توزیع شده 17 شناسایی بن بست -روش متمرکز • هرسایت گراف انتظار محلی خود را ایجاد می کند. • گراف انتظار سTرتاسری در یTک پروسTس هماهنگ کننده ایجاد می شود. • یکTی از سTه روش زیTر برای ایجاد یTا تغییTر گراف انتظار سرتاسری ممکن است استفاده شود: .1 .2 .3 18 موقعی که یال جدیدی به یکی از گراف های انتظار محلی اضافه شود یا یالی حذف شود. به صورت پریودیک ،موقعی که تعدا مشخصی از تغییرات در گراف های انتظار محلی داشته باشیم. موقعی که گره هماهنگ کننده نیاز به الگوریتم شناسایی سیکل داشته باشد. شناسایی بن بست -روش متمرکز • شناسایی بن بست برمبنای روش 3 – اضافTه نمودن شناسTگرهای منحصTربفرد (مهرهای زمان) بTه در خواست های از سایت های مختلف – موقعTی کTه Piاز سTایت AدرخواسTت منبعTی از Pjدر سTایت BمTی کند، یک پیام درخواست با مهر زمان TSارسال می شود. – یال PiPjبTا برچسTب TSدر گراف محلTی سTایت AاضافTه می شود. اگTر Bپیام درخواسTت را دریافTت نمایTد و نتوانTد بالفاصTله بTه درخواست فوق پیام grantارسTال کنTد ،یال فوق بTه گراف محلTی سTایت BاضافTه می شود. 19 شناسایی بن بست -روش متمرکز • الگوریتم: .1 .2 .3 گره هماهنگ کننده یک پیام آغازین به تمامی سایت ها ارسال می کند. هTر سTایت بTا دریافTت پیام آغازیTن ،گراف انتظار محلTی خود را بTه گره هماهنگ کننده ارسال می کند. موقعTی کTه گره هماهنTگ کننده از تمامTی سTایت هTا پاسTخ دریافت نمود ،گراف انتظار سرتاسری را به صورت زیر ایجاد می کند: )a )b ایجاد گراف انتظار سرتاسری ،که هر گره آن به یک پروTسس اختصاص داده گراف شامل یال PiPjاست اگر و فقط اگر )1 )2 می شود. یک یال PiPjدر یکی از گراف های انتظار محلی داشته باشیم ،یا یک یال PiPjبا تعدادی پرچسب TSدر چند گراف انتظار محلی داشته باشیم. • اگر گراف ایجاد شده سیکل داشته باشد ،آنگاه سیستم در حالت بن بست قرار دارد. 20 شناسایی بن بست -روش متمرکز • مثال :3گراف های انتظار محلی دو سایت و گراف انتظار سرتاسری ایجاد شده 21 شناسایی بن بست -روش سلسله مراتبی 22 شناسایی بن بست -روش سلسله مراتبی 23 شناسایی بن بست -روش توزیع شده کامل • الگوریتم: تمامی سایت ها مسئولیت یکسان در شناسایی بن بست دارند. هر سایت گراف انتظار محلی خود را ایجاد می کند که آن بخشی از گراف سرتاسری است. در این حالت یک گره اضافی Pexبه هر گراف انتظار محلی اضافه می کنیم. .1 .2 .3 • • – اگTر گراف انتظار محلTی در یکTی از سTایت هTا شامTل سTیکل بدون گره PexباشTد ،در ایTن حالت سیستم در حالت بن بست است. اگر گراف انتظار محلی شامل سیکل با گره Pexباشد ،در این حالت سیستم احتماال د ر حالت بن بست قرار دارد. – .1 24 : PiPexپTTروTسTسمTحلی PiمTنتظر مTنبعیدر سTTایTتدTیTگر اTسTتکTTه فTTعالدر اTخTتیار پTTروTسTسدTیTگریبTTاشد. ‏Tت مTنبعیTسTتکTTه فTTعالدر اTخTتیار پTTروTسTسمTحلی PjاTس . ا :PexPjپTTروTسTسیاز سTTایTتدTیTگر مTنتظر گTTرفTتن برای اثبات اینکه سیستم در حالت بن بست است یا خیر ،باید الگوریتم توزیعی شناسایی بن بست اجرا شود. شناسایی بن بست -روش توزیع شده کامل • مثال :4فرض کنیTد دو سTایت S1و S2دو گراف انتظار محلTی به صTورت شکTل زیTر ایجاد نموده باشند .اگTر شروع کننده شناسTایی بن بست سایت S1باشد ،مراحل شناسایی بن بست را شرح دهید. 25 شناسایی بن بست -روش توزیع شده کامل • حل مثال :4 – – – – 26 شناسایی سیکل PexP2P3Pexدر سایت S1 ارسال سیکل فوق به S2 تغییر گراTف انتظار محلی در سایت S2 گراف جدید ایجاد شده به صورت شکل زیر است. شناسایی بن بست -روش توزیع شده کامل • مثال :5مثال 4را برای حالتTی تکرار کنیTد کTه شروع کننده سایت S2باشد. • حل: – شناسایی سیکل Pex PexP3P4P2در سایت S2 – ارسال سیکل به S1 – تغییر گراف انتظار محلی 27 شناسایی بن بست -روش توزیع شده کامل 28 شناسایی بن بست -روش دوم توزیع شده • بTه ازای هTر شئTی داده( )Data Objectدو پارامتTر شناسTگر منحصر بفرد Diو متغییر ) Locked_by(Diتعریف می شود. • به ازای هر تراکنش jچهار پارامتر زیر تعریف می شود: 29 – شناسگر منحصربفرد Tj – متغییر )Held_by(Tj – متغییر )Wait_for(Tj – صف )Request_Q(Tj شناسایی بن بست -روش دوم توزیع شده • مثال :6فرض کنیTد تراکنTش T2منتظTر شئTی داده ای اسTت که در اختیار T1است و T1منتظر شئی داده ای اسTت که در اختیار T0است، جدول توزیعی پارامترهای تراکنش را بدست آورید. 30 شناسایی بن بست -روش دوم توزیع شده • شبه کد الگوریتم 31 شناسایی بن بست -روش دوم توزیع شده • 32 مثال :7در الگوریت!م شناس!ایی ب!ن بس!ت توزی!ع شده ،جدول زی!ر را ب!ا توج!ه شکل گراف تراکن!ش! های داده شده کام!ل نمائید.اگ!ر تراکن!ش! T0ی!ک درخواس!ت برای شئی داده ( )data-objectنگ!ه داشت!ه توس!ط T3ارس!ال نمای!د ،جدول تغیی!ر یافته پارامترها را بدست آورید و نحوه ی تشخیص بن بست را در این الگوریتم شرح دهید. شناسایی بن بست -روش دوم توزیع شده • حل مثال 7 33 بن بست در تبادل پیام ها • انواع – بن بست انتظار متقابل و دو جانبه – عدم دسترسی بافرهای پیام ها 34 بن بست در تبادل پیام ها-انتظار متقابل • بTن بسTت انتظTار متقابTل در تبادل پیام موقعTی رخ مTی دهTد کTه هر کدام از عضوهای پروسTس یTک گروه منتظTر پیام از عضTو دیگر از همان گروه است و پیامی ارسال نمی شود. • تعریف مجموعه وابستگی()DS – برای پروسTس PiکTه متوقTف و منتظTر دریافTت پیام استDS(Pi) ، شامTل تمامTی پروسTس های اسTت کTه از Piانتظار دریافTت حداقTل یک پیام دارند. – Piدر صTTورTتTیمTیتTTواTنTد بTTTه کTTار خTود اداTمTه دTهTد کTTه حTداTقTلیTTک پTTیام از مTجموعه واTبTستگی) DS(Piدر یTTافTتنTTماید. 35 بن بست در تبادل پیام ها-انتظار متقابل • بTن بسTت در یTک مجموعTه پروسTس های Sرا مTی توان به صورت زیر تعریف نمود: .1تمامTی پروسTس های مجموعTه SمتوقTف و منتظTر دریافTت پیام(ها) هستند. .2مجموعTه SشامTل مجموعTه های وابسTتگی تمامTی پروسTس هTا با عضوهای مجموعه ی Sاست. .3پیامی بین عضوهای Sارسال نمی شود. 36 بن بست در تبادل پیام ها-انتظار متقابل • مثال :8دو گراف انتظار داده شده در شکTل زیTر را در نظر بگیرید و بن بست تبادل پیام را بررسی نمایید. 37 بن بست در تبادل پیام ها-انتظار متقابل • حل مثال :8 – در شکTTل( )aداریمS={P1,P2,P3} ، DS(P1)={P5,P2} ، : } DS(P2)={P3و .DS(P3)={PپروسTس P1منتظTر دریافت پیام از P2 یTا P5اسTت ،چون P5منتظTر پیام نمTی باشTد و مTی توانTد پیام بTه P1ارسTال کند ،در نتیجه پیوند ( )P1,P5و ( )P1,P2حذف می شوند و بنابراین بن بست نداریم. – در شکTل( )bداریمS={P1,P2,P3,P5} ، DS(P1)={P5,P2} ، : } DS(P2)={P3و .DS(P3)={Pدر ایTن شکTل یTک وابسTتگی اضافTه می شود. در این حالTت P5منتظر پیام از P2، P2منتظر پیام از P3، P3منتظر پیام از P1و P1منتظر پیام از P2است .در نتیجه در این شکل بن بست تبادل پیام خواهیم داشت. 38 بن بست در تبادل پیام ها-عدم دسترسی بافرهای پیام ها • عموماَ در شبکه های راهگزینی بسته ای وجود دارد. • سTاده تریTن شکTل بTن بسTت شبکTه های راهگزینTی بسTته ای ،بTن بست ذخیره سTازی و انتشار بTه جلو ()Store and forward است. • برای هTر گره ،صTف گره مجاور در یTک جهTت بTا بسTته های جهت ارسال به گره بعدی پر شده است. 39 بن بست مستقیم ذخیره سازی و انتشار به جلو 40 بن بست غیر مستقیم ذخیره سازی و انتشار به جلو • برای هTر گره ،صTف گره مجاور در یTک جهTت بTا بسTته های جهت ارسال به گره بعدی پر شده است. 41 منبع بافر ساختیافته • منب!ع حافظ!ه ی س!طح ص!فر بدون محدودی!ت اس!ت و ه!ر بس!ته ورودی م!ی توان!د در ای!ن سطح ذخیره شود. • برای سطوح 1تا ) N : (1بافرهای سطوح 1تا kبرای بسته های با kگام ( )2اگر تمامی بافرها تا سطح kپر شده باشند ،بسته های رسیده با kگام یا کمتر حذف می شوند. 42
39,000 تومان