русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обзор архитектур многопроцессорных систем.


Дата добавления: 2015-01-16; просмотров: 698; Нарушение авторских прав


ILLIAC 4 был разработан в 1970 годах. Он включал 64 процессора, работающих по одной программе, применяемой к содержимому собственной ОП каждого процессора. Обмен данными происходил через матрицу коммуникационных каналов. В связи с этим можно выделить матричные суперкомпьютеры. Более широкий класс МВС с распределенной памятью получил название МВС с массовым параллелизмом или МВС с МРР-архитектурой. Каждый процессор в такой системе является универсальным и действует по своей собственной программе. Другое направление на базе векторно-конвейерных компьютеров (CRAY 1) сформировалось направление симметричной мультипроцессорности (SMP-архитектура). В этих ЭВМ объединялось от 2 до шестнадцати процессоров, имеющих равноправный, симметричный доступ к общей ОП. SMP обладает серьёзным недостатком, заключающимся в плохой масштабируемости систем, т.е. при подключении дополнительных процессоров неизбежно наблюдается рост числа конфликтов. А также помимо этих двух систем на рынке присутствуют кластеры и векторно-конвейерные суперкомпьютеры.

Векторно-конвейерные суперкомпьютеры.

В основе данного вида ЭВМ лежат два принципа:

  • введение набора команд для векторных операций. Векторные операции позволяют манипулировать целыми массивами данных
  • конвейерная организация обработки потока команд.

Главное назначение векторных операций заключается в распараллеливании операторов цикла. Большая доля вычислительной работы связана с циклами, причем эти действия выполняются компиляторами автоматически. В процессе развития происходило слияние архитектур. Типичными представителями гибридной архитектуры были CRAY J-90, CRAY T-90, NEC SX. В данное время векторные компьютеры проигрывают МРР-системам.

Симметричные мультипроцессоры.

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



UMA – Unified Memory Architecture (унифицированная архитектура памяти (память с однородным доступом)).

NUMA – Non Unified Memory Architecture (архитектура неоднородной памяти).

SMP – Symmetric Multi Processing (симметричная мультипроцессорность).

PVP – Parallel Vector Processors.

NCC-NUMA – Non Coherent Cash (некогерентный кэш).

CC-NUMA –Coherent Cash (когерентный кэш).

СОМА – Cash Only Memory Access.

MPP – Massively Parallel Processing (массивные параллельные вычисления).

ТОП–10 современных суперкомпьютеров.

  1. Tianhe-2 (Milky Way 2) – кластер, Intel 1200 ГГц, ядер – 3 млн. 120 тыс. производительность – 33863 TeraFlops, теоретическая – 55 TeraFlops. Мощность – 18000 КВт, память – 1024000 Гб.
  2. Titan (Cray XK7) – 2,2 ГГц, ядер – 560640, производительность – 17,6 PetaFlops, теоретическая – 27 PetaFlops, мощность – 10000 КВт, память – 710 Тб.
  3. Sequoia (BlueGene/Q) – 1,6 ГГц, IBM, 1573000, 17 PetaFlops, 20 PetaFlops, 7000 КВт, 1,5 Пб.
  4. SuperMUC

Разделение типов суперкомпьютеров основывается на способах организации ОП. Согласно данному подходу различают 2 типа многопроцессорных систем: мультипроцессоры и мультикомпьютеры. У мультикомпьютеров память распределенная.

Мультипроцессоры с системой общей разделяемой памятью.

Для систематики мультипроцессоров учитывается способ построения общей памяти.

Два подхода: UMA, NUMA (однородный и неоднородный).

Одной из главных проблем, возникающих при организации параллельных вычислений на суперкомпьютерах с общей памятью – это доступ с разных процессоров к общим данным и обеспечение в этой связи когерентности, т.е. однозначности содержимого разных КЭШей. Суть в том, что при наличии общих данных копии значений одних и тех же переменных могут оказаться в КЭШах разных процессоров. При этом, если один из процессоров изменит значения разделяемой переменной, то значения копий в КЭШах других процессоров окажутся недействительными и их использование приведет к некорректности расчетов. Обеспечение однозначности КЭШей реализуется на аппаратном уровне. Для этого после изменения значения общей переменной все копии этой переменной в остальных КЭШах отмечаются как недействительные, и последующий доступ к этой переменной потребует обязательного обращения к основной памяти. Необходимость обеспечения когерентности приводит к снижению скорости вычислений и затрудняет создание систем с большим количеством процессоров. Наличие общих данных при параллельных вычислениях приводит к необходимости синхронизации одновременно выполняемых потоков команд. Общий доступ к данным может быть обеспечен и при физически распределенной памяти. Этот подход именуется неоднородный доступ к памяти. Среди этих систем выделяют:

  1. системы, в которых для представления данных используется только локальная кэш-память (СОМА). Примеры: KSR-1, DDM.
  2. системы, которых обеспечивается когерентность локальных КЭШей разных процессоров (СС). Примеры: SGI Orgin, Sun HPC, IBM/Sequent.
  3. системы, в которых обеспечивается общий доступ к локальной памяти разных узлов без поддержки на аппаратном уровне когерентности КЭШа (NCC). Примеры: Cray T3E.

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



<== предыдущая лекция | следующая лекция ==>
История развития многопроцессорной вычислительной техники. | Многоядерность.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.147 сек.