MPI – نحوه استفاده MPI در برنامه های خود با این آموزش رایگان

افشای: پشتیبانی شما به حفظ سایت کمک می کند! ما برای برخی از خدماتی که در این صفحه توصیه می کنیم هزینه ارجاع دریافت می کنیم.


MPI یا همان رابط عبور پیام ، یک سیستم انتقال پیام استاندارد است که در اوایل دهه 1990 توسط ائتلاف گسترده ای از مهندسان و دانشگاهیان علوم رایانه ساخته شد. این پروتکل استاندارد را برای برنامه های رایانه ای مختلف یا سیستم های رایانه ای فراهم می کند تا با ارسال پیام به جلو و عقب ، بر اساس مفاهیم ذاتی در برنامه نویسی شی گرا (OOP) با یکدیگر ارتباط برقرار کنند..

MPI استاندارد غالب برای انتقال پیام در یک محیط محاسبات موازی است. به منظور درک MPI ، درک این موارد مفید است:

  • ارسال پیام به طور کلی
  • محاسبات موازی

ارسال پیام

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

سود اصلی این تکنیک مربوط به مفهوم OOP Encapsulation است. منطق تعیین اجرای خاص برای استفاده به جای برنامه فراخوانی ، بر روی جسم باقی مانده است و بسیاری از جنبه های متفاوت این ویژگی را در یک شی واحد محصور می کند..

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

رایانه های مدرن از این فرم پیام بین سیستمی استفاده می کنند که تقریباً برای هر جنبه از محاسبات منتقل می شود. دو نمونه از چگونگی تأثیرگذاری این مسئله بر تجربه روزانه شما در محاسبات:

  • تقریباً همان رابط کاربری (UI) را هر بار که پرونده را باز کرده یا ذخیره می کنید ، بدون توجه به برنامه ای که به آن پرونده دسترسی دارید مشاهده می کنید – دلیل این است که تمام برنامه های مختلف پیام های دسترسی به فایل را به همان مدیر فایل منتقل می کنند.
  • وقتی یک سخت افزار جدید (اسکنر ، ماوس و غیره) اضافه می کنید ، هر برنامه ای که می تواند از آن استفاده کند بلافاصله به آن دسترسی پیدا می کند – شما نمی خواهید’لازم است درایورهای سخت افزاری را به هر برنامه جداگانه ای اضافه کنید که ممکن است از آن استفاده کند ، هر برنامه قادر است پیام ها را به یک کنترل کننده مستقل منتقل کند.

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

محاسبات موازی

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

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

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

MPI – ارسال پیام در محاسبات موازی

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

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

MPI دو حالت ارتباط برقرار می کند:

  • نقطه به نقطه – یک سیستم که پیام را مستقیماً به دیگری منتقل می کند
  • جمعی ، یا پخش شده – سیستمی که پیام ها را به یک گروه منتقل می کند

منابع MPI آنلاین

آموزش MPI

این آموزش های مقدماتی به شما کمک می کند تا از MPI برای محاسبات موازی یاد بگیرید.

  • MPI Tutorial by Wes Kendall – این یک معرفی کاملاً کامل برای MPI است ، یکی از بهترین در دسترس آنلاین.
  • آموزش در مورد MPI: رابط عبور پیام – منبع بسیار کامل ، توسط ویلیام گروپ ، از بخش ریاضیات و علوم رایانه آزمایشگاه ملی آرگون.
    • ویلیام گروپ همچنین این نسخه PDF را بر روی MPI تهیه کرد ، که تقریباً همان مواد را در بر می گیرد.
  • مقدمه ای برای رابط پیام پیام (MPI) با استفاده از آموزش C – زبان MPI.
  • آموزش MPI توسط بلیز بارنی – از آزمایشگاه ملی لارنس لیورمور

پیاده سازی ها

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

  • MPICH
  • MPI را باز کنید
  • مایکروسافت MPI
  • OpenMP

انجمن و بحث

یکی از بهترین راه ها برای شروع کار با MPI ، و برای حل مشکلات یک بار خود’دوباره کار و راه اندازی ، این است که با متخصصان و دیگر برنامه نویسان MPI صحبت کنید.

  • MPI Newsgroup Forums در گروه های Google – گروه خبری Usenet به بحث درباره MPI اختصاص یافته است
  • لیست های پستی Forum MPI – تعدادی لیست پستی مختلف از انجمن رسمی MPI
  • باز کردن لیست پستی MPI – لیست پستی برای اجرای Open MPI.
  • جلسات انجمن MPI – اطلاعات مربوط به زمان برگزاری مجمع MPI.
  • بازکردن انجمن نمایندگان مجلس
  • MPI در StackOverflow – سؤالات و پاسخ MPI.

فیلم های

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

  • معرفی برنامه نویسی موازی – رابط عبور پیام (MPI)
  • آشنایی با برنامه نویسی MPI
  • محاسبات با کارایی بالا – معرفی MPI
  • MPI چیست؟

  • کانال MPI را در YouTube باز کنید – تعداد زیادی فیلم عالی مرتبط با MPI در اینجا.

ارجاع

چند صفحه مرجع مرتبط با MPI برای نشانه گذاری و بازگشت دوباره و دوباره.

  • MPI: یک استاندارد رابط پیام دهنده – این گزارش اصلی فنی در سال 1994 برای تالار گفتگوی رابط پیام است.
  • اسناد MPI – استاندارد فعلی MPI ، و همچنین تمام نسخه های قبلی سند استاندارد.
  • مستندات باز MPI – برخی از این مطالب مختص اجرای Open MPI است ، اما بیشتر آنها به طور کلی مربوط به استاندارد MPI است.

کتاب در مورد MPI

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

  • شروع MPI (مقدمه ای در C) – توسط وس کندال ، که همچنین آموزش پیشنهادی شماره 1 ما را برای MPI نوشت..
  • برنامه نویسی موازی با MPI – یکی دیگر از متن های مقدماتی خوب.
  • استفاده از MPI – نسخه 2: برنامه نویسی موازی قابل حمل با رابط عبور پیام (محاسبات علمی و مهندسی) – همچنین تا حدودی مقدماتی ، اما با تأکید بر استفاده از MPI در علوم و تحلیل ریاضی.
  • برنامه نویسی موازی در C با MPI و OpenMP – یک آموزش برنامه نویسی برای یک زبان خاص و پیاده سازی MPI
  • MPI: مرجع کامل – مرجع اساسی میز MPI برای برنامه نویسان موازی جدی.

سؤالات متداول

MPI چیست؟?

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

چه کسی از MPI استفاده می کند?

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

چه کسی استاندارد MPI را مدیریت می کند?

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

آیا باید MPI یاد بگیرم؟?

این بستگی به این دارد که چه نوع کار توسعه ای را انجام می دهید و اهداف شما چیست.

اگر در درجه اول برنامه های وب را با زبان های نوشتن سطح بالا مانند Ruby ، ​​Python یا PHP می نویسید (و در درجه اول می خواهید این کار را انجام دهید) ، پس MPI یک استاندارد مهم برای یادگیری نیست..

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me