Розпаралелювання програм

Розпарале́лювання програ́м — процес адаптації алгоритмів, записаних у вигляді програм, для їх ефективного виконання на обчислювальній системі паралельної архітектури (останнім часом, як правило, на багатопроцесорній обчислювальній системі). Полягає або в переписуванні програм на спеціальну мову, яка описує паралелізм і яку розуміють транслятори цільової обчислювальної системи, або до вставки спеціальної розмітки (наприклад, інструкцій MPI або OpenMP).

Розпаралелювання може бути ручним, автоматизованим або напівавтоматизованим. Щоб оцінити його якість застосовують наступні критерії:

  • Прискорення , де  — час виконання розпаралеленої програми на процесорах,  — час виконання вхідної програми. В ідеальному випадку (відсутність накладних витрат на організацію паралелізму) дорівнює .
  • Завантаженість , яка показує долю використання процесорів. В ідеальному випадку дорівнює 1, або 100 %. Ця величина, як правило, значно наочніше характеризує ефективність паралелізму в серії випробувань при різних , ніж , особливо на графіках.

При розпаралелюванні важливо брати до уваги не лише формальний паралелізм структури алгоритму, але й те, що обмінні операції в паралельних комп'ютерах є, як правило, набагато повільнішими від арифметичних. З цим пов'язане існування левової частки накладних витрат на організацію паралелізму.

Див. також ред.

Посилання ред.