Более широкая категория многоядерных процессоров , напротив, обычно предназначена для эффективного выполнения как параллельного , так и последовательного кода, и поэтому больше внимания уделяется высокой производительности одного потока (например, выделяя больше кремния для внеочередного выполнения , более глубокие конвейеры , больше суперскалярных исполнительных блоков и более крупные, более общие кэши) и общей памяти . Эти методы выделяют ресурсы времени выполнения для выяснения неявного параллелизма в одном потоке. Они используются в системах, где они непрерывно развивались (с обратной совместимостью) от одноядерных процессоров. Они обычно имеют «несколько» ядер (например, 2, 4, 8) и могут быть дополнены многоядерным ускорителем (таким как GPU ) в гетерогенной системе .
Мотивация
Когерентность кэша — это проблема, ограничивающая масштабирование многоядерных процессоров. Многоядерные процессоры могут обойти это с помощью таких методов, как передача сообщений , [1] память scratchpad , DMA , [2] секционированное глобальное адресное пространство , [3] или кэши только для чтения/некогерентные кэши. Многоядерный процессор, использующий сеть на кристалле и локальную память, дает программному обеспечению возможность явно оптимизировать пространственную компоновку задач (например, как показано в инструментах, разработанных для TrueNorth ). [4]
Графические процессоры можно считать разновидностью многоядерных процессоров, имеющих несколько шейдерных процессоров и подходящих только для высокопараллельного кода (высокая пропускная способность, но крайне низкая производительность одного потока).
SW52020 , улучшенный 520-ядерный [8] [9] вариант SW26010 с 512-битным SIMD (также с поддержкой половинной точности), используемый в прототипе, предназначенный для экзафлопсной системы (и в будущем для 10-экзафлопсной системы), и, по слухам, в Китае уже есть две отдельные экзафлопсные системы в тайне [ требуется ссылка ]
Eyeriss , многоядерный процессор, разработанный для запуска сверточных нейронных сетей для встроенных приложений машинного зрения [10]
Конкретные многоядерные компьютеры с 1 млн+ ядер ЦП
Ряд компьютеров, построенных на основе многоядерных процессоров, имеют миллион или более отдельных ядер ЦП. Примеры включают:
Gyoukou ( яп . 暁光, Hepburn : gyōkō , рассветный свет) — суперкомпьютер , разработанный компаниями ExaScaler и PEZY Computing , с общим количеством процессорных элементов 20 480 000 и 1250 хост-процессорами Intel Xeon D.
Определенные компьютеры с 5 миллионами или более ядер ЦП
Довольно много суперкомпьютеров имеют более 5 миллионов ядер ЦП. Когда есть также сопроцессоры, например, используемые с графическими процессорами, и эти ядра не указаны в количестве ядер, тогда довольно много компьютеров достигли бы этих целей.
Sunway TaihuLight — китайский суперкомпьютер с массовым параллелизмом (10 миллионов ядер ЦП) , некогда один из самых быстрых суперкомпьютеров в мире, использующий многоядерную архитектуру. [ требуется ссылка ] По состоянию на ноябрь 2018 года это был третий по скорости суперкомпьютер в мире (согласно рейтингу TOP500 ), обеспечиваемый производительностью 40 960 многоядерных процессоров SW26010 , каждый из которых содержал 256 ядер.
^ Олофссон, Андреас; Нордстрём, Томас; Уль-Абдин, Зайн (2014). «Запуск высокопроизводительных энергоэффективных многоядерных архитектур с помощью Epiphany». arXiv : 1412.5538 [cs.AR].
^ Амир, Арнон (11 июня 2015 г.). "IBM SyNAPSE Deep Dive Часть 3". IBM Research. Архивировано из оригинала 21.12.2021.
^ "архитектура клетки".«Архитектура Cell не похожа ни на что, что мы когда-либо видели в массовых микропроцессорах, она по своей конструкции ближе к многопроцессорным векторным суперкомпьютерам»
^ Рик Мерритт (20 июня 2011 г.), «OEM-производители демонстрируют системы с микросхемами Intel MIC», www.eetimes.com , EE Times
^ Баркер, Дж.; Боуден, Дж. (2013). «Многоядерный параллелизм через OpenMP». OpenMP в эпоху маломощных устройств и ускорителей . IWOMP. Конспект лекций по информатике, том 8122. Springer. doi :10.1007/978-3-642-40698-0_4.