- •Литература Базовая
- •Дополнительная
- •Тематический обзор
- •1. Периферийные устройства ввода-вывода
- •1.1. Классификация
- •1.1.1. Принтеры
- •1.1.2. Графопостроитель
- •1.1.3. Модемы
- •1.1.4. Мышь
- •1.1.5. Трэкболл
- •1.1.6. Джойстики
- •1.1.7. Световое перо
- •1.1.8. Дигитайзеры
- •1.1.9. Цифровые камеры
- •1.1.10. Сканеры
- •1.2. Контроллеры внешних устройств
- •2. Локальные вычислительные сети (лвс)
- •2.1. Сети. Назначение лвс
- •2.2. Организация взаимодействия устройств в сети
- •2.2.1. Одноранговые сети
- •2.2.2. Иерархические сети
- •2.2.3. Технология совместного использования сетевых ресурсов
- •2.3. Топологии
- •2.4. Семиуровневая модель лвс
- •2.5. Протоколы передачи данных
- •2.6. Методы передачи данных в сетях эвм
- •2.7. Компоненты лвс
- •2.7.1. Сервер
- •2.7.2. Рабочая станция
- •2.7.3. Сетевые карты
- •2.7.4. Сетевые операционные системы
- •2.7.5. Кабели
- •2.7.6. Сетевое оборудование лвс
- •2.7.7. Технология Ethernet
- •2.8. Определение конфигурации сети
- •3. Параллельные системы
- •3.1. Параллелизм вычислений. Основные подходы и способы организации
- •3.1.1. Необходимость создания параллельных систем
- •3.1.2. Многомашинные и многопроцессорные вс
- •3.1.3. Организация параллелизма вычислений
- •3.1.4. Организация параллелизма вычислений в современных процессорах
- •3.2. Конвейерная обработка в эвм
- •Диаграмма работы простейшего конвейера
- •3.3. Классификация систем параллельной обработки данных
- •4. Многомашинные системы
- •4.1. Многомашинные вычислительные комплексы (ммвк)
- •4.2. Способы организации и их особенности
- •4.2.1. Базовая модель vax-кластеров
- •4.2.2. Unix-кластеры компании ibm
- •4.2.3. Требования, предъявляемые к ммс
- •5. Многопроцессорные системы
- •5.1. Основные понятия
- •5.2. Разделение и распределение памяти
- •5.3. Способы коммутации
- •5.4. Организация вычислительного процесса
- •5.5. Способы взаимодействия процессоров в системах
- •5.6. Применение сопроцессора х87 в машинах типа ibm pc
- •Задания для самостоятельной работы
- •Тренинг умений
- •1. Пример выполнения упражнения тренинга на умение № 1
- •2. Пример выполнения упражнения тренинга на умение № 2
- •3. Пример выполнения упражнения тренинга на умение № 3
- •Глоссарий
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 раз меньше шагов.
Отметим, что в рассмотренном примере все обмены между процессорами предопределены, и управление ими сводится к осуществлению коммутации по заранее составленной программе. Поэтому требования к системе коммутации здесь значительно упрощены по сравнению с общим случаем, когда решение о коммутации надо принимать, исходя из результатов вычислений.
В данном случае все процессоры, начавшие вычисления, заняты их выполнением до получения результата. На практике процессоры освобождаются постепенно, причем, как правило, в неизвестные заранее моменты времени. Если освобождающийся ресурс не используется (он выделен только для данной работы), это приводит к снижению параллелизма и соответственно к снижению эффективности использования ресурсов системы.
Как следует из рассмотренного примера, обмены информацией между процессорами достигают большого значения, что может привести к малой эффективности многопроцессорной обработки. Поэтому выгоднее распараллеливать обработку данных более крупными блоками. За счет наличия в блоках операций самого различного характера появляется возможность наиболее полного использования процессоров.
В рассматриваемом примере процессоры работают таким образом, что данные, полученные на предыдущем этапе, необходимы для выполнения последующих операций. При отказе одного из процессоров общее решение оказывается неверным. Во избежание этого вычисления, ранее проводившиеся на отказавшем процессоре, необходимо продолжить на другом (исправном).
