Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HPC-системы.docx
Скачиваний:
19
Добавлен:
29.05.2017
Размер:
2.74 Mб
Скачать
  1. Что такое суперкомпьютер

Суперкомпьютер — это специализированная вычислительная машина, значительно превосходящая по своим техническим параметрам и скорости вычислений большинство существующих в мире компьютеров.

Разработка суперкомпьютера — это создание все более и более мощного компьютера. Чтобы понять, как это делается, необходимо представлять себе общую схему компьютера и те узлы, где теряется или существуют ограничения на рост производительности (см. рисунок 2).

Рисунок 2 «Схема вычислительного устройства»

Основные компоненты компьютера следующие:

  • устройство управления — управляет ходом вычислительного процесса, обеспечивая декодирование инструкций и автоматическое выполнение команд программы;

  • арифметико-логическое устройство — блок вычислителя, который служит для выполнения арифметических и логических преобразований над данными под с помощью специального устройства управления;

  • оперативная память хранит исходные данные и команды, которые необходимо выполнить над этими данными;

  • устройства ввода-вывода по мере необходимости обеспечивают загрузку дополнительных данных и команд, не вмещающихся в оперативную память.

При разработке суперкомпьютера каждая из этих компонент может стать «узким местом», ограничивающим производительность. Не меньшее значение имеют и связи между компонентами, обеспечивающие передачу данных и управляющих команд. Необходимость ликвидации «узких мест» привела разработчиков к созданию такого микропроцессора, общая схема которого представлена на рисунке 3.

Рисунок 3 «Общая схема современного компьютера»

Были предприняты следующие шаги.

Во-первых, линии связи между компонентами необходимо было сделать как можно более короткими: устройство управления было совмещено с вычислителем (арифметико- логическим устройством), а получившийся блок был дополнен быстрой памятью (кэш- память). Каждый уровень кэш-памяти размещается ближе к потребителю (арифметико- логическим устройством), а значит, предоставляет более быстрый доступ к операндам, над которыми осуществляются операции. Однако быстрой памяти нельзя сделать много — поэтому существует несколько уровней кэш-памяти — каждый из них медленнее предыдущего, но вмещает больше данных. Это позволяет снизить задержки, связанные с обращением к оперативной, а тем более внешней памяти.

Во-вторых, когда связи между компонентами и устройства ввода-вывода не мешают наращивать производительность, повышается скорость работы вычислительного блока (устройство управления + арифметико-логическое устройство).

Как уже говорилось, мощность компьютера определяется, прежде всего, пиковой производительностью — максимальным числом операций над числами с плавающей запятой, которое компьютер может произвести в секунду. (Заметим, что пиковая производительность — это характеристика вычислительного блока, т.к. она не учитывает ограничения производительности, накладываемые, например, оперативной памятью.)

Пиковая производительность вычисляется по следующей формуле:

FLOPSpeak = Hz * C, где

Hz — тактовая частота процессора;

C — максимальное число операций над числами с плавающей запятой, которое процессор может выполнить за один такт.

Следовательно, чтобы повысить производительность вычислительного блока, необходимо повысить тактовую частоту процессора и/или увеличить максимальное число операций, выполняемых за один такт. Однако и на том, и на другом пути существуют свои ограничения.

Проблема заключается в тепловыделении процессора. Удвоение тактовой частоты приводит к учетверению тепловыделения, а значит, при высокой тактовой частоте возникает серьезная проблема отвода избыточного тепла от процессора. 130 Вт — это максимальная мощность, которая может отводиться от полупроводникового прибора размерами теплопроводящих поверхностей и конструкции микропроцессора. Приближение к 150 Вт грозит местными перегревами на кристалле, снижением его помехоустойчивости, чувствительности к внешним охлаждающим устройствам и соответственно, общей надежности.

Тогда для повышения производительности вычислителя необходимо повысить число операций, выполняемых процессором за один такт. Этот путь называется векторизацией.

Действительно, векторизация позволяет существенно повысить пиковую производительность компьютера. Однако пиковая производительность отличается от реальной производительности, которую может показать компьютер на практически важных задачах. Широкое использование векторных процессоров имеет следующие проблемы:

  • стоимость: векторные процессоры существенно более дорогие и более сложные

  • низкая эффективность: эффективное программирование векторно-параллельных систем значительно сложнее, чем скалярных, т.к.

    • не все алгоритмы могут быть векторизованы;

    • низкая загрузка процессорных элементов: высокая производительность достигается только на векторных операциях, совпадающих по размеру с размером вектора процессора, в то время как на скалярных операциях, а также при обработке векторов и матриц небольшой размерности, значительная часть процессорных элементов может простаивать.

В целом, векторные системы характеризуются высокой производительностью только при полной загрузке вычислительных устройств, которая достигается при решении только достаточно узкого класса задач.

В итоге, развитие современных суперкомпьютерных технологий связано, прежде всего, с вычислительными кластерами.