سیستم های توزیع شده مبتنی بر ارسال پیام و مبتنی بر حافظه مشترک

مدل حافظه مشترک

در این مدل یک ناحیه حافظه مشترک برقرار می شود که توسط فرآیندها برای ارتباط داده استفاده می شوند. این ناحیه حافظه در فضای آدرس فرآیندی که توسط سگمنت حافظه مشترک ساخته می شود قرار دارد. فرآیندهایی که می خواهند با این فرآیند ارتباط برقرار می کنند می بایستی سگمنت حافظه را به فضای آدرس خود اضافه کنند.

در مدل حافظه مشترک، حافظه می تواند به صورت همزمان توسط چند فرآیند مورد استفاده قرار بگیرد. این کار از طریق ارتباط فرآیندها با یکدگیر میسر می شود.

مدل انتقال پیام

در این مدل فرآیندها با یکدیگر از طریق تبادل پیام ها ارتباط برقرار می کنند. برای این منظور، یک پیوند ارتباطی می بایستی بین فرآیندها موجود باشد و بایستی حداقل دو عملیات ارسال (پیام) و دریافت (پیام) را تسهیل کند. اندازه پیام ها ممکن است متغیر یا ثابت باشند.

در مدل انتقال پیام به فرآیندهای گوناگون اجازه داده می شود تا داده را در صف پیام بدون نیاز به اتصال به یکدیگر بنویسند و یا بخوانند. پیام ها تا وقتی متقاضی پیام آنها را بازیابی کند، در صف ذخیره می شوند. صف های پیام بسیار مفید برای ارتباط بینافرآیندی هستند و در اکثر سیستم عامل ها مورد استفاده قرار می گیرند.

در جدول زیر تفاوت های بین این دو مدل مشخص شده است:

مدل حافظه مشترک

مدل انتقال پیام

ناحیه مشترک حافظه برای ارتباط مورد استفاده قرار می گیرد.

امکان انتقال پیام برای ارتباط مورد استفاده قرار می گیرد.

برای ارتباط بین فرآیندهای روی تک پردازنده یا چند پردازنده استفاده می شود که در یک ماشین یکسان قرار دارند.

معمولا در سیستم های توزیع شده استفاده می شود که ماشین ها از دور از طریق شبکه به یکدیگر متصل می شوند.

کد خواندن و نوشتن داده باید صریحا توسط برنامه نویس نوشته شود.

از آنجا که امکان پیام، مکانیسمی برای ارتباط و همگام سازی اعمال انجام شده ایجاد می کند برخلاف مدل حافظه مشترک به کد صریح نیاز ندارد.

از آنجا که فراخوان های سیستمی فقط برای برقراری حافظه مشترک استفاده می شوند، حداکثر سرعت محاسبات را فراهم می کند.

از آنجا که انتقال پیام از طریق مداخله کرنل (فراخوان های سیستمی) انجام می شود زمان بر است.

فرآیندها نیاز دارند تا مطمئن شوند که در یک مکان مشترک، همزمان نمی نویسند. سمافورها و مانیتورها در اصل به همین منظور ایجاد شده اند.

برای اشتراک گذاشتن قدری داده مشترک مفید است.

استراتژی سریع تر ارتباط است.

به نسبت استراتژی کندتر ارتباط است.

سوال: آیا هر سیستم توزیع شده ای که با یکی از این دو مدل نوشته شود را می توان با مدل دیگر نوشت؟

بله! یک سیستم خلق شده توسط ارتباط پیام را می توان توسط مدل ارتباط با حافظه مشترک شبیه سازی نمود. همچنین شبیه سازی مدل حافظه مشترک را نیز می توان با مدل ارتباط پیام انجام داد. از این رو هر سیستمی که بر روی یکی از این دو نوشته شود را می توان با دیگری نیز نوشت.

شبیه سازی این دو مدل به یکدیگر به شرح زیر است:

شبیه سازی انتقال پیام بر روی یک سیستم حافظه مشترک

فضای حافظه مشترک می تواند به قسمت های مجزا تقسیم شود و یک قسمت برای هر پردازنده تخصیص داده شود. عملیات ارسالو بازیابیمی توانند توسط خواندن و نوشتن از فضای آدرس پردازنده مقصد/فرستنده به ترتیب بکار گرفته شوند.

به طور مشخص، یک مکان مجزا به عنوان صندوق پستی برای هر زوج مرتب از فرآیندها می تواند رزرو شود. انتقال پیام Pi-Pj می تواند از طریق شبیه سازی توسط نوشتن Pi در صندوق پستی و سپس خواندن توسط Pj از طریق صندوق پستی صورت گیرد.

در ساده ترین حالت، این صندوق های پستی می توانند چنین فرض شوند که اندازه نامحدود دارند. عملیات نوشتن و خواندن نیاز دارند توسط اصول همگام سازی برای مطلع کردن فرستنده/دریافت کننده بعد از اینکه داده ارسال/دریافت شد، کنترل شوند.

شبیه سازی حافظه مشترک بر روی یک سیستم انتقال پیام

از طریق استفاده از عملیات ارسالو دریافتبرای نوشتنو خواندنانجام می شود. هر مکان مشترک می تواند به عنوان یک فرآیند جدا مدل شود.

نوشتندر یک مکان مشترک توسط ارسال یک پیام بروزرسانی به فرآیند مالک متناظر شبیه سازی می شود. “خواندندر یک مکان مشترک از طریق ارسال یک پیام پرس و جو به مالک فرآیند شبیه سازی می شود.

از آنجا که دسترسی به حافظه پردازنده دیگر نیاز به عملیات ارسال و دریافت دارد، این شبیه سازی پرهزینه است. اگرچه شبیه سازی حافظه مشترک از زاویه دید یک برنامه نویس ممکن است جذاب تر به نظر برسد، اما باید به خاطر سپرد که که در یک سیستم توزیع شده، این فقط یک انتزاع است. در نتیجه، تاخیرهای ایجاد شده در عملیات نوشتن و خواندن حتی با وجود استفاده از شبیه سازی حافظه مشترک ممکن است زیاد به نظر برسند. برای اینکه عملیات نوشتن و خواندن توسط ارتباطات وسیع شبکه تحت پوشش اجرا می شوند.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *