Здавалка
Главная | Обратная связь

Основные классы многоядерных процессоров (many-core, multi-core, MIMD, SIMD, SMP, MMP)



Как известно, наиболее распространенным подходом является распараллеливание "потока команд" и/или "потока данных". Распараллеливание данных — это применение одной операции сразу к нескольким элементам массива данных. Параллелизм задач предусматривает разбиение вычислительного процесса на несколько самостоятельных подзадач (процессов, потоков), каждая из которых выполняется на своем ядре (процессоре). Многоядерные системы (в соответствии с классификацией Флинна) можно отнести к так называемым системам классаMIMD (Multiple Instruction — Multiple Data), в которых несколько программных ветвей выполняются одновременно и независимо друг от друга, но в определенные моменты времени обмениваются данными

В основном представленные на сегодняшний день процессоры имеют MIMD-архитектуру, но есть также группа процессоров, построенных какSIMD -системы, — это так называемые потоковые или графические процессоры.

Среди многоядерных процессоров к данному моменту можно выделить процессоры, предназначенные в основном для встраиваемых и мобильных приложений, в которых большое внимание разработчиков было уделено средствам и методам снижения энергопотребления, процессоры для вычислительных или графических станций, где вопросы энергопотребления не столь критичны, процессоры и т. н. мейнстрима широкого назначения — нацеленные на использование в серверных, рабочих станциях и персональных компьютерах.

Также можно классифицировать многоядерные процессоры по архитектуре или структуре их ядер.

Структура ядер важна с точки зрения программирования на нижнем уровне, в проектировании и оптимизации приложений, определяет возможности процессора в плане вычислений. Большинство многоядерных процессоров имеют в своей основе RISC-ядра; конечно, есть центральная группа мощных процесссров с CISC-ядрами, встречаются и MISC-ядра.

Возможна классификация и по энергопотреблению. Перед разработчиками многоядерных процессоров, как правило, помимо задач повышения производительности и эффективности процессора стоят задачи уменьшения рассеиваемой мощности при малой загрузке процессора либо во время его простоя или ожидания результатов вычислений от ядер процессора. В этой классификации удобно выделить классы просто по абсолютному уровню потребляемой мощности и классы по способам управления энергопотреблением.

Также необходимо предусмотреть доступ к разделяемой памяти и эффективные коммуникации между ядрами.

Наличие внутрикристальной памяти и ее организация влияют на парадигму программирования, частоту обращений к внешней памяти, а также определяют способы синхронизации программ и данных.

Одной из проблем, стоящих перед разработчиками приложений для многоядерных процессоров, — распределение или передача данных между ядрами. Среда передачи данных должна обладать широкой полосой пропускания, малыми временами задержки соединения и распространения данных. Пропускная способность среды передачи, ее топология повлияют на производительность процессора на многопоточных приложениях, будут определять накладные расходы процессорного времени, задержки распространения данных.

Внешние интерфейсы определяют возможности взаимодействия процессора с памятью, внешними устройствами, и возможности наращивания количества процессоров.

При рассмотрении многоядерных процессоров в основном пользуются классификацией Флинна, принятой для параллельных систем, с той лишь разницей, что в качестве узлов или машин выступают вычислительные ядра, находящиеся на одном кристалле или в одном корпусе.

Стоит выделить также мультиядерные процессоры — в этом случае предполагается, что ядра являются высокопроизводительными и их относительно немного; и многоядерные процессоры — на кристалле располагается большое (от нескольких десятков до нескольких сотен) количество вычислительных ядер, имеющих более простую структуру, объединенных некоторой сетевой инфраструктурой.

Краткие итоги

Можно выделить примерно пять типов приложений, в зависимости от их требований к вычислительной системе: обработка больших массивов данных; высокопроизводительные вычисления, в том числе в реальном времени; серверы приложений; веб-сервисы; вычислительные задачи.

Одно из явных преимуществ при переходе на многоядерные процессоры — снижение энергопотребления, что в итоге сказывается на стоимости владения вычислительной системой.

Основой при классификации многоядерных процессоров остается классификация Флинна для параллельных вычислительных систем.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.