1 / 31

مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir

سیستم های توزیع شده ادامه فصل 4– جلسه 13. مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92. جدول زمانبندی درس. سرفصل مطالب. مقدمات فراخوانی تابع از راه دور ( RPC ) ارتباط مبتنی بر پیغام ( MOC ) ارتباط مبتنی بر استریم ( SOC )

Download Presentation

مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. سیستم های توزیع شدهادامهفصل 4– جلسه 13 مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92

  2. جدول زمانبندی درس

  3. سرفصل مطالب • مقدمات • فراخوانی تابع از راه دور (RPC) • ارتباط مبتنی بر پیغام (MOC) • ارتباط مبتنی بر استریم (SOC) • ارتباط چندپخشی (Multicast)

  4. سرفصل مطالب • مقدمات • فراخوانی تابع از راه دور (RPC) • ارتباط مبتنی بر پیغام (MOC) • ارتباط مبتنی بر استریم (SOC) • ارتباط چندپخشی (Multicast)

  5. ارتباط مبتنی بر پیغام (MOC) • RPC و RMI • در تأمین شفافیت دسترسی نقش دارند. • ارتباط از نوع گذرا را پشتیبانی می کنند. • ارتباط از نوع سنکرون را پشتیبانی می کنند. • ارتباط مبتنی بر پیغام این محدودیت ها را برمیدارد. • قسمتهای این بخش • ارتباط مبتنی بر پیغام از نوع گذرا • ارتباط مبتنی بر پیغام از نوع ماندگار • مثال: IBM’s WebSphere

  6. سیستم های صف بندی پیغام • با توجه به زنده بودن یا نبودن فرستنده و گیرنده، چهار حالت زیر امکان پذیر است:

  7. سیستم های صف بندی پیغام (2) • نکته مهم از دید میان افزار، آدرس دهی درست در پیغام هاست. • استفاده از یک روش آدرس دهی یکتا برای صف های مبدأ و مقصد • مسائل دیگر در مورد پیغام ها: • شامل چه داده هایی باشند. • اندازه آن محدودیت دارد یا نه؟ • واسط آن بسیار ساده است. فراخوان غیربلوکی فراخوان بلوکی نسخه غیربلوکی فراخوان get معادل Callback function که به صورت اتوماتیک وقتی پیغامی در صف گذاشته می شود، صدا زده می شود.

  8. سیستم های صف بندی پیغام (3) • استاندارد قدیمی System V، شامل دستورات • msgget, msgctl, msgsnd, msgrcv • نمونه کد ساخت یک صف پیغام با استاندارد System V • http://liuweipingblog.cn/cpp/message-queue-example-msgget-msgctl-msgsnd-msgrcv/ • استاندارد POSIX • mq_open, mq_send, mq_receive, mq_close, mq_getattr, mq_setattr, mq_notify, … • توضیحات کامل در صفحه راهنمای mq_overview در لینوکس

  9. معماری کلی یک سیستم صف بندی پیغام • فرضیات: • صف مبدأ (Source queue) • پیغام ها در صفهایی گذاشته می شوند که به صورت محلی روی خود ماشین یا ماشین نزدیکی در شبکه محلی وجود دارد. • صف مقصد (Destination queue) • مشابه صف مبدأ، پیغام ها فقط از این نوع صفها خوانده می شوند. • پیغام باید حاوی توصیف صف مقصد باشد. • مسئولیت سیستم صف بندی است که صف های مبدأ و مقصد را تأمین کند. • مجموعه صف ها روی ماشین های مختلف توزیع می شود.

  10. معماری کلی یک سیستم صف بندی پیغام (2) • فرضیات: • یک تناظر بین مجموعه صف ها و محل ماشین ها باید برقرار باشد. • نگه داشتن یک پایگاه داده توزیع شده از اسامی صف ها به محل ماشین ها در شبکه • مانند تناظر اسامی در DNS با آدرس IP ماشین ها

  11. معماری کلی یک سیستم صف بندی پیغام (3) • صفها توسط مدیران صف (queue managers) مدیریت می شوند. • با برنامه کاربردی در تعامل است برای ارسال و دریافت پیغام ها • برخی از انواع آن مانند مسیریاب ها عملیات رله را انجام می دهند. • سیستم های صف بندی که تعداد زیادی مدیر صف رله کننده دارند به تدریج بزرگ شده و مانند یک شبکه overlay به نظر می رسند. • معمولاً در سیستم های صف بندی، یک سیستم تناظر دینامیک وجود ندارد. • راه حل 1: فرض می شود پیکربندی رله ها استاتیک است و هر مدیر صف یک جدولی از تناظر queue-to-location دارد. • راه حل 2: استفاده از تعدادی از مسیریاب ها که توپولوژی شبکه را می دانند.

  12. معماری کلی یک سیستم صف بندی پیغام (4) • سیستم صف بندی پیغام با مسیریاب ها فرستنده A پیغامش را به نزدیکترین مسیریاب میفرستد. مسیریاب R1 پیغام را به نزدیکترین مسیریاب B میفرستد.

  13. معماری کلی یک سیستم صف بندی پیغام (5) • نکات تکمیلی: • رله ها سیستم صف بندی پیغام را مقیاس پذیر می کنند. • تنظیم دستی و استاتیک آنها با بزرگ شدن سیستم مشکل می شود. • راه حل: استفاده از روش های مسیریابی دینامیک مانند شبکه های کامپیوتری است. • بکارگیری این روشها پیچیده است. • رله ها، امکان پردازش سطح دوم را روی پیغام ها را فراهم می کنند. • مانند: log کردن پیغام ها برای اهداف امنیتی یا تحمل پذیری خطا • یک فرم خاص رله ها، gateway ها هستند که پیغام را به فرمتی تبدیل می کنند که توسط گیرنده قابل فهم باشد. • رله ها قابل استفاده برای چندپخشی هستند.

  14. واسطه های پیغام (message brokers) • اضافه کردن برنامه های کاربردی جدید مستلزم تعریف نوع جدید پیغام هاست که باید توسط فرستنده ها و گیرنده ها پشتیبانی شود. • راه حل 1:توافق روی یک فرمت پیغام استاندارد، همان طور که در شبکه های کامپیوتری مرسوم است. • این راه حل در سیستم های صف بندی پیغام کارایی ندارد. • به دلیل سطح تجریدی که این سیستم ها در آن سطح تعریف می شوند. • راه حل 2: گفتگوها در سیستم های صف بندی پیغام در گره های خاصی مدیریت می شود. • به نام واسطه های پیغام ها • به صورت یک گیت وی در لایه کاربرد عمل می کند.

  15. واسطه های پیغام (2) • وظیفه واسطه پیغام: • تعریف پیغام به فرمتی که برای گیرنده قابل فهم باشد. • یک واسطه پیغام صرفاً یک برنامه کاربردی دیگر است. • جزئی از سیستم صف بندی نیست!

  16. مثالی از گیت وی سیستم صف بندی پیغام Ref: http://docs.oracle.com/html/A96196_01/intro.htm

  17. واسطه های پیغام (3) • مثال 1: • پیغام دریافتی یک جدول از یک پایگاه داده است. • رکوردها توسط یک کاراکتر end-of-record جدا شده اند و فیلدهای یک رکورد اندازه مشخص و ثابت دارند. • اگر برنامه کاربردی مقصد یک کاراکتر دیگری را برای انتهای رکورد موردنظر داشته باشد و یا اندازه فیلدهای متغیر مدنظرش باشد، یک واسطه پیغام می تواند این تبدیل را انجام دهد. • مثال2: • مدیریت گفتگوها بین دو پایگاه داده متفاوت • مثال 3: • استفاده از واسطه های پیغام در سیستم های EAI (فصل 1) • به روش publish/subscribe

  18. مقایسه MQ با E-mail • سیستم ایمیل: • ارسال/دریافت پیغام از کاربران • پروتکل های خاص مورد استفاده، مانند SMTP • مسیریابی برعهده شبکه است. • برای استفاده کاربران نهایی طراحی شده است. • نیازمندی های خاصی در سیستم های ایمیل ممکن است لازم باشد. • مانند: فیلتر کردن اتوماتیک پیغامها، ... • سیستم های MQ: • برای کاربران نهایی طراحی نشده است. • برای ایجاد ارتباط ماندگار بین فرآیندها طراحی شده است. • پروتکل های آنها AMQP، STOMP

  19. ارتباط مبتنی بر پیغام (MOC) • RPC و RMI • در تأمین شفافیت دسترسی نقش دارند. • ارتباط از نوع گذرا را پشتیبانی می کنند. • ارتباط از نوع سنکرون را پشتیبانی می کنند. • ارتباط مبتنی بر پیغام این محدودیت ها را برمیدارد. • قسمتهای این بخش • ارتباط مبتنی بر پیغام از نوع گذرا • ارتباط مبتنی بر پیغام از نوع ماندگار • مثال: IBM’s WebSphere

  20. IBM’s WebSphere اگر مدیر صف و برنامه کاربردی روی ماشینهای جداگانه باشند، یک واسط وجود دارد مانند حالتی که روی یک ماشین هستند. به صورت پراکسی پیاده سازی می شود با RPC سنکرون دو انتهای کانال پیغامها توسط عامل کانال پیغام (MCA) مدیریت می شود. کانال برای اتصال مدیران صفها تجریدی از اتصالهای لایه انتقال مدیر صف

  21. IBM’s WebSphere (2) • برای انتقال پیغام، دو طرف کانال های پیغام (MCA ها) باید زنده باشند. • سه روش شروع کردن کانال • توسط خود برنامه کاربردی • توسط میان افزار • توسط شبکه • روش متوقف کردن کانال: به صورت اتوماتیک بعد از یک مدت زمان مشخصی که پیغامی وارد کانال نشود. • صفت های MCA که رفتار آن کانال را توصیف می کند:

  22. IBM’s WebSphere (3) • انتقال پیغام: • آدرس: نام مدیر صف مقصد + نام صف مقصد • مشخص کردن مسیر: تبیین نام صف ارسال که در ماشین به صورت محلی است. معادل مشخص کردن نام مدیر صف ها است. • مسیرها معمولاً در جدولی در مدیر صف نگهداری می شوند، به صورت زوج (destQM, sendQM) • به یک درایه جدول MQ، alias گفته می شود. • نام مدیران صف، به صورت سراسری یکتاست. • Alias: نام منطقی است که با تغییر مدیر صف، ثابت می ماند. • وقتی مدیر صفی به نام M1 به M2 عوض شود، از نام alias آن استفاده می شود که باعث می شود همچنان برای برنامه هایی که به M1 دسترسی داشتند، قابل استفاده باشد.

  23. IBM’s WebSphere (4)

  24. IBM’s WebSphere (5) • واسطی که برای عملیات رله کردن در WebSphere استفاده می شود (تعدادی از دستورات پایه ای واسط) • اینکه صف مقصد روی چه ماشینی قرار دارد از نظر کاربر (برنامه کاربردی) پنهان است. • توسط alias ها

  25. IBM’s WebSphere (6) • مسائل مدیریتی: • متناظر شدن شبکه صف ها با یک شبکه overlay • نگهداری و مدیریت آن در طول زمان و با بزرگ شدن شبکه مهم است. • مشکل: شبکه MQ ها باید به صورت دستی مدیریت شود. • استفاده از توابع کنترل کانال ها مابین MCA ها برای مانیتور کردن دو انتهای کانال • شبیه مدیریت کلاستر سرورها

  26. سرفصل مطالب • مقدمات • فراخوانی تابع از راه دور (RPC) • ارتباط مبتنی بر پیغام (MOC) • ارتباط مبتنی بر استریم (SOC) • ارتباط چندپخشی (Multicast)

  27. ارتباط مبتنی بر استریم • موارد ارتباطی که تا الآن بررسی شدند، زمانبندی (timing) در آنها اثر چندانی نداشت. • در برخی از انواع ارتباطات، زمانبندی بسیار مهم است. • مثال: صوت دیجیتال به روش PCM و با کیفیت CD • برای بازتولید آن لازم است که نمونه های دریافت شده به همان ترتیبی که در استریم بودند و با همان بازه های زمانی سرهم شوند. • موضوع این بخش: • قابلیت های سیستم های توزیعی برای تبادل اطلاعات حساس به زمان مانند استریم های صوتی و تصویری

  28. پشتیبانی از رسانه های پیوسته • رسانه (مدیا): • روشی که توسط آن اطلاعات منتقل می شود. • مثال: رسانه های ذخیره سازی و انتقال، و نحوه نمایش اطلاعات یا رسانه های ارائه ای شامل متن، تصویر، صدا، فیلم، ... که تحت عنوان چندرسانه ای نیز شناخته می شوند. • انواع رسانه ها: • پیوسته • روابط زمانی بین آیتم های داده ای برای تفسیر داده ها مهم است. مانند: صوت، انیمیشن، ... • گسسته • روابط زمانی بین آیتم های داده ای برای تفسیر آنها چندان حیاتی نیست. مانند: متن، تصویر، کدهای object ها یا فایل های اجرایی

  29. استریم داده • استریم: دنباله ای از واحدهای داده ای • گسسته و پیوسته • حالت های انتقال: • آسنکرون: بسته ها صرفاً پشت سرهم ارسال می شوند ولی محدودیت زمانی روی انتقال آیتم ها وجود ندارد. • مثال: انتقال فایل • سنکرون: حداکثر تأخیر انتها-به-انتها روی واحدهای استریم داده مهم است. • مثال: ارسال نمونه های یک سنسور دمایی • ایزوکرون (isochronous): لازم است که آیتم های استریم داده ای به موقع منتقل شوند. • حداکثر و حداقل تأخیر انتها-به-انتها در انتقال باید رعایت شود. • Bounded (delay) jitter • برای سیستم های چندرسانه ای توزیعی مناسب است. • در ادامه استریم های موردنظر ما پیوسته و در مُد ایزوکرون هستند.

  30. استریم داده (2) • استریم: • ساده (simple): یک دنباله از داده ها • پیچیده (complex): چند استریم ساده مرتبط • مثال: صدای استریو شامل دو استریم ساده صوتی است که باید با یکدیگر سنکرون باشند. • مثال: استریم ویدئو که شامل استریم های ویدئو، دو استریم صوت استریو و احیاناً استریم متنی برای ترجمه به زبان دیگر است. • استریم کردن: • داده ذخیره شده: بیشتر روی این تأکید داریم. • داده زنده

  31. استریم داده (3) • معماری عمومی کلاینت-سروری برای پشتیبانی از استریم های چندرسانه ای پیوسته از دیدگاه ارتباطی کنترل کیفیت انتقال و همزمانی مهم است. داده چندرسانه ای باید فشرده شده باشد.

More Related