Файл: Мультипроцессоры (Понятие, роль и сущность микропроцессоров).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 memo­r 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.