- •Особенности процессора power7
- •Особенности процессора power 8
- •24. Преимущества и недостаткм аналитических методов исследования
- •29. Показатели надёжности невостанавлеваемых сисстем без резервирования
- •Расчет показателей надежности невосстанавливаемых систем
- •Параллельное соединение
- •32. Показатели надёжности невостанавливаемыз сиситем с резервированием
- •6. Структурные особенности векторной вычислительной сисстемы cray-1
- •Однопроцессорные векторно-конвейерные вычислительные системы
- •8. Основные особенности несиметричних мультипроцессорних сисстем
- •1. Недзельський д.О. Посібник «Комп’ютерні системи». 2015. 275 с. Електронне видання.
Контрольная работа по дисциплине «Компьютерные сисстемы» гр.КИ12з Лысенко Л.Н.
7 семестр 5 вариант
|
|
|
|
|
|
|
|
|
|
12. Технология Hyper Threading и ее эфективность
По терминологии фирмы Intel — гиперпоточность, hyper-threading/HT) или виртуальной многоядерности. Каждое физическое ядро представляется операционной системе как несколько логических, хотя почти все ресурсы в них являются разделяемыми (кроме архитектурного РФ, стека адресов возврата и некоторых других блоков памяти, уникальных для каждого потока). При заторе в одном потоке ядро процессора может быстро всем конвейером переключиться на выполнение следующего потока одновременно с подкачкой нужного ресурса — при возврате в первый поток там уже будет всё готово. В случае плавного выполнения всех потоков переключение между ними происходит как при обычной многозадачности — программно, через интервалы и в зависимости от приоритета задачи. Но ещё лучше переключаться не всем конвейером, а отдельными свободными стадиями (именно это и подразумевается в SMT). Допустим, в двухпоточном ядре процессора буфер мопов после декодера оказался заполнен — тогда предсказатель переходов, загрузчик команд и декодер (т.е. все стадии до буфера) переключаются на другой поток, заполняя его мопами либо отведённую для этого потока половину буфера, либо динамически „отнимая“ от первого потока часть места для второго. Суперскалярные ядра процессора могут также одновременно запускать на выполнение (в т.ч. внеочерёдное) мопы разных потоков и вперемешку считывать для них данные из кэша. Более того, т.н. барабанный процессор (barrel processor), вообще может переключаться на следующий поток каждый такт всеми стадиями конвейеров (кроме занятых более одного такта) вне зависимости от того, произошёл ли в течение этого такта затор или нет.
Впрочем, OOO и SMT не могут поднять производительность выше пиковой, определяемой числом конвейеров (уровнем суперскалярности) и скоростью срабатывания функцинальных устройств (ФУ) — они лишь нивелируют неизбежные заторы команд и данных, уменьшая простои и максимально загружая ресурсы. Чтобы повысить скорость ещё, требуется что-то сделать не на уровне команд, а на уровне обрабатываемых ими данных. Первое, что пришло бы в голову, окажись мы в 80-х годах 20-го века — увеличить разрядность обрабатываемых данных до 32-х разрядов (количественное решение). Но для целых чисел больше, как правило, не надо (кроме вычисления адресов для 64-разрядного режима), для вещественных чисел 64 разряда двойной точности тоже давно достигнуты, так что увеличение разрядности означает переход к векторным вычислениям (согласно парадигме SIMD — одна команда, много данных) и увеличение числа компонент вектора. В настоящее время в ядрах процессоров фирмы Intel реализованы 256- и 512-ти разрядные векторные регистры (например, в одном 256 разрядном регистре может находиться 8 32-разрядных операндов, которые могут быть обработаны одновременно).
Единственный качественный способ ускорить обработку данных при фиксированном числе команд — внедрять новые команды, выполняющие над данными больше действий, заменяя несколько (иногда даже десятков) простых инструкций. Это не только уменьшает размер программы, но и ускоряет ее, т.к. выполнение новой команды будет скорее аппаратное, а не микропрограммное. Вот примеры:
операции над всеми регистрами сразу (сохранение всего регистрового файла в стеке и восстановление из него);
непосредственные операнды в командах (там, где они были недоступны);
операции с битами и битовыми полями (поиск, выборка, вставка и замена);
операции с изменением формата на «лету» (расширение нулём и знаком, перевод из вещественных чисел в целые числа или обратно, изменение точности, маскированная запись);
условные операции (копирование, запись константы);
многоразрядные операции с переносом (для наращивания размера обрабатываемых данных, если они не умещаются в одном регистре);
команды с регулировкой точности (умножение с получением только старшей или младшей половины результата, приближённые вещественные вычисления и увеличение их точности аппроксимацией);
слитные команды (умножение-сложение, сложение-вычитание, сравнение-обмен, синус-косинус, перетасовка компонентов вектора, минимум, максимум, среднее, модуль, знак);
горизонтальная арифметика (источники и приёмник являются компонентами одного вектора);
недеструктивные операции (приёмник не перезаписывает источники — не требуется предварительная команда копирования одного из операндов в новый регистр);
программно-специфичные команды (подсчёт контрольной суммы, поиск подстроки, сумма модулей разностей, индекс и значение минимума в векторе, скалярное произведение).
По числу пунктов выше видно, что добавление дополнительных наборов команд — один из основных методов увеличения скорости ядер процессоров. Уже сейчас общее число команд в архитектуре фирмы Intel 32/64 перевалило за 1000, что привело к исключительному усложнению декодеров и функциональных устройств, а также к сильному затруднению программирования и оптимизации на ассемблере. Тем не менее, фирма Intel (а именно она ввела подавляющее большинство таких наборов) продолжает снабжать новые процессоры очередными видами команд заставляя то же самое делать и конкурента.
15. Особенности современных процесооров фирмы IBM (POWER7, POWER8)
Основными «строительными кирпичиками» МВС фирмы IBM в настоящее время являются процессоры серии POWER7 и POWER8.
Особенности процессора power7
Восьмиядерный кристалл площадью 567 мм2 выполнен по проектным нормам 45 нм, что позволило разместить на кристалле 1,2 млрд транзисторов.
Объем кэш-памяти третьего уровня на кристалле составил 32 Мбайт eDRAM. Это был большой шаг вперед по сравнению с предыдущими поколениями процессоров линии POWER, где кэш располагался на отдельном чипе в многокристальном модуле.
Каждый процессор POWER7 мог выполнять 32 потока (с восемью ядрами и четырьмя потоками на ядро), что в 8 раз больше чем у систем на базе процессора POWER6. Кристаллы имели тактовые частоты: 3; 3,3; 3,5; 3,55; 3,8 и 4,1 ГГц.
Каждое ядро процессора POWER7 имело 12 исполнительных блоков. Все ядра поддерживали внеочередное выполнение команд и обеспечивали двоичную совместимость с предыдущими моделями процессоров POWER. Помимо встроенной раздельной кэш-памяти для команд (32 Кбайт) и данных (32 Кбайт) первого уровня (L1) с каждое ядро имело 256 Кбайтную кэш-память второго уровня (L2). Кроме того, на кристалле реализована общая кэш-память третьего уровня (L3) размером 32 Мбайт, которая выполнена на базе так называемой встроенной динамической памяти с произвольным доступом (embedded DRAM). При этом в данной памяти выделены 4-Мбайтные сегменты для каждого ядра процессора. Разумеется, память eDRAM работает медленнее, чем статическая память SRAM, но она расположена ближе к ядрам процессора и использует более широкие пути передачи данных (что существенно снижает задержки). Кроме того, для реализации одной ячейки SRAM (статический триггер) необходимо шесть транзисторов, а ячейка eDRAM состоит всего из одного транзистора и одного конденсатора.
В микросхеме имелся двухканальный контроллер оперативной памяти стандарта DDR3. Пропускная способность памяти поддерживалась на уровне 100 Гб/с, в режиме SMP – 360 Гб/с.
Особенности процессора Power7+
Восьмиядерный процессор IBM Power7+ производится 32 нм техпроцессу. Он имеет 80 Мбайт кеш-памяти третьего уровня (при 32 Мбайт в процессоре Power7). Наращивание объема памяти обеспечивает существенный рост производительности.
Процессор использует память eDRAM (embedded DRAM- встроенная динамическая память). Если сравнить SRAM с новой памятью, то получится разница по числу транзисторов на бит более чем в два раза. В процессоре Power7+ содержится 2,1 млрд транзисторов, используя память SRAM, их потребовалось бы 5,4 млрд.
Следующей особенностью процессора является то, что он имеет дополнительные акселераторы для ускорения шифрования данных и выполнения других задач обеспечения безопасности. В кристалле реализована функция, генератор «действительно случайных чисел». Этот генератор способен защитить от взлома, совершаемого методом прогнозирования следующего «случайного» числа в последовательности.
Также в платформе Power7+ реализован двойной процессорный модуль, благодаря которому можно установить два процессора в один сокет (разъем).
Особенности процессора power 8
В августе 2013 г. фирма IBM представила процессор POWER 8. Этот процессор имеет 12 ядер. Каждое ядро способно обрабатывать по восемь потоков команд одновременно благодаря технологии SMT (Simultaneous Multithreading). В процессорах POWER 7/7+ ядра обрабатывали только четыре потока команд. Процессор является самым производительным из моделей компании IBM, выпущенных к настоящему времени, произведён по 22 нм техпроцессу и занимает площадь 650 кв. мм.
Каждое ядро имеет:
16 исполнительных блоков;
64 Кбайта кеша данных плюс кеш для команд объёмом 32 Кбайта;
кеш L2 объёмом 512 Кбайт
Процессор также имеет:
общий кеш L3 типа eDRAM размером в 96 Мбайт;
кеш 4-го уровня eDRAM объемом 128 Мбайт, который располагается за пределами кристалла процессора.
19. Общая структура кластеров високой продуктивности
На практике термин "кластер" имеет множество определений. Некоторые специалисты относят к кластерам мультипроцессорные вычислительные системы класса NUMA (и аналогичные), массово-параллельные вычислительные системы, а порой и симметричнее мультипроцессорные вычислительные системы. К тому же одни ставят во главу угла отказоустойчивость, другие - масштабируемость, третьи - управляемость, четвертые - максимальную производительность.
Однако, наиболее простое, доходчивое и понятное определение кластера базируется на аппаратной особенности его реализации, некогда сформулированное компанией Digital Equipment Corporation. Итак, кластер - это разновидность параллельной или распределенной вычислительной системы, которая состоит из нескольких связанных между собой полноценных вычислительных систем (вычислительных узлов) и используется как единый, унифицированный вычислительный ресурс. Под понятием "полноценная вычислительная система" понимается завершенная вычислительная система, обладающая всем, что требуется для ее функционирования, включая процессоры, оперативную память, подсистему ввода-вывода, а также операционную систему, приложения и т.д. В качестве вычислительных узлов в настоящее время используются Blade-серверы. Как правило, в пределах одного кластера используются одинаковые вычислительные узлы..
Узлы кластера соединяются между собой (внутрикластерное, или межузловое соединение) с помощью либо стандартных сетевых соединений, либо посредством нестандартных (фирменных) технологий. Внутрикластерные соединения позволяют ядрам независимо от внешней сетевой среды обмениваться информацией.
В кластерах имеется отдельная управляющая вычислительная система. Ее функции – управление кластером как единым целым. Управляющая вычислительная система соединяется с вычислительными узлами кластера специальн сетью.
Кластеры являются слабосвязанными системами.
В кластерах высокой производительности обязательно присутствует управляющая вычислительная система, в качестве которой, как правило, используется мультипроцессорная вычислительная система со специализированной операционной системой. Возможно включение в конфигурацию управляющей вычислительной системы специализированных компьютеров, например, файл-сервера, сервера визуализации. Как правило, предоставлена возможность удаленного доступа к кластеру через Internet.
Управляющая вычислительная система создает для пользователя так называемый единый образ вычислительной системы, т.е. для пользователя кластер — это большая вычислительная система (единый ресурс), в которой выполняется множество приложений, хотя в действительности они могут выполняться только на части узлов.
Управляющая вычислительная система принимает задания от пользователей, планирует их выполнение на вычислительных узлах, обеспечивает ввод-вывод данных. Для этих целей в ее составе, как правило, имеются необходимые подсистемы. Она соединяется с вычислительными узлами специальными сетями.
Каждый вычислительный узел – это полноценная вычислительная система с необходимым набором средств и со своей копией операционной системы. Состав и мощность вычислительных узлов могут быть разными в рамках одного кластера, однако чаще строятся однородные кластеры.
Вычислительные узлы в кластере соединяются:
между собой - высокопроизводительной коммуникационной сетью первого ранга для максимально быстрого обмена данными при выполнении различных потоков одного процесса;
с управляющей вычислительной системой:
коммуникационной сетью второго ранга. Ее производительность, как правило, в несколько раз меньше производительности коммуникационной сети первого ранга;
коммуникационной сетью третьего ранга (диагностической сетью). Производительность этой сети может быть значительно меньше производительности сети второго ранга.
Выбор конкретной коммуникационной среды каждого ранга определяется многими факторами: особенностями класса решаемых задач, доступным финансированием, необходимостью последующего расширения кластера и т.п.
Кластер высокой производительности — это сложный программно-аппаратный комплекс, и задача построения кластера не ограничивается объединением большого количества узлов в один сегмент. Для того чтобы кластер высокой производительности быстро и правильно выполнял задачу, все комплектующие должны быть тщательно подобраны друг к другу с учетом требований программного обеспечения, так как производительность кластерного программного обеспечения сильно зависит от структуры кластера, характеристик входящих в состав узлов процессоров, коммуникационной подсистемы между процессорами и оперативной памятью, от производительности сети, соединяющей вычислительные узлы.
Использование тех или иных компонентов сильно зависит от задачи, для которой строится кластер высокой производительности. Для некоторых хорошо распараллеливаемых задач (таких, как рендеринг независимых сюжетов в видеофрагменте) основной фактор быстродействия — мощные процессоры, а производительность сети не играет основной роли. В то же время для задач гидро- и аэродинамики, расчета крэш-тестов и ряда других важна производительность системной сети, иначе увеличение числа вычислительных узлов в кластере высокой производительности будет мало влиять на скорость решения задачи.
