1-1- مقدمه ای بر سیستم های توزیع شده:
عمومی ترین دسته بندی که معمولا کاربران عادی از شبکه های کامپیوتری می دانند عبارت است از LAN , WAN , MAN و اینترنت را هم جزء شبکه های کامپیوتری در نظر میگیرند. به ظاهر اینترنت هم نوعی شبکه کامپیوتری است ولی در باطن در دسته بندی دیگری قرار می گیرد که با عنوان سیستم های توزیع شده یا Distributed Systems معرفی می شود.
1-2- سیستم توزیع شده چیست ؟
در ساده ترین تعریف، سیستم توزیع شده کلکسیونی از کامپیوترهای مستقل است که از دیدگاه کاربران مثل یک سیستم منسجم عمل می کند .
1-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟
یک سیستم توزیع شده مجموع ای است از چندین کامپیوتر مستقل که کاربر آن را به شکل یک سیستم واحد و متجانس می بیند. در این سیستمها معمولا یک لایه نرم افزاری {روی سیستم عامل} به نام میان افزار middleware است که مدل مورد نظر را پیاده سازی می کند. وب نمونه ای از یک سیستم توزیع شده است، که در آن همه چیز از دیدگاه کاربر یک سند {صفحه وب} به نظر می رسد.
در شبکه های کامپیوتری این تجانس، مدل و نرم افزار وجود ندارد.کاربران به طور مستقیم با کامیپوترها در تماسند و هیچ کوششی برای ایجاد تجانس بین آنها صورت نمی گیرد. کاربر به روشنی تفاوت های نرم افزاری و سخت افزاری کامپیوترها را می بینند.
در حقیقت، یک سیستم توزیع شده نرم افزاریست که روی شبکه کار می کند و تجانس و شفافیت آن توسط این نرم افزار تعیین می شود. به همین دلیل تفاوت سیستم توزیع شده با یک شبکه کامپیوتری، بیشتر در نرم افزار به ویژه سیستم عامل نهفته است تا سخت افزار.
با این همه، شباهت های زیادی بین این دو وجود دارد. مثلا سیستم های توزیع شده و شبکهها هردو به انتقال فایل نیاز دارند. تفاوت در این است که این کار را چه کسی انجام می دهد، سیستم یا کاربر!
انواع سیستم های توزیع شده
- سیستمهای محاسباتی توزیع شده .
- سیستمهای اطلاعاتی توزیع شده .
- سیستمهای متفرق توزیع شده .
سیستم های محاسباتی توزیع شده
سیستم های محاسباتی توزیع شده دسته مهمی از سیستم های توزیع شده هستند برای کارهای محاسباتی با کارایی بالا به کار می روند .این سیستمها به دو گروه تقسیم می شوند
- محاسبات خوشه ای {Cluster Computing}
- محاسبات شبکه ای {Grid Computing}
1-4- سیستم های محاسبات خوشه ای
در محاسبات خوشه ای سخت افزار شامل مجموعه ای از Pcها یا ایستگاه های کاری مشابه است که از طریق شبکه محلی پرسرعت به هم متصل می شوند، علاوه بر این هر گره سیستم عامل یکسانی را اجرا می کنند.
1-5- سیستم های محاسبات شبکه ای
این گروه شامل سیستم های توزیع شده ای هستند که اغلب به صورت فدراسیونی از سیستم های کامپیوتری ساخته می شوند که هر سیستم ممکن است در دامنه مدیریتی مختلفی واقع شود، بر حسب نوع سخت افزار، نرم افزار و فن آوری شبکه فرق کند.
1-6- زیر شاخه ها:
باید بگم که یکی از وسیع ترین زمینهها در علم کامپیوتر سیستم های توزیع شده هست اما مهمترین زیر شاخه هارو عنوان میکنم:
فهرست مطالبعنوان صفحه
فهرست جدولها ج
فهرست شکلها د
فصل 1- سیستم های توزیع شده. 5
1-1- مقدمه ای بر سیستم های توزیع شده: 5
1-2- سیستم توزیع شده چیست ؟. 5
1-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟. 5
1-4- سیستم های محاسبات خوشه ای.. 7
1-5- سیستم های محاسبات شبکه ای.. 7
1-6- زیر شاخه ها: 7
1-7- Cloud computing and virtualization: 7
1-8- Parallel and distributed operating systems : 8
1-9- Grid Computing : 8
1-10- Wireless and ad-hoc networks: 8
1-11- Distributed Algorithms : 9
فصل 2- الگوریتمهای تشخیص بنبست... 10
2-1- مقدمه 10
2-1- 10
2-1-1- الگوریتم هو- رامامورتی.. 11
2-2- نمونه هایی از الگوریتم های تشخیص بن بست سلسله مراتبی.. 12
2-2-1- الگوریتم منساس- مانتز. 12
2-2-2- الگوریتم هو-رامامورتی.. 13
2-3- نمونه هایی از الگوریتم های توزیع شده 14
2-3-1- الگوریتم تشخیص بن بست چندی – مسیرا– هاس.... 14
2-3-2- الگوریتم محاسبه پخش کردن چندی- مسیرا-هاس.... 15
2-3-3- الگوریتم براچا- توگ... 17
2-4- الگوریتم بدال.. 21
فصل 3- تشخیص و رفع بن بست در پایگاه داده (سیستم) توزیع شده. 29
3-1- مقدمه 29
3-2- روشهای صوری در تشخیص بنبست... 30
3-3- بنبست از نقطهنظر گراف... 32
3-4- مدلهای بنبست... 34
3-4-1- 4.1 مدل تک منبع (one-resource) 34
3-4-2- 4.2 مدل عطفی (AND model) 36
3-4-3- مدل عمومی (Genral model) 37
3-5- مدیر داده آغازگر کاوشگر. 41
3-6- تراکنش کاوشگرها را دریافت نموده میفرستد. 42
3-7- دریافت کردن کاوشگر توسط مدیر داده 43
3-8- الگوریتم چندی.. 43
3-9- اثبات درستی.. 44
فصل 4- تشخیص و حل بن بست در سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 49
4-1- مقدمه [ ، ، ، ، و ] 49
4-2- معرفی سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 50
4-3- تشخیص بن بست توزیع شده در سیستم های نماینده موبایل.. 52
4-4- معایب الگوریتم اصلی و مشکلات کارایی الگوریتم.. 57
4-5- الگوریتم تشخیص بن بست توزیع شده مبتنی بر اولویت بهبود یافته. 64
4-6- آنالیز کارایی الگوریتم بهبود یافته. 66
4-7- اثبات درستی الگوریتم.. 67
فصل 5- آشکار سازی بن بست در سیستم عامل توزیع شده. 70
5-1- - مقدمه 70
5-2- 2- پیش زمینه. 71
5-3- مشکل بن بست عمومی.. 74
5-3-1- انتظار برای نمودار 76
5-3-2- نمونههای بن بست متفاوت... 76
5-4- الگوریتمهای آشکار سازی بن بست توزیع شده 77
5-5- 1-راه حل بن بست... 78
5-6- روش تایم اوت (زمان سپری شده) 78
5-7- گروه بندی الگوریتمهای توزیع شده 79
5-8- الگوریتم های هل دادن (فشار) مسیر (جریان کار) 80
5-9- الگوریتم هایی بر پایه تحقیق.. 82
5-10- الگوریتمهای جستجوی لبه. 82
5-11- منتشر کردن محاسبه. 85
5-12- خلاصه ای از الگوریتمهای آشکار سازی بن بست توزیع شده 85
فهرست مراجع.. 89
فهرست شکلها
عنوان صفحه
No table of figures entries found.
شکل 3‑1: یک گراف تخصیص منبع.. 33
شکل 3‑2: مثالی برای گراف در حالت تک منبع.. 36
شکل 3‑3: یک سیستم توزیع شده. 38
شکل 3‑4: مثال برای الگوریتم چادهری... 45
شکل 4‑1- شمای کلی یک محیط میزبان در سیستم نماینده موبایل.. 54
شکل 4‑2- یک چرخه بن بست با درخواست قفل محلی، مربعها نشان دهنده نماینده های مصرف کننده و دایره ها نشان دهنده منابع بوده و فلشهای جهت دار نشان دهنده درخواست قفل محلی است. 59
شکل 4‑3- مثالی از یک سیستم نماینده موبایل با دوچرخه بن بست: چرخه 1 شامل منابع 1، 2، 4 و چرخه دو شامل منابع 2، 4، 5، 3. 63
برآوردی بر قابلیت اطمینان در سیستم های توزیع شده
واسم احمد[1]، یانگ وی وو[2]
Department of Computer Science and Technology, Tsinghua University, Beijing, China
چکیــده
قابلیت اطمینان نرم افزار در سیستم های توزیع شده همیشه به عنوان یک نگرانی مهم برای ذینفعان به خصوص فروشندگان و کاربران برنامه های کاربردی بوده است. مدل های گوناگون برای ارزیابی یا پیش بینی قابلیت اعتماد برنامه های کاربردی توزیع شده در مقیاس بزرگ تولید شده اند، از جمله دولت الکترونیک، تجارت الکترونیک، خدمات چندرسانه ای و راه حل های خودکار نظیر به نظیر، اما مسئله قابلیت اطمینان با وجود این سیستم ها همچنان وجود دارد. تامین قابلیت اطمینان سیستم های توزیع شده در برخی موارد نیازمند بررسی تکی هر مولفه یا فاکتور، شامل اجرای برنامه های کاربردی توزیع شده قبل از پیش بینی یا ارزیابی قابلیت اطمینان کل سیستم، و رویه کشف خطا و طرح بازیابی خطا برای تراکنش های یکپارچه برای کاربران نهایی است. به این دلیل ما متودولوژی های قابلیت اطمینان موجود را از نقطه نظر ارزیابی قابلیت اطمینان مولفه های تکی تجزیه و تحلیل می کنیم و توضیح می دهیم که چرا ما هنوز به دنبال یک مدل قابلیت اطمینان جامع برای برنامه های کاربردی اجرا شده در سیستم های توزیع شده هستیم.