Фрагмент для ознакомления
2
ВВЕДЕНИЕ
Параллелизм представляет собой основу для высокопроизводительной работы всех компьютерных подсистем. Организация памяти любого уровня иерархии, организация систем ввода-вывода, организация мультиплексирования шины и т. д. происходит на основе принципов параллельной обработки запросов.
Современные операционные системы являются многозадачными и многопользовательскими, имитируя параллельное выполнение программ с использованием механизмов прерывания. Разработка процессорного здания также ориентирована на операции параллелизации, то есть для выполнения процессором большего количества операций за такт. Ключевыми этапами развития архитектуры процессора являются гиперконвейер, суперскаляр, неупорядоченная модель обработки, векторная обработка (технология SIMD) и архитектура VLIW. Все этапы были сосредоточены на увеличении степени параллелизма в работе. В настоящее время мощные серверы являются многопроцессорными системами, а процессоры используют параллелизм на уровне потоков. Параллельные операции – это перспективный способ повысить производительность вычислений, что объясняет актуальность темы этой статьи.
Целью работы является изучение проблем асинхронной параллелизации для MIMD-архитектуры.
1. АРХИТЕКТУРА ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
1.1 Параллелизм в работе ЭВМ
Параллелизм является основой для высокопроизводительной работы всех компьютерных подсистем. Организация памяти любого уровня иерархии, организация системного ввода-вывода, организация мультиплексирования шины и т. Д. На основе принципов параллельной обработки запросов. Современные операционные системы являются многозадачными и многопользовательскими, имитируя параллельное выполнение программ с использованием механизма прерывания.
Разработка процессорного здания также ориентирована на операции параллелизации, то есть для процессора для выполнения большего количества операций за такт. Ключевыми этапами развития архитектуры процессора являются гиперконвейер, суперскаляр, неупорядоченная модель обработки, векторная обработка (технология SIMD) и архитектура VLIW. Все этапы были сосредоточены на увеличении степени параллелизма в работе.
В настоящее время мощные серверы являются многопроцессорными системами, а процессоры используют параллелизм на уровне потоков. Основное внимание в нашем семинаре будет уделяться многопоточным и многоядерным процессорам.
Параллельные операции - многообещающий способ улучшить вычислительную производительность. Согласно закону Мура, количество транзисторов возрастает экспоненциально, что позволяет нам теперь включить в CPU большое количество исполнительных механизмов для самых разных целей. Прошли те времена, когда функционирование компьютера подчинялось принципам фон Неймана.
В 1970-х годах начал активно применяться принцип расчета конвейерной обработки. Теперь конвейер Intel Pentium 4 состоит из 20 шагов. Эта параллелизация на микроуровне является первым шагом в развитии процессоров. На принципах конвейерной обработки также основаны внешние устройства. Например, динамическая память (организация чередующихся банков) или внешняя память (организация RAID).
Но количество транзисторов на чипе выросло. Использование микроуровневого параллелизма позволило снизить CPI (Cycles per Инструкция), так как миллионы транзисторов были неактивны при выполнении отдельных инструкций. На следующем этапе эволюции в 1980-х годах параллелизм на уровне команд использовался одновременным размещением нескольких процессоров в процессоре. Такие суперскалярные процессоры достигли CPI <1. Параллельность уровня команд (ILP) создала неупорядоченную модель обработки, динамическое планирование, станции резервирования и т. Д. Из CPI пошел в IPC (инструкции для часов). Но ILP ограничивается алгоритмом исполняемой программы. Кроме того, с увеличением количества ALU сложность оборудования экспоненциально возрастает, увеличивается количество горизонтальных и вертикальных потерь в слотах доставки. Параллельность на уровне инструкций исчерпала свои резервы, и тенденции Моры позволили процессорам освоить более высокие уровни параллелизма. Современные методы повышения ILP основаны на использовании процессоров класса SIMD. Это векторная обработка, матричные процессоры, архитектура VLIW.
Параллельность между уровнями потоков и уровнем рабочих мест используется в процессорах класса MIMD. Многопоточные процессоры позволяют уменьшить вертикальные потери в выходных слотах, а также процессоры Simultaneous Multithreading (SMT) - как вертикальные, так и горизонтальные. Закон Мура также привел к выпуску многоядерных процессоров (CMP). Лучшие современные калькуляторы - многопроцессорные многопроцессорные системы.
Параллельность всех уровней типична не только для процессоров общего назначения (GPP), но и для специальных процессоров (ASP (Application-Specific Processor), DSP (Digital Signal Processor)).
Рис. 1. 1. Уровни параллелизма
Иногда параллелизм классифицируется по степени детализации как отношение объема вычислений к объему коммуникаций. Различают мелкозернистый, среднезернистый и крупнозернистый параллелизм. Мелкозернистый параллелизм обеспечивается самим процессором, но компилятор может и должен помочь ему предоставить больше IPC. Среднесрочный параллелизм является прерогативой программиста, которому необходимо разработать многопоточные алгоритмы. Здесь роль компилятора заключается в выборе оптимальной последовательности команд (с большим IPC) с использованием различных методов (например, символическое разворачивание циклов). Операционная система обеспечивает грубый
Фрагмент для ознакомления
3
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Цилькер Б. Я., Орлов С.А. Организация ЭВМ и систем. СПб.: Питер, 2016. - 668 с.
2. Таненбаум Э. Архитектура компьютеров. СПб.: Питер, 2007. - 848 с.
3. Корнеев В.В. Параллельные вычислительные системы. - М.: Нолидж, 2009. - 311 c.
4. Столлингс В. Структурная организация и архитектура компьютерных систем. 5-е издание. - М.: Издательский дом "Вильямс", 2012. - 896 с.
5. MIMD - [Электронный ресурс] : — Режим доступа: http://perilsofparallel.blogspot.gr/2008/09/larrabee-vs-nvidia-mimd-vs-simd.html
6. MIMD - [Электронный ресурс] : — Режим доступа: http://software.intel.com/en-us/articles/mimd
7. MIMD - [Электронный ресурс] — Режим доступа: https://ru.wikipedia.org/wiki/MIMD
8. MIMD - [Электронный ресурс] — Режим доступа: http://iproc.ru/parallel-programming/lection-2/