Page 157 - 4868
P. 157

155                                                              Ошибка! Стиль не определен.

               алгоритмічних мовах C або Fortran із застосуванням тієї або іншої реалізації
               бібліотеки MPI.
                     Кількість процесів і число використовуваних процесорів визначається у
               момент запуску паралельної програми засобами середовища виконання MPI-
               програм і в ході обчислень не може мінятися без застосування спеціальних
               засобів динамічного породження процесів і керування ними, що з’явилися в
               стандарті MPI версії 2.0. Усі процеси програми послідовно пронумеровані від
               0 до p-1, де p є загальною кількістю процесів. Номер процесу називається
               рангом процесу.
                     Основу  MPI  складають  операції  передачі  повідомлень.  Серед
               передбачених  у  складі  MPI  функцій  розрізняються  парні  (point-to-point)

               операції між двома процесами і колективні (collective) комунікаційні дії для
               одночасної взаємодії декількох процесів.
                     Для  виконання  парних  операцій  можуть  використовуватися  різні
               режими передачі, серед яких синхронний, блокуючий та ін.
                     Процеси паралельної програми об’єднуються в групи. Іншим важливим
               поняттям  MPI,  що  описує  набір  процесів,  є  поняття  комунікатора.  Під
               комунікатором в MPI розуміється спеціально створюваний службовий об’єкт,
               який  об’єднує  у  своєму  складі  групу  процесів  і  ряд  додаткових  параметрів
               (контекст), використовуваних при виконанні операцій передачі даних.
                     Парні  операції  передачі  даних  виконуються  тільки  для  процесів,  що
               належать  одному  і  тому  ж  комунікаторові.  Колективні  операції
               застосовуються  одночасно  для  усіх  процесів  одного  комунікатора.  Як
               результат,  вказівка  використовуваного  комунікатора  є  обов’язковою  для
               операцій передачі даних в MPI.
                     В ході обчислень можуть створюватися нові і видалятися існуючі групи
               процесів і комунікатори. Один і той же процес може належати різним групам
               і  комунікаторам.  Усі  наявні  в  паралельній  програмі  процеси  входять  до
               складу  створюваного  за  замовчуванням  комунікатора  з  ідентифікатором
               MPI_COMM_WORLD.
                     У  версії  2.0  стандарту  з’явилася  можливість  створення  глобальних
               комунікаторів  (intercommunicator),  що  об’єднують  в  одну  структуру  пару
               груп  при  необхідності  виконання  колективних  операцій  між  процесами  з
               різних груп.
                     При  виконанні  операцій  передачі  повідомлень  у  функціях  MPI
               необхідно  вказувати  тип  даних,  що  пересилаються.  MPI  містить  великий
               набір  базових  типів  даних,  багато  в  чому  співпадаючих  з  типами  даних  в
               алгоритмічних мовах C і Fortran. Крім того, в MPI є можливості створення
               нових  похідних  типів  даних  для  точнішого  і  коротшого  опису  вмісту
               повідомлень, що пересилаються.
                     Як вже відзначалося раніше, парні операції передачі даних можуть бути
               виконані  між  будь-якими  процесами  одного  і  того  ж  комунікатора,  а  в
               колективній  операції  беруть  участь  усі  процеси  комунікатора.  Логічна
               топологія  ліній  зв’язку  між  процесами  має  структуру  повного  графа
               (незалежно  від  наявності  реальних  фізичних  каналів  зв’язку  між
   152   153   154   155   156   157   158   159   160   161   162