آشنایی با MPI

نویسنده admin 1397/01/29 1 نظر مطالب,
آشنایی با MPI

 

MPI یا Message Passing Interface یک سیستم پیام گذار قابل حمل استاندارد است. این سیستم توسط گروهی از محققان آکادمیک و صنعتی طراحی شده تا بر روی گستره وسعی از کامپیوترهای موازی مختلف کار کند.

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

 

هدف از MPI

 

به طور کلی MPI Programing دارای ویژگی های زیر است.

  • افزایش کارایی سیستم
  • افزایش دامنه عملیات
  • MPI ازنظر موفقیت در دستیابی به عملکرد اجرایی بالا و قابلیت انتقال بالا ، مورد توجه است،
  • در حال حاضر، هیچ جایگزین مناسبی برای MPI وجود نداشته، در نتیجه به عنوان یک بخش حیاتی در برنامه نویسی موازی، باقی خواهد ماند.
  • اکثر پیاده سازی های MPI ، متشکل است از مجموعه ی خاصی از توابع کاربردی و قابل فراخوانی از فرترن، C ، یا ++C و یا سایر زبان هایی که قابلیت ارتباط با چنین کتابخانه رایجی را دارند.

 

مزایای MPI

 

مزایای MPI به نسبت سیستم های پیام گذار قدیمی تر عبارتند از:

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

 

MPI بر روی چه پلثفرم هایی قابل پیاده سازی هستند؟

 

اغلب پیاده سازی های MPI از یک مجموعه خاص از روال ها(به عنوان مسال API) به طور مستقیم از C،C++،FORTRAN یا هر زبانی که قادر به برقراری ارتباط بااین کتابخانه باشد،مثل C#،JAVA،PYTHON hاست.

 

MPI روی چه قسمت های از برنامه کار می کند؟

 

برنامه های MPI اغلب با پردازش ها سر و کار دارند. وقتی که واژه پردازش به گوش برنامه نویس می خورد خواه نا خواه آن ها را یاد CPU می اندازد. معمولا برای افزایش بازده هر CPU(یا هسته های هر CPU) یک کار بهشون تخصیص داده می شود. این تخصیص در زمان اجرا از طریق عاملی است که برنامه MPI را اجرا کرده. که MPIRUN نامیده می شود.

 

نحوه پیاده سازی MPI

 

پیاده سازی سخت افزاری: توجه محققان MPI programing بر این است که MPI رو بر روی سخت افزار به طور مستقیم پیاده سازی کنن. به عنوان مثال توسط یک میکرو پردازنده بر روی حافظه، یعنی ساختن(طراحی) میکرو مدار عملیاتی MPI بر روی هر گره RAM . این روش مستقل از زبانهای برنامه نویسی، سیستم عامل و CPU است. اما مشکل آن نداشتن قابلیت به روز رسانی و یا حذف بخشی از کتابخانه MPI است.
اما روش دیگر که تا الآن استفاده می شود، اضافه کردن سخت افزار شتاب دهنده به یک یا چند بخش عملیات است. شامل سخت افزار صف پردازش MPI و استفاده کننده RDMA برای جابجایی مستقیم اطلاعات بین حافظه و شبکه واسط، بدون دخالت CPU یا سیستم عامل است.

 

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

- آشنایی با زبان برنامه نویسی جاوا

- آشنایی با گرایش ارشد امنیت اطلاعات

- آشنایی با معماری کامپیوتر

- آشنایی با گرایش ارشد شبکه های کامپیوتری

 

 

1 نظر

ali:
1398/04/28, 02:04:12 PM
پاسخ

با سلام و ادب سوالی داشتم خدمت دوستان ما چندین سیستم بیکار(idle) داریم که می خواهیم تحت شبکه به همراه دیگر سیستم های فعال تعداد 4 نرم افزار سنگین و پرکاربردمان را به صورت پردازش موازی و حداکثر توان عملیات پردازشی را به کار بگیریم تا زمان و هزینه مان پایین بیاید حال سوالم این جاست که آیا نرم افزاری هست که بتواند همه موارد ذکر شده بالا را مدیریت کند.ممنون

افزودن نظر