Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Взаимодействие ЭВМ в составе систем.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
924 Кб
Скачать
☆

5.4. Организация вычислительного процесса

Организацию вычислений рассмотрим на примере вычисления быстрого преобразования Фурье (БПФ).

При спектральном анализе сигналов с широкой полосой частот (до десятков и сотен мегагерц) даже при использо­вании БПФ требования, предъявляемые к быстродействию вычисли­тельной системы, оказываются весьма жесткими. Данная задача может быть решена только в рамках многопроцессорной ор­ганизации вычислительной системы.

На рис. 25 показан граф, иллюстрирующий необходимую последо­вательность преобразований переменной х (в точках отсчета х0,...,х7) в коэффициенты дискретного ряда Фурье A0,…,A7.

Каждая вершина изображает переменную, а дуги исходят из тех вершин, которые вносят вклад в вершину, к которой направлена дуга. Все вклады аддитивны, и вес каждого вклада Wj = exp(-2jр/N) (где N – число точек отсчета анализируемой переменной) указан рядом с соответствующей дугой.

Из графа видно, что вычисление A7 = B3 + C3W7 можно одновремен­но выполнить на N процессорах (в данном случае на восьми). Процессор Рi в исходном состоянии получает на вход одно из значений х (в порядке, указанном на рис. 25) и в конце вычисления выдает значение Аi. Таким образом, горизонтальные пути на графе соответствуют обработке внутри процессора, а промежуточные вершины — промежуточным этапам вычисления. Остальные дуги графа определяют межпроцессорные обмены. На каждом этапе вычисления число обменов равно N. Результаты, полученные на любом этапе, нужны только для следующего этапа.

Рис. 25. Граф преобразования переменных хi в коэффициенты дискретного преобразования Фурье

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

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

В данном случае все процессоры, начавшие вычисления, заняты их выполнением до получения результата. На практике процессоры освобождаются постепенно, причем, как правило, в неизвестные заранее моменты времени. Если освобождающийся ресурс не используется (он выделен только для данной работы), это приводит к снижению параллелизма и соответственно к снижению эффективности использования ресурсов системы.

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

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