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
سیستم هاي عامل پیشرفته