01-Арх-способы-повыш-произв-циф-комп.pptx
- Количество слайдов: 22
Организация суперкомпьютеров Александр Петрович Новицкий, проф. , к. т. н. alpenov@ya. ru +7 -921 -742 -0442 1
Учебники 1. Танненбаум 2. Хамахер и др 3. Цилькер, Орлов 2
Основы организации цифрового компьютера 3
Три класса компьютеров • Универсальный компьютер: основной режим работы – on-line с человеком – пользователем. • Управляющий компьютер: основной режим on-line с объектом управления. Человек исключен из процесса управления. • Суперкомпьютер: максимальная производительность за счет повышения уровня параллелизма – многопроцессорная вычислительная система. 4
Универсальная рабочая станция • Типовой режим работы: on-line с человеком – пользователем, через клавиатуру, мышь, экран, … • Архитектура и системное ПО: без учета особенностей частных видов задач. • Человек запускает программу, задает исходные данные, получает, интерпретирует и использует результаты. • Программы часто заменяются, максимальная универсальность. • Цена системы: доступная для большинства применений ($1000). 5
Управляющий компьютер • Типовой режим работы: on-line с объектом управления • Архитектура и ПО: приспособлены для узкого класса задач (м. б. одной задачи), минимизация ресурсов системы (и соответственно, затрат). • Человек исключен из взаимодействия «компьютер – объект (участвует только в настройке режимов). • Технические средства связи с объектом управления: датчики, АЦП, ЦАП, исполнительные устройства. • Минимизация цены, потребляемой мощности, массогабаритных характеристик. 6
Суперкомпьютер • Основной режим работы: пакетный, с использованием готовых пакетов прикладных программ. • Максимально возможная производительность • Достигается максимальным повышением уровня параллелизма в системе. • Максимально возможная энергоэффективность • Строится из серийно/массово производимых компонентов (это обеспечивает минимальную цену). 7
Базовая структура цифрового компьютера Процессор, память и периферия связаны через универсальную адресуемую магистраль 8
Базовая структура компьютера • Алгоритм работы компьютера определяется программой, хранимой в основной памяти • Программа это последовательность процессорных команд • Процессор считывает из основной памяти и выполняет команды последовательно, одну за другой. • Доступ к основной памяти в ≈10 раз дольше времени выполнения простой операции (сложение) в процессоре • Выполнение команды можно представить как последовательность более мелких шагов (этапов, тактов). • В простом процессоре шаги выполняются последовательно во времени один за другим. • В сложном процессоре выполнение каждого шага команды реализует отдельный аппаратный блок 9
Диаграмма выполнения команды процессором • Выборка команды (Fetch) • Декодирование команды • Вычисление адреса операнд(а/ов) в памяти (Decode) (Addr Calc) • Чтение операндов-источников (Read) • Исполнение действия, заданного командой (Execute) • Если для каждого этапа команды имеется свой исполни. Запись результата в операнд-приемник (Write) тельный блок, несколько команд могут выполняться парал -лельно (со сдвигом во времени) 10
Выполнение команд в компьютере 11
Конвейеризация Если: • Для каждого этапа команды свой исполнительный блок, и блоки связаны в цепочку (конвейер) • Времена выполнения всех этапов всех команд одинаковы • Последующие команды не используют результаты предыдущих • Близкие команды не используют одни и те же части схемотехники • Команды переходов встречаются редко то конвейер может работать в режиме, близком к идеальному, и производительность повысится. Соблюдение перечисленных условий зависит от свойств последовательности процессорных команд. Это обеспечивает оптимизирующий компилятор. 12
Идеальная работа конвейера Каждый такт на выходе результат следующей команды 13
Суперскалярная архитектура Если времена выполнения различны для разных этапов и разных команд, для «длинных» этапов делают дополнительные аппаратные блоки. Такую архитектуру процессора называют суперскалярной. Вот как может выглядеть внутренняя структура сложного процессора (на примере ядра AMD Opteron 6174 – серийный серверный процессор!!) использованв параллельных вычислительных системах, на которых вам предстоит работать в ходе практических занятий 14
Структура ядра AMD Opteron 6174 1 2 3 5 5 4 6 15
Блоки ядра AMD Opteron 6174 • [1] Блоки предвыборки команд (32 байт) • [2] Четыре декодера команд • [3]и[5] Блоки целочисленных операций (могут вычислять адреса) • [5] Блоки для операций с плавающий точкой • [4]и[6] Блоки чтения-записи операндов
Многопоточность (Hyper. Threading HTh) • При выполнении любой процессорной команды часть исполнительных блоков не задействована. • Технология HTh (Intel): Один набор исполнительных блоков на два потока команд, исполняемых параллельно. • На каждый поток команд нужны отдельные блоки, выполняющие этапы F, D, A, (R, W) 17
КЭШ-память в проц. AMD Opteron 6174 КЭШ команд L 1 64 кб 2 КЭШ L 3 2 М/ядро КЭШ L 2 512 кб/ядро 5 КЭШ данных L 1 64 кб
КЭШ - память • Время доступа в КЭШ близко к времени выполнения простой операции в процессоре (в 10 раз быстрее основной памяти) • Объем КЭШа 10 Кб… 10 Мб • Выигрыш в скорости проявляется только, если копирование в КЭШ один раз, и использование из КЭШа многократно. • КЭШ делают «многослойным» : чем ближе слой к процессору, тем выше скорость и меньше объем • Обмен между КЭШ и основной памятью может быть совмещен во времени с обращением к КЭШ за командами и операндами. 19
Процессор AMD Opteron 6174 Частота: 2. 2 GHz, длительность такта 0, 45 нс Ядер: 12 ядер = два процессора по 6 ядер Проектные нормы: 45 nm КЭШ L 1: 64 KB данные, 64 KB команды, время доступа 3 такта=1, 35 нс, свой на каждое ядро • КЭШ L 2: 512 KB общий для команд и данных время доступ 16 такт=7, 2 нс, свой на каждое ядро • КЭШ L 3: 12 MB, время доступа 57 такт=25, 7 нс, общий для 6 ядер • Доступ к основной памяти: 98 нс… 300 нс • • 20
Выводы • Запараллеливание действий в компьютере может быть реализовано во многих местах. Это ускоряет выполнение программы. • Реальные суперкомпьютеры содержат в своем составе большое количество процессоров (103… 106++) • Решаемая задача (программа) должна допускать распараллеливание. • Скорость выполнения команд сильно зависит от места расположения команд и операндов. • Неудачное сочетание этих факторов может замедлить скорость в 10… 100++ раз. • У программиста обычно имеются (программные) средства влиять на эффективность запараллеливания и место расположения команд и операндов. 21
Конец введения 22


