Параллельно-векторные суперкомпьютеры.
Архитектура векторно-конвейерных супер-ЭВМ CRAY C90
Гибридная архитектура NUMA воплощает в себе удобства систем с общей памятью и относительную дешевизну систем с раздельной памятью. Суть этой архитектуры состоит в особой организации памяти. Здесь память физически распределена по различным частям системы, оставаясь логически разделяемой, так что пользователь видит единое адресное пространство. Система формируется из однородных базовых модулей… Читать ещё >
Параллельно-векторные суперкомпьютеры. Архитектура векторно-конвейерных супер-ЭВМ CRAY C90 (реферат, курсовая, диплом, контрольная)
суперкомпьютер процессор векторный С момента появления первых вычислительных устройств их создатели пытались усовершенствовать свои творения, в частности, повысить их эффективность за счет увеличения производительности или изобрести новые устройства, более совершенные. Суперкомпьютеры работают очень быстро не только благодаря самой современной элементной базе, но и за счет принципиальных решений, заложенных в их архитектуру. Основную роль здесь играет принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий. С аппаратной точки зрения для реализации параллельных систем напрашиваются две основные схемы. Первая — несколько отдельных систем, с локальной памятью и процессорами, взаимодействующих в какой-либо среде посредством посылки сообщений. Вторая — системы, взаимодействующие через разделяемую память. Существуют и промежуточные архитектуры, где память физически распределена, но логически общедоступна.
Можно перечислить ряд задач, предъявляющих высокие требования к производительности систем. Вот лишь краткий список отраслей, в которых не обойтись без использования высокопроизводительных вычислений HPC (High Performance Computing): автомобилестроение, авиационная промышленность, атомная промышленность, космические исследования, разведка нефти и газа, химическая промышленность, фармакология, прогноз погоды, сейсмическая разведка, системы принятия решений. 1].
Первый векторно-конвейерный компьютер Cray-1 появился в 1976 г. Архитектура его оказалась настолько удачной, что он дал начало целому семейству компьютеров PVP (Parallel Vector Processing). Название этому семейству дали два принципа, заложенных в архитектуре процессоров: конвейерная организация обработки потока команд и введение в систему команд набора векторных операций, которые позволяют работать с целыми массивами данных.
Длина одновременно обрабатываемых векторов у векторных компьютеров может составлять, например, 128, 256 и более элементов. Очевидно, что векторные процессоры должны иметь гораздо более сложную структуру и по сути дела содержать множество арифметических устройств. Основное назначение векторных операций состоит в том, чтобы распараллелить выполнение операторов цикла, в которых в основном и сосредоточена большая часть вычислительной работы. Для этого циклы подвергаются процедуре векторизации с тем, чтобы их можно было реализовать с использованием векторных команд. Как правило, это автоматически выполняют компиляторы при подготовке исполнимого кода программы. Поэтому изначально векторно-конвейерные компьютеры не требовали никакой специальной технологии программирования, что и стало решающим фактором в их успехе на компьютерном рынке. Тем не менее при написании циклов требовалось соблюдение некоторых правил с тем, чтобы компилятор мог их эффективно векторизовать.
Исторически это были первые компьютеры, к которым в полной мере было приложимо понятие «суперкомпьютер». Как правило, несколько векторно-конвейерных процессоров работали в режиме с общей памятью (SMP, Symmetric MultiProcessing), образуя вычислительный узел, а несколько таких узлов объединялись с помощью коммутаторов, образуя либо NUMA- (Non-Uniform Memory Access), либо MPP-систему. Основным параметром классификации параллельных компьютеров служит наличие общей (SMP) или распределенной памяти (MPP, Massive Parallel Processing). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Кластерные системы представляют собой более дешевый вариант MPP. При поддержке команд обработки векторных данных говорят о векторно-конвейерных процессорах, которые, в свою очередь, могут объединяться в PVP-системы с использованием общей или распределенной памяти.
Суперкомпьютеры, разработанные по технологии MPP, объединяют большое число микропроцессоров — вплоть до нескольких тысяч, — соединяя каждый из них с локальным банком памяти посредством высокоскоростной коммутационной среды. Главная особенность систем с симметричной многопроцессорной архитектурой SMP — наличие общей физической памяти, разделяемой всеми процессорами (напомним, что в массивно-параллельной архитектуре MPP память физически разделена). В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти, два коммуникационных процессора или сетевой адаптер, иногда жесткие диски и/или другие устройства ввода-вывода. Один коммутационный процессор обычно используется для передачи команд, другой — для передачи данных. По сути, такие модули представляют собой полнофункциональные компьютеры. Доступ к банку оперативной памяти из конкретного модуля имеют только процессоры того же модуля. Модули соединяются специальными коммуникационными каналами.
Гибридная архитектура NUMA воплощает в себе удобства систем с общей памятью и относительную дешевизну систем с раздельной памятью. Суть этой архитектуры состоит в особой организации памяти. Здесь память физически распределена по различным частям системы, оставаясь логически разделяемой, так что пользователь видит единое адресное пространство. Система формируется из однородных базовых модулей, состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно организован доступ к удаленной памяти, т. е. к памяти других модулей. При этом доступ к локальной памяти осуществляется в несколько раз быстрее, чем к удаленной. По существу архитектура NUMA представляет собой массивно-параллельную архитектуру, где в качестве отдельных вычислительных элементов выступают SMP-узлы.
Основной признак параллельно-векторных систем PVP — наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах. Как правило, несколько таких процессоров работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут объединяться с помощью коммутатора. 2].
Большое разнообразие архитектур вычислительных систем породило естественное желание ввести для них какую-то классификацию. Эта классификация должна была однозначно относить ту или иную вычислительную систему к некоему классу, который, в свою очередь, должен достаточно полно ее характеризовать. Таких попыток предпринималось множество. Одна из первых классификаций, ссылки на которую чаще всего встречаются в литературе, была предложена М. Флинном в конце 60-х годов прошлого века. Она базируется на понятиях двух потоков: команд и данных. На основе числа этих потоков выделяется четыре класса архитектур: SISD (Single Instruction Single Data) — единственный поток команд и единственный поток данных, SIMD (Single Instruction Multiple Data) — единственный поток команд и множественные потоки данных, MISD (Multiple Instruction Single Date) — множественные потоки команд и единственный поток данных и, наконец, MIMD (Multiple Instruction Multiple Date) — множественные потоки команд и данных.