Многоядерные процессоры - это специализированные многоядерные процессоры, предназначенные для высокой степени параллельной обработки , содержащие множество более простых, независимых процессорных ядер (от нескольких десятков ядер до тысяч и более). Многоядерные процессоры широко используются во встроенных компьютерах и высокопроизводительных вычислениях .
Контраст с многоядерной архитектурой [ править ]
Многоядерные процессоры отличаются от многоядерных процессоров тем, что с самого начала оптимизированы для более высокой степени явного параллелизма и для более высокой пропускной способности (или более низкого энергопотребления) за счет задержки и более низкой производительности одного потока .
Напротив, более широкая категория многоядерных процессоров обычно предназначена для эффективного выполнения как параллельного, так и последовательного кода, и поэтому уделяет больше внимания высокой производительности одного потока (например, выделение большего количества микросхем для выполнения вне очереди , более глубокие конвейеры , более суперскалярные исполнительные единицы и более крупные кеши общего назначения) и разделяемая память. Эти методы выделяют ресурсы времени выполнения для выявления неявного параллелизма в одном потоке. Они используются в системах, где они непрерывно развивались (с обратной совместимостью) от одноядерных процессоров. Обычно они имеют «несколько» ядер (например, 2,4,8) и могут быть дополнены многоядерным ускорителем (например, графическим процессором ) в гетерогенной системе .
Мотивация [ править ]
Согласованность кэша - это проблема, ограничивающая масштабирование многоядерных процессоров. Многоядерные процессоры могут обойти это с помощью таких методов, как передачи сообщений , [1] блокнота памяти , DMA , [2] распределяли глобальное адресное пространство , [3] или только для чтения / некогерентного кэши. Многоядерный процессор, использующий сеть на кристалле и локальную память, дает программному обеспечению возможность явно оптимизировать пространственное расположение задач (например, как это видно в инструментах, разработанных для TrueNorth ). [4]
Многоядерные процессоры могут иметь больше общего (концептуально) с технологиями, возникающими из высокопроизводительных вычислений, такими как кластеры и векторные процессоры . [5]
Графические процессоры можно рассматривать как форму многоядерного процессора, имеющего несколько блоков обработки шейдеров и подходящего только для высокопараллельного кода (высокая пропускная способность, но чрезвычайно низкая производительность одного потока).
Подходящие модели программирования [ править ]
- Интерфейс передачи сообщений
- OpenCL [6] или другие API, поддерживающие вычислительные ядра.
- Разделенное глобальное адресное пространство
- Актерская модель
- OpenMP [7]
- Поток данных
Классы многоядерных систем [ править ]
- GPU , которые можно охарактеризовать как многоядерные векторные процессоры
- Массив массивно параллельных процессоров
- Асинхронный массив простых процессоров
Конкретные многоядерные архитектуры [ править ]
- ZettaScaler [1] , японские 2048-ядерные модули PEZY Computing
- Сопроцессор Xeon Phi с архитектурой MIC ( много интегрированных ядер )
- Тилера
- Adapteva Epiphany Architecture, многоядерный чип, использующий оперативную память PGAS
- Процессор Coherent Logix hx3100 , 100-ядерный процессор DSP / GPP на основе архитектуры HyperX
- Movidius Myriad 2 , многоядерный процессор Vision
- Kalray , многоядерный ускоритель PCI-e для задач с большим объемом данных
- Teraflops Research Chip - многоядерный процессор, использующий передачу сообщений
- TrueNorth - ускоритель ИИ с многоядерной сетью на чиповой архитектуре
- Green объединяет многоядерный процессор с использованием передачи сообщений для приложений с низким энергопотреблением.
- Eyeriss , многоядерный процессор, разработанный для работы сверточных нейронных сетей для встраиваемых приложений машинного зрения [8]
- Graphcore , многоядерный ускоритель ИИ
Конкретные многоядерные компьютеры с 1 млн и более ядер ЦП [ править ]
Некоторые компьютеры, построенные на основе многоядерных процессоров, имеют один миллион или более отдельных ядер ЦП. Примеры включают:
- Sunway TaihuLight , массивно параллельные (ядра 10M CPU) Китайский суперкомпьютер , когда - то один из самых быстрых суперкомпьютеров в мире, используя архитектуру пользовательского многоядерной [ править ] . По состоянию на ноябрь 2018 года, китайский Sunway TaihuLight , третий по скорости суперкомпьютер в мире (согласно списку TOP500 ), обеспечивает производительность 40 960 многоядерных процессоров SW26010, каждый из которых содержит 256 ядер.
- Gyoukou ( яп . 暁 光Hepburn : gyōkō , рассветный свет), суперкомпьютер, разработанный ExaScaler и PEZY Computing .
- СПИНАКЕР , в широком масштабе параллельный (1M процессор ядро) процессор многоядерного построен в рамках проекта человеческого мозга
См. Также [ править ]
- Многоядерный
- Векторный процессор
- SIMD
- Высокопроизводительные вычисления
- Компьютерный кластер
- Многопроцессорная система на микросхеме
- Блок обработки зрения
- Шаблон доступа к памяти
- Согласованность кеша
- Смущающе параллельный
- Массивно параллельный
- CUDA
Ссылки [ править ]
- ^ Мэтсон, Тим (январь 2010). «Будущее многих ядерных вычислений: история двух процессоров» (PDF) .
- ^ Хендри, Гилберт; Кречманн, Марк. "IBM Cell Processor" (PDF) .
- ^ Олофссон, Андреас; Нордстрём, Томас; Ул-Абдин, Заин (2014). «Быстрый старт высокоэффективных энергоэффективных многоядерных архитектур с помощью Epiphany». arXiv : 1412.5538 [ cs.AR ].
- ↑ Амир, Арнон (11 июня 2015 г.). «IBM SyNAPSE Deep Dive, часть 3» . IBM Research.
- ^ "Архитектура ячейки" .«Архитектура Cell не похожа ни на что, что мы когда-либо видели в обычных микропроцессорах, она ближе по дизайну к многопроцессорным векторным суперкомпьютерам»
- ↑ Рик Мерритт (20 июня 2011 г.), «OEM-производители демонстрируют системы с чипами Intel MIC» , www.eetimes.com , EE Times
- ^ Баркер, J; Боуден, Дж (2013). «Многоядерный параллелизм через OpenMP». OpenMP в эпоху маломощных устройств и ускорителей . IWOMP. Конспект лекций по информатике, том 8122. Springer. DOI : 10.1007 / 978-3-642-40698-0_4 .
- ^ Чен, Ю-Син и Кришна, Тушар и Эмер, Джоэл и Сзе, Вивьен (2016). «Eyeriss: энергоэффективный реконфигурируемый ускоритель для глубоких сверточных нейронных сетей» . IEEE International Solid-State Circuits Conference, ISSCC 2016, Digest of Technical Papers . С. 262–263.CS1 maint: использует параметр авторов ( ссылка )
Внешние ссылки [ править ]
- Архитектурные решения для будущего Manycore , опубликовано 19 февраля 2010 г. (более одной мертвой ссылки на слайде)
- Архитектура Эйериса