Реферат: Прогноз развития супер ЭВМ
В настоящее время переход к новым поколениям вычислительных средств приобретает особую актуальность. Это связано с потребностями решения сложных задач больших размерностей. Непрерывный рост характеристик новых образцов вооружений требует разработки и создания принципиально новых вычислительных средств для поддержки их эффективного функционирования. В связи с этим, все более возрастают требования к производительности и надежности вычислительных средств для решения военно-прикладных задач. Однопроцессорные вычислительные системы уже не справляются с решением большинства военно-прикладных задач в реальном времени, поэтому для повышения производительности вычислительных систем военного назначения все чаще используются многопроцессорные вычислительные системы (МВС).
Наибольший вклад в развитие вычислительных средств всегда вносили технологические решения, при этом основополагающей характеристикой поколения вычислительных систем являлась элементная база, так как переход на новую элементную базу хорошо коррелируется с новым уровнем показателей производительности и надежности вычислительных систем. Бурное развитие технологии СБИС, разработка все новых и новых поколений микропроцессоров несколько приостановило поиски принципиально новых архитектурных решений. В то же время становится очевидным, что чисто технологические решения утратили свое монопольное положение. Так, например, в ближайшей перспективе заметно возрастает значение проблемы преодоления разрыва между аппаратными средствами и методами программирования. Данная проблема решается чисто архитектурными средствами, при этом роль технологии является косвенной: высокая степень интеграции создает условия для реализации новых архитектурных решений. При этом стало очевидным, что без кардинальной перестройки архитектурных принципов поддерживать интенсивные темпы развития средств вычислительной техники уже невозможно.
По самым оптимистическим прогнозам тактовые частоты современных и перспективных СБИС могут быть увеличены в обозримом будущем до 5 ГГц. В то же время, достигнутая степень интеграции позволяет строить параллельные системы, в которых число процессоров может достигать десятков тысяч. В области повышения производительности вычислительных систем резерв технологических решений ограничивается одним порядком. Освоение же массового параллелизма и новых архитектурных решений содержит резерв повышения производительности на несколько порядков.
Основными требованиями, предъявляемыми к многопроцессорным системам с массовым параллелизмом, являются: необходимость высокой производительности для любого алгоритма; согласование производительности памяти с производительностью вычислительной части; способность микропроцессоров согласованно работать при непредсказуемых задержках данных от любого источника и, наконец, машинно-независимое программирование.
Увеличение степени параллелизма вызывает увеличение числа логических схем, что сопровождается увеличением физических размеров, в результате чего возрастают задержки сигналов на межсоединениях. Этот фактор приводит либо к снижению тактовой частоты, либо к созданию дополнительных логических ступеней и, в результате, к потере производительности. Рост числа логических схем также приводит к росту потребляемой энергии и отводимого тепла. Кроме того, следует подчеркнуть, что более высокочастотные логические схемы при прочих равных условиях потребляют большую мощность на один вентиль. В результате возникает теплофизический барьер, обусловленный двумя факторами: высокой удельной плотностью теплового потока, что требует применения сложных средств отвода тепла, и высокой общей мощностью системы, что вызывает необходимость использования сложной системы энергообеспечения и специальных помещений.
Другим фактором, влияющим на архитектуру высокопроизводительных вычислительных систем, является взаимозависимость архитектуры и алгоритмов задач. Этот фактор часто приводит к необходимости создания проблемно-ориентированных систем, при этом может быть достигнута максимальная производительность для данного класса задач. Указанная взаимозависимость является стимулом для поиска алгоритмов, наилучшим образом соответствующих возможным формам параллелизма на уровне аппаратуры. А так как для написания программ используются языки высокого уровня, необходимы определенные средства автоматизации процессов распараллеливания и оптимизации программ.
Классификация параллельных вычислительных систем, предложенная Т.Джоном, основана на разделении МВС по двум критериям: способу построения памяти (общая или распределенная) и способу передачи информации. Основные типы машин по классификации Т.Джона представлены в таблице 1. Здесь приняты следующие обозначения: p- элементарный процессор, M - элемент памяти, K- коммутатор, С - кэш-память.
Параллельная вычислительная система с общей памятью и шинной организацией обмена (машина 1) позволяет каждому процессору системы "видеть", как решается задача в целом, а не только те части, над которыми он работает. Общая шина, связанная с памятью, вызывает серьезные проблемы для обеспечения высокой пропускной способности каналов обмена. Одним из способов обойти эту ситуацию является использование кэш-памяти (машина 2). В этом случае возникает проблема когерентности содержимого кэш-памяти и основной. Другим способом повышения производительности систем является отказ от центральной памяти (машина 3).
Таблица 1 - Классификация МВС по типам памяти и передачи сообщений
Типы передачи | Типы памяти | |||
Сообщений | Общая память | Общая и распределенная | Распределенная память | |
Шинные соединения | 1. | 2. | 3. | |
Фиксированные перекрестные соединения | 4. | 5. | 6. | |
Коммутационные структуры | 7. | 8. | 9. |
Идеальной машиной является вычислительная система, у которой каждый процессор имеет прямые каналы связи с другими процессорами, но в этом случае требуется чрезвычайно большой объем оборудования для организации межпроцессорных обменов. Определенный компромисс представляет сеть с фиксированной топологией, в которой каждый процессор соединен с некоторым подмножеством процессоров системы. Если процессорам, не имеющим непосредственного канала обмена, необходимо взаимодействовать, они передают сообщения через промежуточные процессоры. Одно из преимуществ такого подхода - не ограничивается рост числа процессоров в системе. Недостаток - требуется оптимизация прикладных программ, чтобы обеспечить выполнение параллельных процессов, для которых необходимо активное воздействие на соседние процессоры.
Наиболее интересным вариантом для перспективных параллельных вычислительных комплексов является сочетание достоинства архитектур с распределенной памятью и каналами межпроцессорного обмена. Один из возможных методов построения таких комбинированных архитектур - конфигурация с коммутацией, когда процессор имеет локальную память, а соединяются процессоры между собой с помощью коммутатора (машина 9). Коммутатор может оказаться весьма полезным для группы процессоров с распределяемой памятью (машина 8). Данная конфигурация похожа на машину с общей памятью (машина 7), но здесь исключены проблемы пропускной способности шины.
Недостатками классификации Т.Джона является скрытие уровня параллелизма в системе.
Параллелизм любого рода требует одновременной работы, по крайней мере, двух устройств. Такими устройствами могут быть: арифметико-логические устройства (АЛУ), устройства управления (УУ). В ЭВМ классической архитектуры УУ и АЛУ образуют процессор. Увеличение числа процессоров или числа АЛУ в каждом из них приводит к соответствующему росту параллелизма. Наличие в ЭВМ нескольких процессоров означает, что одновременно (параллельно) могут выполняться несколько программ или несколько фрагментов одной программы. Работа нескольких АЛУ под управлением одного УУ означает, что множество данных может обрабатываться параллельно по одной программе. В соответствии с этим описание структур параллельных систем можно представить в виде упорядоченной тройки:
<k,d,w>,
где k - количество устройств управления, т.е. наибольшее количество независимо и одновременно выполняемых программ в системе;
d - количество АЛУ, приходящихся на одно устройство управления;
w - количество разрядов, содержимое которых обрабатывается одновременно (параллельно) одним арифметико-логическим устройством.
Другая форма распараллеливания - конвейеризация, также требует наличия нескольких ЦП или АЛУ. В то время, как множество данных обрабатывается на одном устройстве, другое множество данных может обрабатываться на следующем устройстве и т.д., при этом в процессе обработки возникает поток данных от одного устройства (ЦП или АЛУ) к следующему. В течение всего процесса над одним множеством данных выполняется одно за другим n действий. Одновременно в конвейере на разных стадиях обработки могут находиться от 1 до n данных.
Параллелизм и конвейеризацию можно рассматривать на трех различных уровнях, представленных в таблице 2. Шесть основных форм параллелизма, в широком смысле этого слова, позволяют построить схему классификации, в рамках которой можно описать разнообразие высокопроизводительных вычислительных систем и отразить их эволюцию.
Таблица 2 - Классификация МВС по типу распараллеливания
Уровень параллелизма | Параллелизм | Конвейеризация |
Программы | Мультипроцессор | Макроконвейер |
Команды | Матричный процессор | Конвейер команд |
Данные | Множество разрядов | Арифметический конвейер |
В векторных суперЭВМ обеспечена предельная производительность для процессов скалярной и векторной обработки, которая присутствует в большинстве задач. Задачи, содержащие высокую степень внутреннего параллелизма, могут быть хорошо адаптированы к системам массового параллелизма. Реальные задачи и, тем более, пакеты задач содержат целый ряд алгоритмов, имеющих различные уровни параллелизма.
Все это говорит о том, что вместо попыток приспособить все типы алгоритмов к одной архитектуре, что отражается на конфигурации архитектур и сопровождается не всегда корректными сравнениями пиковой производительности, более продуктивным является взаимодополнение архитектур в единой системе. Одним из первых примеров такой системы является объединение векторной системы Cray Y-XM с системой Cray T3D. Однако, это объединение с помощью высокоскоростного канала приводит к необходимости разбиения задач на крупные блоки и к потерям времени и памяти на обмен информацией.
Ситуация в данном случае подобна той, которая существовала до появления векторных машин. Для решения задач, содержащих большое число операций над векторами и матрицами, использовались так называемые матричные процессоры, например, фирмы FSP, которые подключались к универсальной машине с помощью канала ввода/вывода. Интеграция скалярной и векторной обработки в одном процессоре наряду с обеспечением высокой скорости работы синхронного конвейера обеспечила успех векторных машин.
Следующим логическим шагом является интеграция скалярной, векторной и параллельной обработки. Благодаря этому, может быть достигнута высокая реальная производительность за счет распределения отдельных частей программы по подсистемам с различной архитектурой. Естественно, это распределение работы должно быть поддержано аппаратно-программными средствами автоматизации программирования. Эти средства должны содержать возможность интерактивного вмешательства программиста на этапе анализа задачи и возможность моделирования или пробного запуска программы с измерением параметров эффективности. Следует подчеркнуть, что формы параллелизма в алгоритмах достаточно разнообразны, поэтому и их аппаратное отражение может быть различным. К наиболее простым можно отнести системы с одним потоком команд и множественными потоками данных, системы с множественными потоками команд и данных, систолические системы.
Одним из многообещающих подходов, обеспечивающих автоматическое распараллеливание, является принцип потока данных, при котором последовательность или одновременность вычислений определяется не командами, а готовностью операндов и наличием свободного функционального арифметического устройства. Однако, и в этом случае степень реального распараллеливания зависит от внутреннего параллелизма алгоритма и, очевидно, нужны эффективные способы подготовки задач. Кроме того, для реализации таких систем необходимо создание ассоциативной памяти для поиска готовых к работе пар операндов и систем распределения вычислений по большому числу функциональных устройств.
Аппаратная реализация параллельных подсистем полностью зависит от выбранных микропроцессоров, БИС памяти и других компонентов. В настоящее время по экономическим причинам целесообразно использовать наиболее высокопроизводительные микропроцессоры, разработанные для унипроцессорных машин.
Вместе с тем, существуют подходы, связанные с применением специализированных микропроцессоров, ориентированных на использование в параллельных системах. Типичным примером является серия транспьютеров фирмы Inmos. Однако, из-за ограниченного рынка эта серия по производительности резко отстала от универсальных микропроцессоров, таких, как Alpha, Power PC, Pentium. Специализированные микропроцессоры смогут быть конкурентноспособными только при условии сокращения расходов на проектирование и освоение в производстве, что в большой степени зависит от производительности инструментальных вычислительных средств, используемых в системах автоматизированного проектирования.
В различных вычислительных машинах использовались различные подходы, направленные на достижение, в первую очередь, одной из следующих целей:
- максимальная арифметическая производительность процессора;
- эффективность работы операционной системы и удобство общения с ней для программиста;
- эффективность трансляции с языков высокого уровня и исключение написания программ на автокоде;
- эффективность распараллеливания алгоритмов для параллельных архитектур.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--