СРАВНИТЕЛЬНЫЙ АНАЛИЗ И ОЦЕНКА СОСТОЯНИЯ УРОВНЯ, ТЕНДЕНЦИЙ И ПЕРСПЕКТИВ РАЗВИТИЯ СУПЕРЭВМ
В настоящее время переход к новым поколениям вычислительных средств приобретает особую актуальность. Это связано с потребностями решения сложных задач больших размерностей. Непрерывный рост характеристик новых образцов вооружений требует разработки и создания принципиально новых вычислительных средств для поддержки их эффективного функционирования. В связи с этим, все более возрастают требования к производительности и надежности вычислительных средств для решения военно-прикладных задач. Однопроцессорные вычислительные системы уже не справляются с решением большинства военно-прикладных задач в реальном времени, поэтому для повышения производительности вычислительных систем военного назначения все чаще используются многопроцессорные вычислительные системы (МВС).
Наибольший вклад в развитие вычислительных средств всегда вносили технологические решения, при этом основополагающей характеристикой поколения вычислительных систем являлась элементная база, так как переход на новую элементную базу хорошо коррелируется с новым уровнем показателей производительности и надежности вычислительных систем. Бурное развитие технологии СБИС, разработка все новых и новых поколений микропроцессоров несколько приостановило поиски принципиально новых архитектурных решений. В то же время становится очевидным, что чисто технологические решения утратили свое монопольное положение. Так, например, в ближайшей перспективе заметно возрастает значение проблемы преодоления разрыва между аппаратными средствами и методами программирования. Данная проблема решается чисто архитектурными средствами, при этом роль технологии является косвенной: высокая степень интеграции создает условия для реализации новых архитектурных решений. При этом стало очевидным, что без кардинальной перестройки архитектурных принципов поддерживать интенсивные темпы развития средств вычислительной техники уже невозможно.
По самым оптимистическим прогнозам тактовые частоты современных и перспективных СБИС могут быть увеличены в обозримом будущем до 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 - количество АЛУ, приходящихся на одно устройство управления;