پردازش موازی (Parallel Processing)

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
parallel-processing-640.jpg

پردازش موازی از جهت های زیادی بر سوپر کامپیوتر ها ارجح می باشد

که می توان هزینه های تولید و ارتقا و همچنین در دسترس بودن و عدم پیچیدگی های سیستم عامل را از مهمترین دلایل دانست.

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

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



به عنوان نمونه در یک مساله CFD می توان شبکه محاسباتی را به تعداد پروسسورها تقسیم کرد وهر بخش از میدان را یک پروسسور حل کند

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

ولی همانطور که مشخص است بعد از هر تکرار باید هر پروسسور اطلاعات مرزی خود را به همسایه ها بدهد و همچنین اطلاعات مرزی انها را نیز دریافت کند

که این فعالیت چیزی است که در حالت اجرای معمولی با یک پروسسور وجود نداشت و مهمترین بخش کاهنده کارایی پردازش موازی نیز همین بخش می باشد.

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

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

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

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

یکی دیگر از ملزومات انتقال نحوه انجام ان توسط کاربر می باشد. در کارهای محاسباتی کاربر برنامه نویس است که باید به انتقال کنترل کامل داشته باشد و بتواند توسط برنامه این کار را انجام دهد.

به این ترتیب می توان چند بخش را برای انجام یک پردازش موازی متصور بود.

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

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

تاکنون کتابخانه های مدیریت ارتباط فراوانی تولید شده اند که MPI، PVM ، OpenMP و Chita و ... از ان جمله می باشند.

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

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

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

شرکت های LAM و MPICH دو تا از معروفترین فراهم اورنده های نسخه های کاربردی کامل این کتابخانه می باشند.

MPICH همچنین برای سیستم عامل Windows نیز این امکان را فراهم اورده است.

(اکثر کتابخانه های مربوط به سیستم های موازی تحت سیستم عامل Linux ارائه می شوند که دلیل ان پایداری و امنیت بالاتر مدیریت شبکه دراین سیستم عامل می باشد.)
 
بالا