Interested Article - Распараллеливание программ

Распараллеливание программ — процесс адаптации алгоритмов , записанных в виде программ, для их эффективного исполнения на вычислительной системе параллельной архитектуры (в последнее время, как правило, на многопроцессорной вычислительной системе ). Заключается либо в переписывании программ на специальный язык, описывающий параллелизм и понятный трансляторам целевой вычислительной системы, либо к вставке специальной разметки (например, инструкций MPI или OpenMP ).

Распараллеливание может быть ручным, автоматизированным и полуавтоматизированным. Для оценки эффективности его качества применяются следующие критерии:

  • Ускорение , где — время исполнения распараллеленной программы на процессорах, — время исполнения исходной программы. В идеальном случае (отсутствие накладных расходов на организацию параллелизма) равна .
  • Загруженность , показывающая долю использования процессоров. В идеальном случае равна 1, или 100 %. Эта величина зачастую гораздо более наглядно характеризует эффективность параллелизма в серии испытаний при разных , чем , особенно на графиках.

При распараллеливании важно учитывать не только формальный параллелизм структуры алгоритма, но и то, что обменные операции в параллельных ЭВМ происходят, как правило, значительно медленнее арифметических. С этим связано существование львиной доли накладных расходов на организацию параллелизма.

Ссылки

  • (англ.)
  • (рус.)
Источник —

Same as Распараллеливание программ