Файл: Мультипроцессоры (Понятие, роль и сущность микропроцессоров).pdf
Добавлен: 27.04.2023
Просмотров: 254
Скачиваний: 1
То есть процессу разрешается вызывать процедуры, выполнение которых происходит на удаленном компьютере. Такие модели позволяют упростить использование сетевых систем, например, World Wide Web (WWW) — система, построенная на базе модели распределенных документов (distributed documents).
Распределенные вычислительные системы состоят из автономных компьютеров, объединенных вычислительной сетью, и представляются в виде единой связанной системы. Их важное преимущество состоит в том, что они упрощают интеграцию различных приложений, работающих на разных компьютерах, в единую систему.
Другой тип систем применяется для операционных систем, которые объединяют в себе множество компьютеров, работающих под управлением своих операционных систем, позволяющим пользователям работать во временном доступе к файлам.
2.2. Мультипроцессоры Intel
Первыми мультипроцессорами с архитектурой x86 на базе процессоров Intel 80386 и Intel 486 стали серверы Compaq SystemPro, затем компания Intel создала стандарт MultiProcessor Specification, который стал на долгие годы стандартом для SMP-машин c архитектурой x86.
Так как обмен данными между процессорами отсутствует, то возможно достижение огромных скоростей вычислений и расширение системы благодаря увеличению числа процессоров. Мультипроцессоры также применяются в данных системах.
В таких машинах память каждому процессору видна как общее адресное пространство, и процессоры обмениваются данными друг с другом по общей адресной шине через общие переменные (shared variables).
Достоинством мультипроцессоров является: простота программирования, поддержка SМР существует уже давно во всех ведущих операционных системах, а недостатком — невысокая масштабируемость процессоров.
Память, представляемая как одно общее пространство, может быть распределена по узлам системы (DSM-MIMD — distributed shared memor y MIMD). В этом подклассе машин у каждого процессора имеется своя локальная память, а доступ к разным участкам общей памяти является неодинаковым (быстрее или медленнее), то такие системы носят название NUMA (от Non-Uniform Memory Access).
Так как память физически распределена, возникает трудность с тем, чтобы каждый процессор видел в памяти изменения, сделанные другими процессорами. Существует два способа решения этой проблемы: через согласование кэша – ccNUMA, без согласования кэша – nccNUMA. NUMA-системы имеют более высокую масштабируемость, позволяя создавать массово-параллельные вычислительные системы, где число процессоров достигает нескольких тысяч. Модель программирования в таких системах остается прежней – потоки исполнения обмениваются друг с другом данными через общие переменные.
Класс DM-MIMD (distributed memory MIMD) означает многопроцессорные MIMD-машины с распределенной памятью, когда у каждого процессора есть своя локальная память, не видная другим процессорам. Каждый процессор в такой системе выполняет свою задачу со своим набором данных в своей локальной памяти.
Если одному процессору необходимы информационные сведения из другого процессора, то для обмена сообщениями используется модель программирования Message Passing с помощью Parallel Virtual Machint (PVM) или какой-нибудь реализации Message Passing Interface (MPI).
Зачастую специалисты выделяют еще и такие MIMD- подклассы, производные класса: SPMD (Single Program Multiple Data), где описана система с одной единственной программой и MPMD (Multiple Programs Multiple Data), где описана система, в которой:
а) на одном процессоре MIMD-машины работает мастерпрограмма, а на других – подчиненная программа, работой которой руководит мастер-программа (принцип master/slave, или master/worker);
б) на разных узлах MIMD-машины работают разные программы, которые по-разному обрабатывают один и тот же массив данных (принцип coupled analysis).
Рисунок 5 – Архитектура MIMD[20]
Сегодня все процессоры производства Intel делятся прежде всего по назначению: для настольных систем, ноутбуков, серверов и рабочих станций и т.д.
Затем в каждом классе выделяют серии процессоров, отличающиеся между собой по некоторым ключевым характеристикам. Например, система развития мультипроцессоров "Tick-Tock" от Intel имеет свою стратегию развития, которая осуществляется по двум стадиям: уменьшение техпроцесса и незначительное усовершенствование архитектуры, а затем происходит выпуск новой микроархитектуры на существующем техпроцессе.
Рисунок 6 — Стратегия Tick-Tock[21]
На данный момент широко распространены процессоры Intel с микроархитектурой Sandy Bridge, основанной на 32-нм технологии, и Ivy Bridge, которая является развитием предыдущей и основана на 22-нм технологии с использованием транзисторов с трехмерной структурой затвора (3D Tri-Gate Transistor).
В классе настольных и мобильных систем сегодня "царствуют" представители семейства Intel ® Core ™ 3го поколения, в серверном сегменте – процессоры Intel ® Xeon ®. Особенностям микроархитектуры Intel ® Core ™, позволившей компании Intel существенно потеснить своего основного конкурента – компанию AMD, посвящено множество материалов и публикаций. Не ставя перед собой задачу подробного ее обсуждения, кратко отметим лишь ключевые моменты, выделяемые самими разработчиками.
Hyper-Threading — это технология, которая позволяет удвоить число ядер в операционной системе за счёт обработки нескольких потоков команд на каждом ядре.
Например, рассмотрим технические характеристики в классе настольных и серверных процессоров с технологией Hyper-Threading, показанные на рисунке 7.
Рисунок 7 — Процессоры с технологией Hyper-Threading[22]
Кроме пиковой производительности, также значимым обстоятельством для конечного потребителя является процент мощности, который можно получить от пика.
2.3 Мультипроцессоры AMD
Рассмотрим процессов семейства AMD Phenom™ и AMD Opteron™ .
Сама компания AMD была создана и основана в 1969 г., поэтому она и является основным конкурентом для Intel.
У компании AMD в данной отрасли действительно имеется некоторый успех, например, в сфере разработки мультипроцессоры AMD Opteron™. Они достаточно быстро оказываются популярными, поскольку позволяют упрочить свое положение в сегменте высокопроизводительных решений.
Однако, AMD неизменно проигрывает своим конкурентам, несмотря на существующие качественные продукты, компания за прошедшие годы нередко бывала первопроходцем и реализовывала действительно интересные архитектурные решения.
Мультипроцессоры AMD поддерживают технологии, аналогичные рассмотренных ранее у Intel: расширенная технология оптимизации энергопотребления (AMD PowerNow!™ Technology), увеличение частоты ядер при необходимости (AMD Turbo CORE Technology), поддержка новых инструкций (AVX, AES, FMA4, XOP), общий кэш третьего уровня (AMD Balanced Smart Cache) и многое другое.
На рынке настольных систем основное оружие компании AMD сегодня – процессоры AMD FX™, построенные на микроархитектуре. Существующие версии мультипроцессоров представлены на рисунке 8.
Рисунок 8 — Виды мультипроцессоров AMD[23]
2.4 Процессоры IBM Power7
Компания IBM гораздо старше, чем Intel и AMD, и, в отличие от последних, она никогда не производила только процессоры. Мультипроцессоры, выпускаемые сегодня - это основа суперкомпьютеров вроде Roadrunner или BlueGene.
Процессоры Power7+ выпускается по 32 нм технологическому процессу. Процессоры PowerXCell™ 8i Рассказ о процессоре PowerXCell™ 8i конечно же нужно начать с его прямого предка – процессора Cell (рисунок 9), разработанного альянсом в первую очередь для использования в игровых приставках Sony PlayStation 3.
Рисунок 9 - Процессор Cell[24]
Процессор Cell имеет существенно "неоднородное" устройство. Он состоит из одного двухъядерного Power Processor Element (PPE) и 8 Synergistic Processor Element (SPE). PPE построен на архитектуре PowerPC и "отвечает" в процессоре Cell за исполнение кода общего назначения (операционной системы в частности), а также контролирует работу потоков на сопроцессорах SPE.
Ядра PPE – 64-разрядные и так же, как и Power6, используют поочередный (in-order) порядок исполнения команд. PPE имеет блок векторных операций Vector Multimedia eXtensions (VMX), кэш первого уровня размеров 64 КБ и кэш второго уровня размером 512 КБ.
Пиковая производительность всего процессора Cell получается превышающей 200 гигафлопс. В целом Cell весьма эффективно справляется с "потоковой" обработкой, характерной для мультимедиа, для задач кодирования, сжатия и т. д.
Основное отличие процессора PowerXCell™ 8i состоит в значительном улучшении работы с вещественными числами двойной точности, что позволило довести пиковую производительность на них до уровня в 100 гигафлопс.
2.5 Процессоры Sun UltraSPARC T1, Sun UltraSPARC T2, SPARC T3, SPARC T4
Компания Sun Microsystems в начале своей разработки микроархитектуры UltraSPARC Architecture подошла к процессу с индивидуальных позиций.
Рисунок 10 - Процессор Sun UltraSPARC T1
В основу процессоров UltraSPARC T1 положило идею "многопоточности" для достижения высокой производительности не путем ускорения выполнения одного потока команд, а за счет обработки большого числа потоков в единицу времени.
Это породило дальнейшие Процессоры более совершенного уровня: UltraSPARC T2 – 64 потока, технические характеристики процессора Sun UltraSPARC T1 представлены на рисунке 11.
Рисунок 11 — технические характеристики процессора Sun UltraSPARC T1[25]
Сопроцессор ядер в UltraSPARC T2 дополнительно поддерживает алгоритмы шифрования DES, 3DES, RC4, AES, SHA, MD5, CRC, а также алгоритм генерации случайных чисел. Основной недостаток процессора UltraSPARC T1 – наличие в процессоре только одного блока вычислений над числами с плавающей точкой, доступного для всех потоков всех ядер. В процессоре UltraSPARC T2 эту проблему решили – у каждого ядра есть собственный модуль для выполнения операций с вещественными числами.
Также в UltraSPARC T2 была поднята максимальная тактовая частота – до 1,4 ГГц. Плюс к этому – увеличен объем кэша второго уровня до 4 МБ, однако, в отличие от UltraSPARC T1, кэш не общий, а раздельный – по 512 КБ на каждое ядро. Кроме того, в процессор интегрированы два 10Gbit контроллера Ethernet и контроллер шины PCI Express.
Так, компании NVIDIA и ATI (последняя теперь – в составе компании AMD), накопив опыт и поняв, что пиковая мощность их продуктов уже стала сравнима с кластерами "средней руки", от выпуска графических ускорителей начали движение на рынок высокопроизводительных решений, представив соответствующие продукты (семейства NVIDIA® Tesla™ и ATI FireStream™).
Напротив, компании, традиционно выпускавшие процессоры и серверные решения, взялись осваивать область мультимедиа.
Типичные ускорители вычислений, способные существенно добавить мощности даже обычным "персоналкам" – на этом направлении работает, например, компания ClearSpeed Technology. Далее появился, SPARK T3 и Т4.
Рисунок 12 — Ускоритель ClearSpeed™ Advance™ e720[26]
Для работы с ускорителем требуется, как правило, наличие специальных драйверов. Главное (хост) приложение, использующее возможности e720, состоит из двух частей: программа, выполняющаяся на главном процессоре; программа, которая выполняется на ускорителе.
ClearSpeed™ Advance™ e720 часто применяются в роли совместного процессора с целью для ускорения внутренних циклов в программах, которые становятся реальными за счет использования стандартных математических библиотек, разработанных ClearSpeed.
Если в приложении происходит вызов функции, поддерживаемой математическими библиотеками ClearSpeed, то библиотека сама анализирует возможность ее ускорения. В зависимости от выполненного анализа функция начинает выполняться либо на главном процессоре, либо перехватывается ускорителем.
Этот механизм широко используется в ряде математических приложений, например, в приложении MATLAB. Запуск не поддерживаемой библиотеками ClearSpeed команды приведет к необходимости самостоятельной реализации данной программы инициатором-пользователем, учитывая наличие существующих инструментов.
Иные технологии GPU-ускорители NVIDIA® TESLA K20X В 2007 г. компания NVIDIA представила продукты семейства Tesla™ для построения высокопроизводительных вычислительных систем. Последнее поколение ускорителей построено на базе архитектуры Kepler. Ускоритель Tesla K20X содержит один процессор GK110 имеет технические характеристики, представленные на рисунке 13. Ускоритель подключается к материнской плате по шине PCI Express 3.0.
Рисунок 13 — Технические характеристики TESLA K20X[27]
В комплект поставки данных процессоров включены следующие основные компоненты: CUDA Driver, CUDA Toolkit, CUDA SDK.