Page 199 - 6571
P. 199

грамний код, представлений у вигляді виконуваної програми, має
            бути доступний у момент запуску паралельної програми на усіх
            використовуваних  процесорах.  Початковий  програмний  код  для
            виконуваної  програми  розробляється  на  алгоритмічних  мовах  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),  що  об’єднують  в  одну


                                                        198
   194   195   196   197   198   199   200   201   202   203   204