Многоядерный процессор
Многоядерные процессоры — это особые виды многоядерных процессоров, предназначенные для высокой степени параллельной обработки и содержащие множество более простых независимых процессорных ядер (от нескольких десятков ядер до тысяч и более). Многоядерные процессоры широко используются во встраиваемых компьютерах и высокопроизводительных вычислениях .
с многоядерной Контраст архитектурой
Многоядерные процессоры отличаются от многоядерных процессоров тем, что изначально оптимизированы для более высокой степени явного параллелизма , а также для более высокой пропускной способности (или более низкого энергопотребления) за счет задержки и более низкой однопоточной производительности .
Более широкая категория многоядерных процессоров , напротив, обычно предназначена для эффективного выполнения как параллельного, так и последовательного кода, и поэтому больше внимания уделяется высокой однопоточной производительности (например, выделение большего количества микросхем для выполнения внеочередного выполнения , более глубокие конвейеры). , больше суперскалярных исполнительных блоков и более крупные и общие кэши) и разделяемую память . Эти методы направляют ресурсы времени выполнения на выявление неявного параллелизма в одном потоке. Они используются в системах, где они постоянно развивались (с обратной совместимостью) из одноядерных процессоров. Они обычно имеют «несколько» ядер (например, 2, 4, 8) и могут быть дополнены многоядерным ускорителем (например, графическим процессором ) в гетерогенной системе .
Мотивация [ править ]
Согласованность кэша — это проблема, ограничивающая масштабирование многоядерных процессоров. Многие процессоры могут обойти это с помощью таких методов, как передача сообщений . [1] блокнотная память , DMA , [2] разделенное глобальное адресное пространство , [3] или кэши только для чтения/несвязные кэши. Многоядерный процессор, использующий сеть на кристалле и локальную память, дает программному обеспечению возможность явно оптимизировать пространственное расположение задач (например, как это видно в инструментах, разработанных для TrueNorth ). [4]
Многоядерные процессоры могут иметь больше общего (концептуально) с технологиями, возникшими в области высокопроизводительных вычислений, такими как кластеры и векторные процессоры . [5]
Графические процессоры можно рассматривать как разновидность многоядерного процессора, имеющего несколько блоков шейдерной обработки и подходящего только для высокопараллельного кода (высокая пропускная способность, но крайне низкая однопоточная производительность).
Подходящие модели программирования [ править ]
- Интерфейс передачи сообщений
- OpenCL [6] или другие API, поддерживающие вычислительные ядра
- Разделенное глобальное адресное пространство
- Модель актера
- OpenMP [7]
- Поток данных
Классы многоядерных систем [ править ]
- Графические процессоры , которые можно описать как многоядерные векторные процессоры.
- Массивно-параллельный процессорный массив
- Асинхронный массив простых процессоров
архитектуры Конкретные многоядерные
- ZettaScaler [1] , японские PEZY Computing 2048-ядерные модули
- Сопроцессор Xeon Phi с MIC ( множество интегрированных ядер ). архитектурой
- Трейлер
- Adapteva Epiphany Architecture, многоядерный чип, использующий блокнотную память PGAS.
- Coherent Logix Процессор hx3100 , 100-ядерный процессор DSP/GPP на базе архитектуры HyperX.
- Movidius Myriad 2 , многоядерный видеопроцессор (VPU)
- Kalray , многоядерный ускоритель PCI-e для задач с интенсивным использованием данных
- Teraflops Research Chip , многоядерный процессор, использующий передачу сообщений
- TrueNorth , ускоритель искусственного интеллекта с многоядерной сетью на чиповой архитектуре
- Зеленые массивы , многоядерный процессор, использующий передачу сообщений, предназначенный для приложений с низким энергопотреблением.
- Sunway SW26010 , 260-ядерный многоядерный процессор, используемый в суперкомпьютере Sunway TaihuLight, входившем в топ-1 на тот момент.
- SW52020 — улучшенный 520-ядерный процессор. [8] [9] вариант SW26010 с 512-битным SIMD (также добавлена поддержка половинной точности), используемый в прототипе, предназначенный для экзафлосной системы (а в будущем и для 10 экзафлопсной системы), и, согласно данным Datacenterdynamics, в Китае, по слухам, уже есть две отдельные экзафлопсные системы тайно [ нужна ссылка ]
- Eyeriss , многоядерный процессор, предназначенный для работы сверточных нейронных сетей для встроенных приложений машинного зрения. [10]
- Graphcore — многоядерный ускоритель искусственного интеллекта.
компьютеры с более чем 1 млн ядер Конкретные ЦП многоядерные
Ряд компьютеров, построенных на основе многоядерных процессоров, имеют один миллион или более отдельных ядер ЦП. Примеры включают в себя:
- Gyoukou ( японский : 暁光 Hepburn : gyōkō , рассветный свет), суперкомпьютер , разработанный ExaScaler и PEZY Computing , с общим количеством 20 480 000 вычислительных элементов плюс 1250 хост-процессоров Intel Xeon D.
- SpiNNaker — массово-параллельный (1 миллион процессорных ядер) многоядерный процессор (на базе ARM), созданный в рамках проекта Human Brain Project .
компьютеры с 5 миллионами или более Конкретные ядер ЦП
Довольно много суперкомпьютеров имеют более 5 миллионов процессорных ядер. Если также используются сопроцессоры, например, графические процессоры, эти ядра не указаны в подсчете ядер, тогда еще несколько компьютеров достигнут этих целей.
- Граница
- Fugaku , японский суперкомпьютер , использующий ядра Fujitsu A64FX на базе ARM, всего 7 630 848.
- Sunway TaihuLight с массовым параллелизмом (10 миллионов процессорных ядер) — китайский суперкомпьютер , когда-то один из самых быстрых суперкомпьютеров в мире, использующий специальную многоядерную архитектуру. [ нужна ссылка ] По состоянию на ноябрь 2018 года это был третий по скорости суперкомпьютер в мире (по рейтингу TOP500 ), производительность которого обеспечивалась 40 960 многоядерными процессорами SW26010 , каждый из которых содержит 256 ядер.
См. также [ править ]
- Многоядерный процессор
- Векторный процессор
- SIMD
- Высокопроизводительные вычисления
- Компьютерный кластер
- Многопроцессорная система на чипе
- Блок обработки изображений
- Шаблон доступа к памяти
- Согласованность кэша
- Смущающе параллельно
- Массивная параллель
- ДРУГОЙ
Ссылки [ править ]
- ^ Мэттсон, Тим (январь 2010 г.). «Будущее многоядерных вычислений: история двух процессоров» (PDF) .
- ^ Хендри, Гилберт; Кречманн, Марк. «Клеточный процессор IBM» (PDF) .
- ^ Олофссон, Андреас; Нордстрем, Томас; Уль-Абдин, Зейн (2014). «Запуск высокопроизводительных энергоэффективных многоядерных архитектур с помощью Epiphany». arXiv : 1412.5538 [ cs.AR ].
- ^ Амир, Арнон (11 июня 2015 г.). «Глубокий обзор IBM SynAPSE, часть 3» . Исследования IBM. Архивировано из оригинала 21 декабря 2021 г.
- ^ «клеточная архитектура» . «Архитектура Cell не похожа ни на что, что мы когда-либо видели в обычных микропроцессорах, она ближе по конструкции к многопроцессорным векторным суперкомпьютерам»
- ^ Рик Мерритт (20 июня 2011 г.), «ОЕМ-производители демонстрируют системы с чипами Intel MIC» , www.eetimes.com , EE Times
- ^ Баркер, Дж; Боуден, Дж (2013). «Многоядерный параллелизм через OpenMP». OpenMP в эпоху маломощных устройств и ускорителей . ИВОМП. Конспекты лекций по информатике, том 8122. Springer. дои : 10.1007/978-3-642-40698-0_4 .
- ^ Морган, Тимоти Прикетт (10 февраля 2021 г.). «Первый взгляд на китайский суперкомпьютер Sunway Exascale» . Следующая платформа . Проверено 18 ноября 2021 г.
- ^ Хемсот, Николь (19 апреля 2021 г.). «Китайский экзафлопсный прототип суперкомпьютера тестирует рабочие нагрузки искусственного интеллекта» . Следующая платформа . Проверено 18 ноября 2021 г.
- ^ Чен, Ю-Синь; Кришна, Тушар; Эмер, Джоэл; Сзе, Вивьен (2016). «Eyeriss: энергоэффективный реконфигурируемый ускоритель для глубоких сверточных нейронных сетей» . Международная конференция IEEE по твердотельным схемам, ISSCC 2016, Сборник технических документов . стр. 262–263.
Внешние ссылки [ править ]
- Архитектурные решения для будущего Manycore , опубликовано 19 февраля 2010 г. (более одной неработающей ссылки на слайде)
- Архитектура Айриса