MCDRAM

MCDRAM — это трёхмерная оперативная память с произвольным доступом (DRAM), используемая в процессоре Intel Xeon Phi с кодовым названием Knights Landing. Является вариантом технологии Hybrid Memory Cube (гибридный модуль памяти), разработанным в сотрудничестве с компанией Micron Technology, и конкурирует с технологией High Bandwidth Memory (HBM).

Описание

Многоядерная архитектура процессоров Xeon Phi и их векторные вычислительные блоки позволяют потреблять значительно больший объём данных в секунду, чем могут обеспечить традиционные модули DRAM DIMM. Название «Multi-channel» («многоканальная») отражает наличие у процессора большего числа каналов для доступа к MCDRAM по сравнению с количеством каналов для подключения DIMM[1]. Благодаря большому количеству каналов MCDRAM обеспечивает высокую пропускную способность — до 400+ ГБ/с, при этом задержки сопоставимы с доступом к DIMM.

Физическое размещение MCDRAM на процессоре накладывает ограничения на объём памяти — на момент запуска поддерживалось до 16 ГБ, однако в будущем объём может быть увеличен.

Программирование

Память MCDRAM может быть разделена при загрузке системы: часть используется как кэш для более удалённой памяти DDR, а остальная часть отображается в физическое адресное пространство.

Приложение может запрашивать страницы виртуальной памяти, которые будут размещены либо непосредственно в удалённой DDR, либо в части DDR, кэшируемой MCDRAM, либо в той части MCDRAM, которая не используется как кэш. Один из способов управления этим — использование API memkind[2].

При использовании MCDRAM в качестве кэша задержка при промахе (miss), когда требуется доступ и к MCDRAM, и к DDR, немного выше, чем при прямом обращении к DDR, поэтому приложения могут потребовать дополнительной настройки[3], чтобы избежать чрезмерного количества промахов кэша.

Примечания

  1. Ian Cutress. Несколько замечаний о Knights Landing и режимах MCDRAM от Intel с конференции SC15. www.anandtech.com (16 ноября 2015). Дата обращения: 18 апреля 2016. Архивировано 17 ноября 2015 года.
  2. Christopher Cantalupo. User Extensible Heap Manager for Heterogeneous Memory Platforms and Mixed Memory Policies (англ.). memkind.github.io (18 марта 2015). Дата обращения: 18 апреля 2016.
  3. Mike P. (sic). MCDRAM (High Bandwidth Memory) on Knights Landing – Analysis Methods & Tools (англ.). software.intel.com (10 марта 2016). Дата обращения: 18 апреля 2016.

Литература