1 / 34

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

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

mikel
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– جلسه 14 مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92

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

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

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

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

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

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

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

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

  10. استریم و کیفیت سرویس • نیازمندی ها: • Functional: عملکرد اصلی سیستم موردنظر • Non-functional: مسائل مربوط به زمانبندی، قابلیت اطمینان، ... • عمدتاً تحت عنوان کیفیت سرویس یا QoS (Quality of Service) • چگونگی توصیف QoS: • نرخ بیت • حداکثر تأخیر برای راه اندازی نشست • حداکثر تأخیر انتها به انتها • حداکثر واریانس تأخیر (jitter) • حداکثر تأخیر رفت و برگشت • سرویسی که توسط اینترنت عرضه می شود، دیتاگرام best-effort است: IP

  11. اعمال کیفیت سرویس • مکانیزم های IP برای QoS (مکانیزمهای لایه شبکه): • سرویس متمایز (DS): برای تمایز بین کلاس های مختلف داده ها • کلاس Expedited forwarding: مبدأ بسته های موردنظر خود را علامت می زند و تأکید می کند که ارسال با اولویت ذکر شده باشد. • کلاس Assured forwarding: ترافیک به چهار کلاس تقسیم می شود همراه با سه روش حذف بسته ها در صورت وقوع ازدحام. به این ترتیب محدوده ای از کلاس ها وجود دارد که کاربران می توانند بسته به نیاز خود از آنها استفاده کنند.

  12. اعمال کیفیت سرویس (2) • راه حل های دیگر توسط سیستم های توزیعی: • استفاده از بافر برای کم کردن jitter بسته ها برای مدت زمان مشخصی در بافر گیرنده ذخیره می شوند تا گیرنده با نرخ ثابتی آنها را به برنامه کاربردی بدهد و تضمین شود که مقدار کافی بسته در بافر وجود دارد به گونه ای که با نرخ ثابت قابل play back باشد. تأخیر بسته 8، 11 ثانیه است. ایجاد مشکل می کند. اندازه بافر گیرنده 9 ثانیه است.

  13. اعمال کیفیت سرویس (3) • مشکل دیگر: گم شدن بسته ها • راه حل: استفاده از تکنیک های تصحیح خطا (FEC) • تشخیص خطا و ارسال مجدد، دردی را دوا نمی کند! • یکی از تکنیک های تصحیح خطا: کد کردن بسته ها به گونه ای که دریافت هر ترکیب k تایی بسته ها از n بسته برای بازسازی k بسته کافی باشد. • راه حل دیگر در صورت گم شدن یک بسته: • Interleave کردن فریم ها در بسته های مختلف • در این صورت، جای خالی آن بسته در فریم های بسته های مختلف توزیع می شود و اثر آن کمتر دیده می شود. • شکل اسلاید بعد

  14. اعمال کیفیت سرویس (4) • البته تأخیر بیشتر می شود: • برای اجرای 4 فریم اول، گیرنده باید 4 بسته را دریافت کند، به جای دریافت فقط یک بسته در حالت non-interleaved

  15. سنکرون کردن استریم ها • در سیستم های چندرسانه ای، سنکرون بودن استریمها در استریم پیچیده لازم است. • به معنی نگه داشتن روابط زمانی (temporal relations) بین استریمها • دو نوع سنکرون سازی: • بین استریم های گسسته و پیوسته • مانند نمایش اسلایدها از طریق وب • بین استریم های پیوسته • اجرای یک فیلم (سنکرون بودن استریم ویدئو با استریم صوتی که به lip synchronization معروف است) • سنکرون سازی در سطح واحدهای داده ای انجام می شود. • تعریف دقیق واحدهای داده ای به سطح تجریدی بستگی دارد که استریم داده از آن منظر دیده می شود. • مثال: استریم صوتی با کیفیت CD تک کاناله: نمونه های 16 بیتی با فرکانس 44100 هرتز، سنکرون سازی با استریم دیگر با فاصله زمانی 23 میکروثانیه باید انجام شود.

  16. سنکرون کردن استریم ها (2) • در نظر گرفتن دو مکانیزم در سنکرون سازی: • مکانیزم اصلی برای سنکرون کردن دو استریم • سنکرون سازی روی کوچکترین واحدهای داده ای یک استریم ساده با استفاده از عملیات read و write توسط یک فرآیند با تضمین رعایت همزمانی بین آنها • توزیع مکانیزم ها در محیط شبکه ای

  17. سنکرون کردن استریم ها (3) • مشکل روش قبلی همزمان سازی: • این کار برعهده برنامه کاربردی گذاشته شده است در حالی که امکانات کمی برعهده دارد. • راه حل دوم: 2. سنکرون سازی توسط یک واسط انجام شود. • مانند کنترلر ویدئو که می تواند توسط کاربر تنظیم شود. لایه میان افزار در سیستم های چندرسانه ای مجموعه ای از واسطها برای کنترل استریم های صوتی و تصویری را فراهم می آورد.

  18. سنکرون کردن استریم ها (4) • مکانیزم دوم سنکرون سازی: توزیع روی محیط شبکه ای • عمدتاً شامل مالتی پلکس کردن استریم های مختلف و تبدیل آنها به یک استریم است. • سنکرون سازی در کدام طرف باشد: فرستنده یا گیرنده؟ • فرستنده استریم ها را جداگانه بفرستد و سنکرون سازی برعهده گیرنده باشد. • ممکن است هر استریم در معرض تأخیرهای مختلف قرار بگیرد. • فرستنده استریم ها را در هد ادغام کند به گونه ای که استریم دریافتی در گیرنده شامل داده های هر دو استریم باشد. • بهتر است.

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

  20. ارتباط چندپخشی • ارسال داده به چندین گیرنده • به طور معمول در لایه های شبکه و انتقال راه حل هایی برایش ارائه شده است. • چالش اصلی: برقراری مسیرها برای انتشار اطلاعات • معمولاً مدیریت آن مشکل است. • با ظهور شبکه های P2P و مدیریت overlay ها به صورت ساخت یافته، روش های چندپخشی بهتری ارائه شدند. • عمده راه حل ها در لایه کاربرد ارائه شده است. • راه حل های دیگری نیز به جز برقراری مسیر برای چندپخشی ارائه شده • مانند روش شایعه پراکنی

  21. چندپخشی لایه کاربرد • گره های عضو گروه چندپخشی یک شبکه overlay را تشکیل می دهند. • مسیریاب های شبکه درگیر گروه نمی شوند. • هر لینک منطقی شبکه overlay می تواند شامل بیش از یک لینک فیزیکی باشد. • ساختار شبکه های overlay برای چندپخشی: • درختی: فقط یک مسیر بین هر دو گره عضو وجود دارد . • مش: بیش از یک مسیر بین دو گره عضو وجود دارد. • مقاوم تر است.

  22. چندپخشی لایه کاربرد (2) • یک روش ساخت درخت چندپخشی در Chord • در ابتدا به عنوان یک روش چندپخشی لایه کاربرد برای Scribe پیشنهاد شده بود که روی شبکه Pastry ساخته می شود. • ابتدا گره یک شناسه چندپخشی می گیرد به نام mid • یک کلید تصادفی 160 بیتی • Successor این گره باید مشخص شود: succ(mid) • گرهی که مسئول کلید است و می شود ریشه درخت چندپخشی که باید داده ها را به گره های موردنظر برساند. • مانند روش فصل 5 (ارائه Chord)

  23. چندپخشی لایه کاربرد (3) • روش join شدن یک گره به درخت: • گره P دستور lookup(mid) را باید اجرا کند. • پیغام lookup درخواست پیوستن به گروه با شناسه mid را از P به سمت succ(mid) می فرستد. • اگر پیغام join به گرهی در میانه مسیر مانند Q رسید که Q عضو درخت نیست، Q مانند گره فوروارد کننده عمل می کند. • P مانند فرزند Q خواهد بود. • اگر گره میانی مانند Q قبلاً فوروارد کننده برای گروه mid بوده، گره قبلی، P، را به عنوان فرزند خود نگه می دارد و دیگر نیازی به ارسال درخواست join به سمت ریشه نیست. • گره P که به صراحت درخواست join داده نیز یک فورواردکننده خواهد بود. • بنابراین دو نوع گره در درخت خواهیم داشت: • فورواردکننده های خالص • فوروارد کننده هایی که در خواست join نیز داده اند.

  24. ساخت overlay • بهینه کردن درخت کار مشکلی است. • دخالت دادن پارامترهایی مانند تأخیر، پهنای باند، ... • در شکل زیر: وقتی A پیغام چندپخشی رو می فرستد لینک های <B, Rb>, <Ra, Rb>, <Rc, Rd>, <D, Rd> دو بار پیموده می شوند. • در حالی که اگر درخت overlay به جای از B به D، از مسیرهای A به C ساخته می شد بهتر بود. هزینه های لینکهای فیزیکی ریشه درخت چندپخشی

  25. ساخت overlay (2) • معیارهای نشان دهنده کیفیت لینک های overlay • Link stress • به ازای هر لینک، تعداد دفعاتی که یک بسته آن لینک را می پیماید. • Link stretch یا Relative Delay Penalty (RDP) • تأخیر دو گره در شبکه overlay نسبت به تأخیر همان دو گره در شبکه فیزیکی • مثال شکل قبل • هزینه درخت • معیار سراسری، مینیمم کردن هزینه لینک های تجمیع شده

  26. ساخت overlay (3) • روش های دیگر: • در نظر گرفتن یک گره خاص که اطلاعات همه گره هایی که به درخت join می شوند را نگه می دارد. • گره rendezvous • گرهی که می خواهد join شود با این گره تماس می گیرد تا لیستی از همسایه های محلی به دست آورد. • این گره بهترین گره را به عنوان پدر آن برمی گرداند. • نحوه انتخاب گره های پدر برای هر گره که join می شود: • اگر یک گره (معمولاً گره source چندپخشی) باشد که همه به آن وصل می شوند • ممکن است دچار اضافه بار شود. • می توان تعداد گره هایی که می توانند به گره خاص وصل شوند را به عدد k محدود کرد. • روش دیگر switch tree: گره ها بتوانند گره پدر دیگری انتخاب کنند.

  27. انتشار اطلاعات به روش شایعه پراکنی • استفاده از رفتارهای اپیدمیک • انتشار بیماری ها • پروتکل های اپیدمیک • انتشار سریع اطلاعات در یک شبکه بزرگ با استفاده از اطلاعات محلی • فرض: به روزرسانی اطلاعات فقط در یک گره انجام می شود. • گرهی که عضو شبکه است: • Infected است هرگاه داده موردنظر را دریافت کرده باشد. • گرهی که هنوز داده را دریافت نکرده: • Susceptible است یا در معرض آن قرار دارد. • گره به روز شده ای که نمی خواهد یا نمی تواند داده را انتشار دهد: • Removed است. • داده جدید با قدیم توسط مُهر زمانی از یکدیگر متمایز می شوند.

  28. انتشار اطلاعات به روش شایعه پراکنی (2) • مدل آنتی-انتروپی (anti-entropy): • گره P گره دیگری به نام Q را به صورت تصادفی انتخاب می کند و به روزرسانی را به آن منتقل می کند به سه روش: • P only pushes its own updates to Q یعنی P به روزرسانی خود را به Q می دهد. • P only pulls in new updates from Q یعنی Q که susceptible است سعی می کند به روزرسانی را از P که infected است بگیرد. • P and Q send updates to each other (push-pull approach) • روش push در ابتدا خوب عمل می کند ولی وقتی تعداد گره های به روز شده زیاد شود، بد عمل می کند. • روش pull، در ابتدا خوب عمل نمی کند به دلیل اینکه تعداد گره های به روز شده کم است، ولی به تدریج بهتر می شود. • ترکیب دو روش، مزایای هر دو را در بر می گیرد.

  29. انتشار اطلاعات به روش شایعه پراکنی (3) • روش rumor spreading یا gossiping: • گره P داده x را به روزرسانی کرده • گره دلخواهی مانند Q را انتخاب کرده و به روزرسانی را به آن منتقل می کند. • اگر Q قبلاً به روزرسانی را دریافت کرده باشد، علاقمندی P برای انتشار کاهش می یابد.به عبارت دیگر با احتمال 1/k تلاش نمی کند. • به تدریج P به عنوان گره removedشناخته می شود. • روش خوبی برای انتشار سریع اطلاعات است ولی تضمین نمی کند که تمام گره ها داده را دریافت کرده باشند. • S درصدی از گره ها که به روزرسانی را دریافت نمی کنند:

  30. انتشار اطلاعات به روش شایعه پراکنی (4) • رابطه ln(s) برحسب k • نشان می دهد که درصد خیلی کمی از گره ها به روزرسانی را دریافت نمی کنند. البته برای ما قابل قبول نیست. • به نظر می آید gossiping از منابع بهتر استفاده می کند. • ترکیب آنتی-انتروپی با gossiping مناسب است.

  31. انتشار اطلاعات به روش شایعه پراکنی (5) • روش های اپیدمیک، مقیاس پذیری خوبی دارند. • به این دلیل که تعداد سنکرون سازی بین فرآیندها کم است. • بهبود روی روش اپیدمیک: • در نظر گرفتن توپولوژی شبکه، • روش directional gossiping • گره هایی که به تعداد کمی گره دیگر وصل هستند، با احتمال بالایی مورد دسترسی قرار می گیرند. • به این ترتیب، این گره ها مانند پلی برای بقیه قسمتهای شبکه عمل می کنند.

  32. انتشار اطلاعات به روش شایعه پراکنی (6) • پاک کردن داده ها: • انتشار عمل ”پاک کردن یک داده“ کار مشکلی است. • پاک کردن یک آیتم داده ای اطلاعات مربوط به آن داده را از بین می برد. گرهی که آیتم داده ای را پاک کرده، نسخه های قدیمی آیتم را به عنوان به روزرسانی های جدید در نظر می گیرد. • راه حل: عمل پاک کردن را نیز به عنوان یک به روزرسانی در نظر بگیریم و یک رکوردی از آن را ثبت کنیم. بنابراین دیگر نسخه های قبلی به عنوان به روزرسانی جدید در نظر گرفتن نمی شوند. • رکورد کردن delete ها توسط انتشار death certificate ها انجام می شود.

  33. کاربردهای روش های شایعه پراکنی • در فصل 2: داشتن اطلاعات درباره محل گره ها می تواند منجر به ساخت توپولوژی های خاص شود. • استفاده از gossiping برای پیدا کردن گره هایی که لینک های خروجی کمی دارند (استفاده از directional gossiping). • جمع آوری داده ها و تجمیع آنها: • مثال: گره i، داده xi را دارد. وقتی با گره j تماس می گیرد، داده خود را به مقدار xi, xj (xi+xj)/2 به روز می کنند. • در نهایت مقداری که در تمام گره ها ذخیره می شود، میانگین مقدارهای اولیه گره هاست. • اگر تابع زیر را فرض کنیم: • میانگین گیری روی این مقدار در گره ها، در نهایت منجر به عدد 1/N می شود. یعنی سایز شبکه. یعنی هر گرهی تخمینی از اندازه شبکه دارد. که این اطلاع بسیار کاربرد دارد. مثلاً در ساخت partial view.

  34. پایان فصل 4

More Related