Тенденции и перспективы развития СуперЭВМ
w — количество разрядов, содержимое которых обрабатывается одновременно (параллельно) одним арифметико-логическим устройством.
Другая форма распараллеливания — конвейеризация, также требует наличия нескольких ЦП или АЛУ. В то время, как множество данных обрабатывается на одном устройстве, другое множество данных может обрабатываться на следующем устройстве
Параллелизм и конвейеризацию можно рассматривать на трех различных уровнях, представленных в таблице 2. Шесть основных форм параллелизма, в широком смысле этого слова, позволяют построить схему классификации, в рамках которой можно описать разнообразие высокопроизводительных вычислительных систем и отразить их эволюцию.
Таблица 2 — Классификация МВС по типу распараллеливания
Уровень параллелизма | Параллелизм | Конвейеризация |
Программы | Мультипроцессор | Макроконвейер |
Команды | Матричный процессор | Конвейер команд |
Данные | Множество разрядов | Арифметический конвейер |
Все вышесказанное свидетельствует о том, что вместо попыток приспособить все типы алгоритмов к одной архитектуре (что отражается на конфигурации архитектур и сопровождается не всегда корректными сравнениями пиковой производительности), более продуктивным является взаимодополнение архитектур в единой системе.
Одним из первых примеров такой системы является объединение векторной системы Cray Y-XM с системой Cray T3D: это объединение с помощью высокоскоростного канала приводит к необходимости разбиения задач на крупные блоки и к потерям времени и памяти на обмен информацией. Таким образом, ситуация в данном случае подобна той, которая существовала до появления векторных машин, когда для решения задач, содержащих большое число операций над векторами и матрицами, использовались так называемые матричные процессоры, например, фирмы FSP, которые подключались к универсальной машине с помощью канала ввода/вывода. Интеграция скалярной и векторной обработки в одном процессоре наряду с обеспечением высокой скорости работы синхронного конвейера обеспечила успех векторных машин.
Следующий логический шаг — интеграция скалярной, векторной и параллельной обработки. Это поможет достигнуть высокой реальной производительности за счет распределения отдельных частей программы по подсистемам с различной архитектурой. Очевидно, что это распределение работы должно быть поддержано аппаратно-программными средствами автоматизации программирования.
Эти средства должны содержать возможность интерактивного вмешательства программиста на этапе анализа задачи и возможность моделирования или пробного запуска программы с измерением параметров эффективности. Следует подчеркнуть, что формы параллелизма в алгоритмах достаточно разнообразны, поэтому и их аппаратное отражение может быть различным. К наиболее простым можно отнести системы с одним потоком команд и множественными потоками данных, системы с множественными потоками команд и данных, систолические системы. Также одним из многообещающих подходов, обеспечивающих автоматическое распараллеливание, является принцип потока данных, при котором последовательность или одновременность вычислений определяется не командами, а готовностью операндов и наличием свободного функционального арифметического устройства. Однако и в этом случае степень реального распараллеливания зависит от внутреннего параллелизма алгоритма и, очевидно, нужны эффективные способы подготовки задач. Кроме того, для реализации таких систем необходимо создание ассоциативной памяти для поиска готовых к работе пар операндов и систем распределения вычислений по большому числу функциональных устройств.
Дифференциация функций и специализация отдельных подсистем начала развиваться с появления отдельных подсистем и процессоров для обслуживания ввода/вывода, коммуникационных сетей, внешней памяти
В векторных суперЭВМ обеспечена предельная производительность для процессов скалярной и векторной обработки, которая присутствует в большинстве задач. Задачи, содержащие высокую степень внутреннего параллелизма, могут быть хорошо адаптированы к системам массового параллелизма. Реальные задачи и, тем более, пакеты задач содержат целый ряд алгоритмов, имеющих различные уровни параллелизма. В суперЭВМ кроме основного процессора (машины) включались внешние машины. В различных системах можно наблюдать элементы специализации в направлениях автономного выполнения функций операционной системы, системы программирования и подготовки заданий. Обычно это выражается в следующей форме:
- эти вспомогательные функции могут выполняться параллельно с основными вычислениями.
- для реализации не требуются многие из тех средств, которые обеспечивают высокую производительность основного процессора, например, возможность выполнения операций с плавающей запятой и векторных операций.
В дальнейшем, при интеграции скалярной, векторной и параллельной обработки в рамках единой вычислительной подсистемы состав этих вспомогательных функций должен быть дополнен функциями анализа программ с целью обеспечения требуемого уровня параллелизма и распределения отдельных частей программы по различным ветвям вычислительной подсистемы.