- •Модели программирования систем класса mimd. Стандарт mpi. Операции поддерживаемые и неподдерживаемые в mpi. Содержимое реализации стандарта mpi. Структура mpi-программы.
- •Стандарт mpi. Идентификация в mpi. Цели разработчиков mpi. Классификация функций mpi. Структура mpi-программы. Пример программы.
- •Двухточечные передачи в mpi. Организация отложенных посылок/приемов сообщений. Функции (основные и вспомогательные), используемые при отложенных посылках и приемах сообщений. Примеры.
- •Типы данных в mpi-программе. Структурированные данные, виды и способы их передачи. Передача структурированных данных с сосредоточенными и распределенными элементами. Примеры.
- •Коллективные передачи данных в mpi. Виды коллективных операций. Барьерная синхронизация, распределение и сбор данных. Примеры.
- •Коллективные передачи данных в mpi. Виды коллективных операций. Рассылка данных и их редукция. Примеры.
- •1. Классификация Флина.
- •2. Классификация Хокни
- •3. Классификация по доступу к памяти
- •По степени интеграции ядер и устройств
- •2. По однородности ядер
- •3. По связям между ядрами
- •По степени интеграции ядер и устройств
- •2. По однородности ядер
- •3. По связям между ядрами
- •29. Сети и структуры сетей системы ibm Blue Gene/l. Конфигурация торовых колец. Монтаж на Midplane. Внешние сети и их подключение. Link Card и Service Card.
- •Объединённый модуль (Connected Unit)
- •Кластер Roadrunner
По степени интеграции ядер и устройств
1.1.Слабоинтегрированные ядра в рамках нескольких кристаллов: в рамках 1 корпуса CPU находится несколько отдельных кристаллов CPU. Достоинства подхода: не нужно делать дополнительные сокеты на материнской плате. Недостаток: связь с внешним миром разделяема всеми 4 CPU.
1.2.Слабоинтегрированные ядра в рамках 1 кристалла. Достоинства: совмещение части служб для нескольких процессоров, что приводит к снижению энергозатрат и увеличению управляемости.
Недостатки: связь с внешним миром разделяема всеми CPU.
1.3.Процессоры средней интеграции ядер. Значимая часть устройств совмещена или разделяется ядрами (cash, контроллеры памяти, прерываний и т.д.)
1.4.Процессоры с ядрами высокой(плотной) интеграции. Большая часть устройств, в том числе исполнительных может разделяться ядрами.
2. По однородности ядер
2.1.Однородные. 2.2.Неоднородные (Однородность/неоднородность может быть как аппаратная, так и функциональная).
3. По связям между ядрами
3.1.Связь с помощью общей памяти (Общий кэш 2-ого уровня) (Intel).
3.2.Связь с помощью коммутаторов (связь с помощью коммутаторов в рамках процессора) (AMD, Cell).
3.3.Без связей.
Пути повышения производительности микропроцессоров.
1)сокращение времени выполнения каждой команды в отдельности; 2) увеличение числа обрабатываемых данных в единицу времени; 3) конвейеризация.
(1) – Повышение тактовой частоты процессора.
(2) – Увеличение IPC (Instructions per Circle).
(3) – Увеличение объема обработанных данных.
(1):
1.1.Сокращение выполнения каждой отдельной команды;
1.2.Конвейеризация выполнения команд. В 2001 г. настал кризис этого направления, т.к. технология не позволяла производить улучшения, а в длинных конвейерах опасен их простой.
(3): Получило развитие в векторных и матричных процессорах, также устройства стали внедряться в обычные скалярные процессоры. Проблема состоит в том, что не все операции являются векторными.
(2): Наиболее востребованное в наше время направление. Здесь имеется в виду не только количество команд в каждый конкретный цикл, но и усредненное значение в течение некоторого промежутка времени.
Увеличение IPC подразумевается на
- ILP (instruction level parallel)
- TLP (thread level parallel)
ILP – увеличение числа инструкций, выполняемых за такт процессора:
суперскалярная обработка (выбор из памяти нескольких команд). Инструкции могут выбираться либо самостоятельно процессором: для этого в процессоре должен быть анализатор внутреннего параллелизма программного кода, либо все это отдается компилятору (VLIW).
Спекулятивное внеочередное выполнение команд. Выбор процессором команд, для которых имеются ресурсы для выполнения.
TLP – разделяется на несколько подходов:
Крупнозернистый (course grained)
Тонкозернистый (fine grained) (CMT-chip multi threading (SUN))
SMT (simultaneous multi threading) – одновременная многонитевая обработка.
СМР (chip multiprocessing) - многопроцессорная обработка на кристалле.
(1): В рамках одного процесса запускается несколько нитей, каждая из которых обрабатывает свой поток команд. Здесь в процессоре появляются дополнительные устройства, позволяющие хранить контекст нескольких нитей (дублирование РОН’ов, стека и проч.). Работа идет в режиме разделения времени: сокращение времени на переключение контекстов.
(2): Каждой нити выделяется один такт. В CMT как бы понижается частота работы отдельной нити (fCPU/n, где n – число нитей). Это очень полезно для северных систем. Происходит маскирование простоев (на обращение к памяти, cash и прочее).
(3): Одновременное выполнение нитей, но здесь происходит не циклическое переключение нитей, а переключение по мере необходимости (нет ресурсов) или по истечению кванта времени. Вершиной подхода SMT Является технология HTT (hyper threading technology). Эта технология отличается тем, что в 1 такт могут выполняться инструкции разных нитей: в рамках одного физического CPU. (Разделение аппаратных ресурсов между нитями).
(4): Многопроцессорность на уровне кристалла. В рамках одного процессора создается несколько процессорных ядер, каждое из которых представляется, с т.з. ОС и пользователя, как отдельный процессор и может выполнять потоки команд как отдельный процессор.
Билет №19. Современные многоядерные микропроцессоры. Классификация многоядерных микропроцессоров. Четырёхъядерные процессоры INTEL и AMD. Достоинства и недостатки подходов фирм AMD и INTEL. Двухядерные микропроцессоры фирм INTEL и AMD. Достоинства и недостатки подходов фирм AMD и INTEL. |
Классификация многоядерных процессоров
Три критерия: 1) по степени интеграции ядер и устройств; 2) по однородности ядер; 3) по связям между ядрами.
