Шаг 11.
Параллельные алгоритмы. Моделирование и анализ параллельных вычислений. Определение времени выполнения параллельного алгоритма

    На этом шаге мы рассмотрим факторы, влияющие на время выполнения параллельного алгоритма.

    Вычислительная схема алгоритма G совместно с расписанием Hp может рассматриваться как модель параллельного алгоритма Ap(G,Hp), исполняемого с использованием p процессоров. Время выполнения параллельного алгоритма определяется максимальным значением времени, применяемым в расписании


    Для выбранной схемы вычислений желательно использование расписания, обеспечивающего минимальное время исполнения алгоритма


    Уменьшение времени выполнения может быть обеспечено и путем подбора наилучшей вычислительной схемы


    Оценки Tp(G,Hp), Tp(G) и Tp могут быть применены в качестве показателей времени выполнения параллельного алгоритма. Кроме того, для анализа максимально возможного параллелизма можно определить оценку наиболее быстрого исполнения алгоритма


    Оценку T с бесконечностью в качестве индекса можно рассматривать как минимально возможное время выполнения параллельного алгоритма при использовании неограниченного количества процессоров (концепция вычислительной системы с бесконечным количеством процессоров, обычно называемой паракомпьютером, широко применяется при теоретическом анализе параллельных вычислений).

    Оценка T1 определяет время выполнения алгоритма при использовании одного процессора и представляет, тем самым, время выполнения последовательного варианта алгоритма решения задачи. Построение подобной оценки является важной задачей при анализе параллельных алгоритмов, поскольку она необходима для определения эффекта использования параллелизма (ускорения времени решения задачи). Очевидно, что


где модуль V с чертой есть количество вершин вычислительной схемы без вершин ввода. Важно отметить, что если при определении оценки ограничиться рассмотрением только одного выбранного алгоритма решения задачи и использовать величину


то получаемые при такой оценке показатели ускорения будут характеризовать эффективность распараллеливания выбранного алгоритма. Для оценки эффективности параллельного решения исследуемой вычислительной задачи время последовательного решения следует определять с учетом различных последовательных алгоритмов, т.е. использовать величину


где операция минимума берется по множеству всех возможных последовательных алгоритмов решения данной задачи.

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

Теорема 1.
Минимально возможное время выполнения параллельного алгоритма определяется длиной максимального пути вычислительной схемы алгоритма, т.е.


Теорема 2.
Пусть для некоторой вершины вывода в вычислительной схеме алгоритма существует путь из каждой вершины ввода. Кроме того, пусть входная степень вершин схемы (количество входящих дуг) не превышает 2. Тогда минимально возможное время выполнения параллельного алгоритма ограничено снизу значением


где n есть количество вершин ввода в схеме алгоритма.

Теорема 3.
При уменьшении числа используемых процессоров время выполнения алгоритма увеличивается пропорционально величине уменьшения количества процессоров, т.е.


Теорема 4.
Для любого количества используемых процессоров справедлива следующая верхняя оценка для времени выполнения параллельного алгоритма


Теорема 5.
Времени выполнения алгоритма, которое сопоставимо с минимально возможным временем T с бесконечностью в качестве индекса, можно достичь при количестве процессоров порядка p~T1/T с бесконечностью в качестве индекса, а именно,


    При меньшем количестве процессоров время выполнения алгоритма не может превышать более чем в 2 раза наилучшее время вычислений при имеющемся числе процессоров, т.е.


    Приведенные утверждения позволяют дать следующие рекомендации по правилам формирования параллельных алгоритмов:

  1. При выборе вычислительной схемы алгоритма должен использоваться граф с минимально возможным диаметром (см. теорему 1);
  2. Для параллельного выполнения целесообразное количество процессоров определяется величиной p~T1/T с бесконечностью в качестве индекса (см. теорему 5);
  3. Время выполнения параллельного алгоритма ограничивается сверху величинами, приведенными в теоремах 4 и 5.

    На следующем шаге мы рассмотрим показатели эффективности параллельного алгоритма.




Предыдущий шаг Содержание Следующий шаг