МПИ – Како користити МПИ у својим апликацијама помоћу ових бесплатних водича

Откривање: Ваша подршка помаже одржавању сајта да ради! Зарађујемо накнаду за препоруку за неке услуге које препоручујемо на овој страници.


МПИ, или Интерфејс за прослеђивање порука, је стандардизовани систем за преношење порука који је раних 1990-их развила широка коалиција инжењера и академика рачунарских наука. Омогућава стандардни протокол да различити рачунарски програми или рачунарски системи међусобно комуницирају преносећи поруке напред-назад на основу концепата својствених објектно оријентисаног програмирању (ООП).

МПИ је доминантан стандард за преношење порука у паралелном рачунарском окружењу. Да бисте разумели МПИ, корисно је разумети:

  • порука пролази уопште
  • паралелно рачунање

Преношење поруке

Преношење порука начин је на који програм може позвати на понашање или покренути програм. Разликује се од конвенционалнијег начина позивања програма, преношење поруке заснива се на објектном моделу, који одваја општу функционалну потребу од специфичне имплементације. Програм који треба функционалност зове објект, а тај објект покреће програм.

Примарна корист ове технике је повезана са ООП концептом инкапсулације. Логика одређивања које конкретне имплементације треба користити препушта се објекту, а не програму позивања, обједињујући многе различите аспекте функције у један објект.

На пример: Рачунални систем можда има објект Принт Манагер и неколико појединачних штампача. Сваки од програма који би можда желео да користи штампач не мора имати сопствену имплементацију сваког штампача, заједно са сложеном логиком која одређује који штампач треба користити у којој ситуацији. Сваки програм који треба да штампа нешто може једноставно послати поруку за штампање Управитељу штампача, који ту поруку преузима и даље шаље на одређени Штампач.

Савремени рачунари користе овај облик интер-системске поруке која пролази за (скоро) сваки аспект рачунања. Неколико примера како то утиче на ваше свакодневно искуство рачунања:

  • видите скоро исти кориснички интерфејс (УИ) сваки пут када отворите или сачувате датотеку, без обзира на апликацију којој датотеци приступате – то је због тога што све различите апликације преносе поруке приступа датотеци истом менаџеру датотека
  • када додате нови комад хардвера (скенер, миш итд.), свака апликација која може да га користи има приступ њему одмах -’не треба додати управљачке програме за хардвер свакој појединачној апликацији која би га могла користити, сваки програм је у могућности да једноставно проследи поруке независном контролеру

Ово су примери високог нивоа преноса порука. МПИ ради на нижем нивоу, омогућава пролазак порука између различитих система у паралелном рачунарском окружењу.

Паралелно рачунање

Паралелно рачунање је парадигма рачунања где се задаци (прорачуни, процеси итд.) Деле на мање задатке који се могу изводити паралелно (истовремено), а не серијски (један за другим).

Генерално, језгро за рачунарску обраду може одједном радити само једну ствар, један прорачун. Сасвим буквално, може истовремено да премешта само један бит података. Савремени ЦПУ-ови делују тако брзо да ова метода једнократног рачунања може постићи релативно висок ниво перформанси, али и даље се врши кроз сваки ситан серијски израчун – један за другим. И постоји ограничење колико брзо ово може ићи – практично ограничење засновано на данашњем дану’технологијом и апсолутним теоријским ограничењем заснованим на законима физике.

Да би се повећала брзина рачунарског система, пронађене су паралелне обраде и паралелно рачунање. Ово раздваја серијски израчунате задатке и омогућава им да се истовремено, истовремено – одвоје одвојени процесори.

МПИ – порука пролази у паралелном рачунању

Да би паралелно рачунање функционисало, разни рачунари морају бити у могућности да међусобно комуницирају – да преносе поруке напред-назад. МПИ – Интерфејс за преношење порука – створен је да олакша ову комуникацију.

МПИ је протокол независан од језика који пружа АПИ (Апплицатион Программинг Интерфаце) процесорима и другом хардверу (стварном или виртуелном) коме могу приступити други системи. МПИ треба имплементирати добављач хардвера, а било којем хардверу у који је уграђена МПИ имплементација може приступити повезаним системима путем МПИ протокола.

МПИ пружа два начина комуникације:

  • тачка-тачка-један систем преноси поруке директно другој
  • колективни или емитовани – један систем који преноси поруке групи

Онлине МПИ ресурси

МПИ Туториалс

