ScholarGate
Ассистент

Многоядерные и многопроцессорные системы на кристалле

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

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

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

Scope

Эта тема охватывает организацию многоядерных чипов: количество и гетерогенность ядер, иерархии общей и частной кэш-памяти, межкристальные соединения и масштабирование производительности с количеством ядер согласно закону Амдала. Она рассматривает аппаратную структуру многоядерных систем. Она исключает механизмы когерентности и согласованности, общие для других тем с общей памятью (общая память и когерентность, протоколы когерентности кэша) и одноядерный движок (микроархитектура процессора).

Core questions

  • Почему процессоры перешли от одного быстрого ядра к нескольким ядрам?
  • Как организованы ядра, кэши и межсоединения на кристалле?
  • Как закон Амдала ограничивает ускорение от добавления ядер?
  • Когда гетерогенные ядра предпочтительнее идентичных?

Key concepts

  • многопроцессорная система на кристалле
  • параллелизм на уровне потоков
  • общие и частные кэши
  • внутрикристальное соединение
  • количество ядер и масштабирование
  • гетерогенные (big.LITTLE) ядра
  • закон Амдала
  • ограничения по мощности и тепловыделению

Key theories

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

Mechanisms

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

Clinical relevance

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

History

Исследовательские многопроцессорные системы на кристалле, такие как Hydra Стэнфордского университета в 1990-х годах, предвосхитили эру многоядерности. Сбой масштабирования частоты примерно в 2004–2005 годах подтолкнул основные ЦП к двухъядерным, а затем и многоядерным конструкциям. Гетерогенные архитектуры, сочетающие производительность и эффективность ядер, позже стали обычным явлением, особенно в мобильных и портативных процессорах.

Debates

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

Key figures

  • Gene Amdahl
  • John L. Hennessy
  • David A. Patterson
  • Kunle Olukotun

Related topics

Seminal works

  • hennessy2019
  • amdahl1967

Frequently asked questions

Почему удвоение количества ядер не удваивает производительность?
Согласно закону Амдала, любая часть программы, которая должна выполняться последовательно, ограничивает выгоду от добавления ядер. Коммуникация, синхронизация и конкуренция за общие ресурсы добавляют дополнительные накладные расходы, поэтому реальное ускорение обычно значительно ниже идеального линейного масштабирования.
Что такое гетерогенные (big.LITTLE) ядра?
Гетерогенные конструкции сочетают большие, высокопроизводительные ядра с меньшими, энергоэффективными ядрами на одном чипе. Система планирует требовательную работу на больших ядрах, а легкую или фоновую работу — на малых ядрах, повышая энергоэффективность без ущерба для пиковой производительности.

Methods for this concept

Related concepts