os_4_Distributed Systems Architectures

Download Report

Transcript os_4_Distributed Systems Architectures

‫فصل دوم سیستم های توزیع‬
‫شده‪ :‬معماری ها‬
‫سیستم هاي عامل پیشرفته‬
‫سبک های معماری سیستم توزیع شده‬
‫‪ -1‬معماری الیه ای (‪)Layered architectures‬‬
‫‪ -2‬معماری مبتنی بر ش یء (‪)Object-based architectures‬‬
‫‪ -3‬معماری داده محور (‪)Data-centered architectures‬‬
‫‪-4‬معماری مبتنی بر رویداد (‪)Event-based architectures‬‬
‫‪2‬‬
‫سیستم هاي عامل پیشرفته‬
‫”‪“Boss 2003‬‬
‫‪ -1‬معماری الیه ای (‪)1‬‬
‫‪3‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪ -1‬معماری الیه ای (‪)2‬‬
‫‪4‬‬
‫‪‬‬
‫اجزاء در الیه هایی قرار دارند و یک جز در الیه ‪ i‬تنها حق دارد که‬
‫‪‬‬
‫اجزاء الیه ‪ i-1‬را فراخوانی کند‪.‬‬
‫ا‬
‫شماره گذاری الیه ها معموال از پایین به باال است‪.‬‬
‫‪‬‬
‫درخواست ها به سمت پایین حرکت می کنند‪.‬‬
‫‪‬‬
‫نتایج درخواست ها به سمت باال حرکت می کنند‪.‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪ -2‬معماری مبتنی بر ش یء (‪)1‬‬
‫‪5‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪ -2‬معماری مبتنی بر ش یء (‪)2‬‬
‫‪‬‬
‫معماری مبتنی بر ش یء سازمان بندی ضعیف تری نسبت به‬
‫معماری الیه ای دارد‪.‬‬
‫‪‬‬
‫اشیاء متناظر اجزاء در سیستم پراکنده هستند‪.‬‬
‫‪‬‬
‫این اشیاء از طریق فراخوانی رویه که ممکن است از راه دور‬
‫نیز باشد‪ ،‬با هم ارتباط برقرار می کنند‪.‬‬
‫‪6‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪ -3‬معماری داده محور (‪)1‬‬
‫‪7‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪ -3‬معماری داده محور (‪)2‬‬
‫فرآیند ها از طریق یک فضای داده مشترک با هم ارتباط برقرار‬
‫می کنند‪.‬‬
‫مثال‪ :‬سیستم توزیع شده مبتنی بر وب و یا‬
‫‪Share distributed file systems‬‬
‫‪8‬‬
‫سیستم هاي عامل پیشرفته‬
)1( ‫ معماری مبتنی بر رویداد‬-4
•Communication via
propagation of events
•Mostly
Publish/Subscribe
•E.g. register interest in
market info
‫سیستم هاي عامل پیشرفته‬
9
‫‪ -4‬معماری مبتنی بر رویداد (‪)2‬‬
‫‪‬‬
‫فرآیند ها از طریق پخش رویداد ها با هم ارتباط برقرار می کنند‪ .‬و‬
‫هر رویداد تعدادی عضو دارد‪.‬‬
‫‪‬‬
‫به عبارت دیگر تعدادی فرآیند‪ ،‬عضو رویداد هستند‪.‬‬
‫‪‬‬
‫اگر یکی از فرآیندها رویداد را منتشر کند‪ ،‬میان افزار تضمین می کند که‬
‫‪‬‬
‫تنها اعضای آن رویداد آن را دریافت نمایند‪.‬‬
‫ا‬
‫ا‬
‫الزم نیست تا فرآیند ها صریحا به هم مراجعه کنند‪.‬اصطالحا گفته می‬
‫شود که فرآیند ها اتصال ضعیف دارند‪.‬‬
‫‪10‬‬
‫سیستم هاي عامل پیشرفته‬
‫انواع معماری (سازمان) سیستم توزیع شده‬
)Client Server( ‫ متمرکز‬-1
Application Layering
Multi-tiered Architectures
‫ غیر متمرکز‬-2
Structured P2P (Peer-to-Peer) Architectures
Unstructured P2P Architectures
Topology Management of Overlay Networks
Super peers
‫ ترکیبی‬-3
Edge-Server Systems
Collaborative Distributed Systems
‫سیستم هاي عامل پیشرفته‬
11
‫معماری متمرکز‬
‫‪12‬‬
‫سیستم هاي عامل پیشرفته‬
‫متمرکز (‪)1( )Client Server‬‬
‫تعامل کلی بین سرویس گیرنده و سرویس دهنده‬
‫‪13‬‬
‫سیستم هاي عامل پیشرفته‬
‫متمرکز (‪)2( )Client Server‬‬
‫یکی از مهمترین قسمتهای سیستم توزیع شده ارتباط بین آنها‬
‫است‪.‬‬
‫‪ :Client‬همیشه نیاز به سرویس یا اطالعات دارد‪.‬‬
‫‪ :Server‬سرویس یا اطالعات را در اختیار دارد و اگر کس ی‬
‫بخواهد آنها را در اختیار آن قرار می دهد‪.‬‬
‫‪14‬‬
‫سیستم هاي عامل پیشرفته‬
‫متمرکز (‪)3( )Client Server‬‬
‫در صورتی که شبکه ارتباطی قابل اطمینان و احتمال بروز خطا یا گم شدن بسته ها ناچیز باشد از‬
‫یک ارتباط بدون اتصال استفاده می شود‪.‬‬
‫در این روش اگر بسته درخواست یا پاسخ گم شود سرویس گیرنده ممکن است تا ابد منتظر بماند و‬
‫راه حل آن استفاده از ‪ Time Out‬است‪.‬‬
‫دستورات تکرار شدنی (‪ :)Idempotent‬برخی از دستوراتی هستند که حتی اگر چندین بار تکرار شوند‬
‫اثرات مخربی ندارند‪.‬‬
‫دستورات تکرار ناشدنی (‪ :)non-idempotent‬برخی از دستوراتی هستند که اگر تکرار شوند اثرات‬
‫‪15‬‬
‫مخربی دارند‪.‬‬
‫سیستم هاي عامل پیشرفته‬
‫متمرکز (‪)4( )Client Server‬‬
‫در شبکه های با قابلیت اطمینان پایین تر‪ ،‬از ارتباط اتصال گرا‬
‫(‪ )Connection Oriented‬استفاده می شود‪.‬‬
‫کارایی پایین تری دارد (بدلیل اعمال اضافی)‪.‬‬
‫هزینه های باالتری دارد‪.‬‬
‫قابل اطمینان ارسال داده بیشتر است‪.‬‬
‫برای مثال می توان از پروتکل ‪ TCP‬نام برد‪.‬‬
‫‪16‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪)1( Application Layering‬‬
‫‪ -1‬سطح واسط کاربر (‪)User Interface‬‬
‫ا‬
‫معموال توسط سرویس گیرندگان پیاده سازی می شود و کارش ارتباط با کاربر است‪.‬‬
‫‪ -2‬سطح پردازش (‪)Processing‬‬
‫سطح میانی است که عملیات اصلی برنامه کاربردی در آن انجام می پذیرد‪.‬‬
‫‪ -3‬سطح داده (‪)Data‬‬
‫ا‬
‫شامل برنامه هایی است که داده های واقعی را نگهداری می کنند‪ .‬معموال این داده ها پایدار هستند‪.‬‬
‫‪17‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪)2( Application Layering‬‬
‫سازمان ساده شده ای از موتور جست و جوی اینترنت در سه الیه‬
‫‪18‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری چندبخش ی ‪Multitiered‬‬
‫‪‬‬
‫بخش ی از سطوح واسط کاربر‪ ،‬پردازش‪ ،‬داده در هر بخش قرار می گیرد‪.‬‬
‫‪‬‬
‫به توزیع عمودی معروف است‪.‬‬
‫‪‬‬
‫ساده ترین سازمان فقط دو نوع ماشین دارد (‪)2 Tier Architecture‬‬
‫‪ -1‬ماشین سرویس گیرنده شامل برنامه ای است که سطح واسط کاربر را پیاده سازی‬
‫می کند‪.‬‬
‫‪ -2‬ماشین سرویس دهنده که شامل بقیه است‪.‬‬
‫‪‬‬
‫‪19‬‬
‫سازمان دیگر سه نوع ماشین دارد (‪)3 Tier Architecture‬‬
‫سیستم هاي عامل پیشرفته‬
2 Tier Architecture
Thin
Client
Fat
Client
Alternative client-server organizations (a)–(e).
‫سیستم هاي عامل پیشرفته‬
20
3 Tier Architecture
An example of a server acting as client
‫سیستم هاي عامل پیشرفته‬
21
‫معماری غیرمتمرکز‬
‫‪22‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری غیرمتمرکز (‪)1‬‬
‫‪23‬‬
‫‪‬‬
‫به توزیع افقی معروف است‪.‬‬
‫‪‬‬
‫می توان چندین سرویس دهنده داشت‪.‬‬
‫‪‬‬
‫سرویس دهنده ها یکسان هستند‪.‬‬
‫‪‬‬
‫بار کاری به صورت متعادل در سیستم پخش می شود‪.‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری غیرمتمرکز (‪)2‬‬
‫‪‬‬
‫یکی از مهمترین انواع توزیع افقی‪ ،‬سیستم های نظیر به نظیر‬
‫(‪ )peer-to-peer‬نامیده می شوند‪.‬‬
‫‪‬‬
‫انواع سیستم های نظیر به نظیر‬
‫•‬
‫•‬
‫‪‬‬
‫‪24‬‬
‫ساخت یافته (‪)Structured‬‬
‫غیرساخت یافته (‪)Unstructured‬‬
‫تعریف ‪ :Overlay Network‬یک شبکه از فرایندهای روی‬
‫ماشینها صرفنظر از توپولوژی یا ساختار و ارتباط بین آنها‬
‫سیستم هاي عامل پیشرفته‬
‫معماری نظیر به نظیر ساخت یافته (‪)1‬‬
‫‪25‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری نظیر به نظیر ساخت یافته (‪)2‬‬
‫هر فرایند فقط فرایند کناری خود را می شناسد‪.‬‬
‫برای ورود یک گره (فرایند) جدید به حلقه یک عدد تصادفی تولید می‬
‫شود‪.‬‬
‫برای خروج یک گره مانند ‪ id‬از حلقه‪ ،‬این گره رفتن خود را به گره‬
‫بعدی و گره پیشین خود خبر می دهد و اقالم داده در اختیار خود را‬
‫به گره بعدیش ارسال می کند‪.‬‬
‫‪26‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری نظیر به نظیر غیرساخت یافته‬
‫فرایندها به ترتیب منطقی قرار گرفته نشده اند و بصورت تصادفی‬
‫هستند‪.‬‬
‫تولید شبکه های همپوشانی به الگوریتم های تصادفی وابسته است‪.‬‬
‫ا‬
‫معموال در هر گره (فرایند) لیستی از همسایگان (دیگر فرایندها) نگهداری‬
‫می شود‪.‬‬
‫اقالم داده به صورت تصادفی در گره ها قرار می گیرند‪.‬‬
‫‪27‬‬
‫سیستم هاي عامل پیشرفته‬
‫)‪Topology Management of Overlay Networks (1‬‬
‫روش دو الیه ای برای ساخت و نگهداری توپولوژی های خاص با استفاده از‬
‫تکنیک هایی از سیستم های نظیر به نظیر غیر ساخت یافته‪.‬‬
‫‪28‬‬
‫سیستم هاي عامل پیشرفته‬
‫)‪Topology Management of Overlay Networks (2‬‬
‫تولید شبکه همپوشانی خاص با استفاده از سیستم نظیر به نظیر غیر‬
‫ساخت یافته دو الیه ای‪.‬‬
‫‪29‬‬
‫‪29‬‬
‫سیستم هاي عامل پیشرفته‬
‫)‪Super peers (1‬‬
‫یکی از مشکالت روش غیر ساخت یافته‪ ،‬جستجوی اقالم است و برای جستجو باید‬
‫پیام جستجو به همه فرایندها ارسال شود‪.‬‬
‫برای باال بردن کارایی‪ ،‬ساختار متقارن کمی به هم می خورد و از برخی گره ها برای‬
‫ذخیره سازی داده هایی خاص‪ ،‬مانند شاخص اقالم داده استفاده می شود‪ .‬به‬
‫این گره ها ‪ Super peers‬گفته می شود‪.‬‬
‫‪ Super peers‬با هم ارتباط برقرار می کنند و باعث تسریع در رد و بدل کردن‬
‫داده ها می شوند‪.‬‬
‫‪30‬‬
‫سیستم هاي عامل پیشرفته‬
‫)‪Super peers (2‬‬
‫سازمان سلسله مراتبی گره ها در شبکه سوپر همتا‬
‫‪31‬‬
‫سیستم هاي عامل پیشرفته‬
‫معماری ترکیبی‬
‫با ترکیب معماری متمرکز و غیرمتمرکز می توان به یک معماری‬
‫ترکیبی رسید‪.‬‬
‫‪32‬‬
‫سیستم هاي عامل پیشرفته‬
‫‪Edge-Server Systems‬‬
‫‪33‬‬
‫د‬
‫معموووال در اینترنووت مسووتقر مووی شوووند‪ .‬سوورویس دهنووده هووا در لبووه شووبکه ق ورار‬
‫می گیرند‪ .‬آغاز به کار با یک ساختار سرویس گیرنده‪ -‬سرویس دهنوده سونیی و‬
‫متمرکز است اما در ادامه با اتصال گره ها به سیستم از سواختار غیرمتمرکوز‬
‫برای همکاری استفاده می کنند‪.‬‬
‫سیستم هاي عامل پیشرفته‬
Collaborative Distributed Systems (1)
BitTorrent ‫ سیستم اشتراک فایل‬:‫مثال‬

BitTorrent: is a P2p2 File downloading system. It
allows download of various chunks of a file from
other users until the entire file is downloaded
Globule: A Collaborative content distribution
network. It allows replication of web pages by
various web servers
‫سیستم هاي عامل پیشرفته‬
34
Collaborative Distributed Systems (2)
Information needed to
download a specific file
Many trackers, one per file, tracker holds
which node holds which chunk of the file
.‫ها متمرکز هستند‬Tracker ‫ها غیر متمرکز و‬Node
‫سیستم هاي عامل پیشرفته‬
35
Collaborative Distributed Systems (3)
Components of Globule collaborative content
distribution network: (replication of web
pages by various users)
 A
component that can redirect client
requests to other servers.
 A component for analyzing access patterns.
 A component for managing the replication of
Web pages.
‫سیستم هاي عامل پیشرفته‬
36
Collaborative Distributed Systems (4)

Example:
• Alice has a web server; Bob has a web server
• Alice’s server can have replicated contents of the
Bob’s server and vice versa




Good if your server goes down
Good if too much traffic that your server can not
handle or server gets too slow
Better Geographic diversity
End users voluntarily provide enhanced web
servers that are capable of collaborating in the
replication of web pages
‫سیستم هاي عامل پیشرفته‬
37
‫معماری غیرمتمرکز در مقابل متمرکز‬
‫مدیریت سرویس دهنده های متمرکز نسبت به سرویس دهنده های غیر‬
‫متمرکز ساده تر است‪.‬‬
‫د‬
‫در سرویس دهنده های غیر متمرکز برعکس متمرکز معموال گلوگاه وجود‬
‫ندارد‪.‬‬
‫سرویس دهنده های متمرکز برعکس غیر متمرکز تحمل پذیری خطا ندارند‪.‬‬
‫‪38‬‬
‫سیستم هاي عامل پیشرفته‬
)1( ‫سیستم کنترل بازخورد‬

Self-Management in Distributed systems:
•
•
•

Shield undesirable features (hacks, garbage, spam)
Self-Adaptive
Monitoring and adjustments should be possible
Allowing automatic adaptation to changes
(also called “autonomic Computing” or
“Self-star systems”)
•
•
•
•
Self-managing
Self-healing (through replication)
Self-configuring
Self-Optimizing
‫سیستم هاي عامل پیشرفته‬
39
‫سیستم کنترل بازخورد (‪)2‬‬
‫سازمان منطقی یک سیستم کنترل بازخورد‬
‫‪40‬‬
‫استفاده از حلقه کنترل بازخورد متداولترین روش در سیستم های خود گردان‬
‫سیستم هاي عامل پیشرفته‬
‫مثال ‪ :1‬سیستم نظاره گر با ‪Astrolabe‬‬
‫‪41‬‬
‫سیستم هاي عامل پیشرفته‬
‫مثال ‪Differentiating Replication :2‬‬
‫‪Strategies in Globule‬‬
‫این سیستم در اینترنت کار می کند و برای توزیع داده ها بر مبنای سیستم‬
‫سرویس دهنده لبه به کار می رود‪.‬‬
‫‪42‬‬
‫سیستم هاي عامل پیشرفته‬