Ови уводни водичи помоћи ће вам да научите да користите МПИ за паралелно рачунање.

  • МПИ Туториал Вес Кендалл – Ово је врло темељит увод у МПИ, један од најбољих доступних на мрежи.
  • Туториал о МПИ: Интерфејс за преношење порука – Још један врло темељит ресурс, Виллиам Гропп, из одељења за математику и рачунарску технику Националне лабораторије Аргонне.
    • Виллиам Гроп је припремио и ову ПДФ презентацију на МПИ-у који углавном покрива исти материјал.
  • Увод у интерфејс за пролаз поруке (МПИ) коришћењем Ц – језика специфичног МПИ водича.
  • МПИ Туториал Блаисе Барни – из Националне лабораторије Лавренце Ливерморе

Имплементације

МПИ је стандардна, а не специфична технологија. Ослања се на имплементације разних добављача. Ово су неке од најчешће коришћених МПИ имплементација (има их много више).

  • МПИЦХ
  • Отвори МПИ
  • Мицрософт МПИ
  • ОпенМП

Заједница и дискусија

Један од најбољих начина за започињање МПИ-ја и решавање проблема једном’Поново покрените, значи разговарати са стручњацима и другим МПИ програмерима.

  • Форум МПИ Невсгроуп на Гоогле групама – Усенет група намењена дискусијама о МПИ
  • Листе за слање МПИ форума – Неколико различитих спискова слања са званичног МПИ Форума
  • Опен МПИ Маилинг Лист – Листа поштанских адреса за имплементацију Опен МПИ.
  • Састанци МПИ Форума – Информације о састанку МПИ Форума.
  • Отвори МП форум
  • МПИ на СтацкОверфлов – МПИ питања и одговори.

Видео

МПИ је честа тема предавања и разговора о професионалном развоју, па постоји мноштво видео снимака који истражују различите аспекте МПИ.

  • Увод у паралелно програмирање – Интерфејс за просљеђивање порука (МПИ)
  • Увод у МПИ програмирање
  • Рачунарство високих перформанси – Увођење МПИ
  • Шта је МПИ

  • Отворите МПИ канал на ИоуТубе-у – Много сјајних видео записа повезаних са МПИ-јем.

Референце

Неколико кључних референтних страница повезаних са МПИ-ом да бисте их поставили за обележивање и вратили се поново и поново.

  • МПИ: Стандард за интерфејс за пролаз поруке – Ово је оригинални технички извештај Форума о интерфејсу за пролазак порука.
  • МПИ документи – тренутни МПИ стандард, као и све претходне верзије документа о стандардима.
  • Отворена МПИ документација – Неки од ових материјала су специфични за имплементацију отвореног МПИ-ја, али већина је опћенита према МПИ стандарду.

Књиге о МПИ

Пошто је МПИ мало напредан, већину заиста детаљних информација је лакше пронаћи у штампаним књигама него у мрежним туторијалима. Ево неколико најбољих уџбеника и референци о МПИ.

  • МПИ за почетак (увод у Ц) – Вес Кендалл, који је написао и наш # 1 препоручени туториал о МПИ.
  • Паралелно програмирање са МПИ – Још један добар уводни текст.
  • Коришћење МПИ – 2. издање: Преносно паралелно програмирање са интерфејсом за пролазак порука (научно-инжењерски рачунски рад) – Такође помало уводно, али са нагласком на коришћење МПИ у научно-математичкој анализи.
  • Паралелно програмирање на Ц-у са МПИ и ОпенМП – Водич за програмирање за одређени језик и МПИ имплементацију
  • МПИ: Комплетна референца – Битна МПИ референтна тачка за озбиљне паралелне програмере.

ФАК

Шта је МПИ?

МПИ је интерфејс за пролазак порука. То је комуникацијски протокол који омогућава рачунарским системима да међусобно разговарају у паралелном рачунарском окружењу.

Ко користи МПИ?

МПИ користи скоро свако ко пише апликације које ће искористити паралелни или кластерирани рачунарски систем.

Ко управља МПИ стандардом?

МПИ стандард објављује Мессаге Пассинг Интерфаце Форум, отворена и стално еволуирајућа група инжењера и академика рачунарских наука.

Да ли морам да научим МПИ?

То зависи од тога који развојни посао радите и који су ваши циљеви.

Ако пишете првенствено веб апликације на скриптним језицима високог нивоа као што су Руби, Питхон или ПХП (и првенствено то желите да наставите), МПИ није важан стандард за учење.

Ако се желите више укључити у развој темељних система, посебно у кластерисаном или паралелном рачунарском окружењу (попут облака, супер рачунара или великих података), МПИ је важно што треба знати.

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