Исследователи из Intel и Университета Северной Каролины ускорили обмен данными между ядрами ЦП в 2-12 раз

в 9:35, , рубрики: intel, NoC, Процессоры, сеть на кристалле, суперскалярность, метки:

Исследователи из Intel и Университета Северной Каролины ускорили обмен данными между ядрами ЦП в 2-12 раз - 1
Микроархитектура седьмого поколения процессоров Intel Core (бывшее кодовое название Kaby Lake), которые появятся в продаже в конце 2016 года. Фото: Intel

Группа исследователей из Университета Северной Каролины и компании Intel разработали технологию аппаратного ускорения CAF (Core to Core Communication Acceleration Framework), которая способна значительно ускорить обмен данными между ядрами процессора. Устранив это бутылочное горлышко, производители наконец-то смогут наращивать количество ядер в ЦП без экспоненциального роста служебного трафика между ними.

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

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

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

Исследователи предлагают реализовать такую координацию ресурсов на аппаратном уровне. В реферате подготовленной научной работы они отмечают, что «взаимодействие через разделяемую память по своей природе включает инвалидации для соблюдения когерентности и промахи в кэше, из-за чего сильно возрастают накладные расходы и возникает большое количество [лишнего] сетевого трафика».

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

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

«Такой подход, который мы назвали фреймворком для ускорения коммуникации между ядрами (CAF), улучшает скорость обмена данными в 2-12 раз, — заявил Ян Солихин (Yan Solihin), профессор электротехники и вычислительной техники в Университете Северной Каролины и соавтор научной работы. — Другими словами, скорость выполнения — от начала до конца — как минимум вдвое больше».

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

Ключевой элемент нового фреймворка — аппаратный модуль для управления очередью Queue Management Device (QMD). Он способен выполнять простые вычислительные функции и аппаратно подключается к коммуникационной подсистеме, то есть к NoC (сеть на кристалле — мини-интернету внутри процессора).

Исследователи из Intel и Университета Северной Каролины ускорили обмен данными между ядрами ЦП в 2-12 раз - 2
Иллюстрация из статьи «Сеть на кристалле — мини-интернет внутри процессора»

Модуль QMD берёт на себя задачу управления очередью и синхронизации параллельного взаимодействия ядер, без каких-либо дополнительных программных инструкций на ядрах ЦП. Это как аппаратный маршрутизатор в сети.

Перспективная разработка важна в свете постоянного увеличения ядер на современных процессорах. Это вполне естественный процесс, поскольку рост тактовой частоты практически остановился в силу естественных физических ограничений. У производителей не остаётся другого выхода, кроме распараллеливания вычислений.

В таких условиях синхронизация параллельного взаимодействия между ядрами становится тем бутылочным горлышком, которое ограничивает производительность системы. При условии эффективной маршрутизации трафика между процессорными ядрами можно продолжить масштабирование архитектуры ЦП и создавать процессоры с десятками и сотнями ядер с почти линейным масштабированием производительности. Эффективная маршрутизация трафика между ядрами — ключевая технология, которая необходима для дальнейшего масштабирования многоядерной архитектуры ЦП.

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

Научная работа "CAF: Core to Core Communication Acceleration Framework" будет представлена на 25-й конференции по параллельным архитектурам и методам компиляции PACT '16, которая состоится 11-15 сентября 2016 года в Хайфе (Израиль).

Авторы изобретения — Ипэн Ван (Yipeng Wang, Университет Северной Каролины), Жэнь Ван (Ren Wang), Эндрю Хендрич (Andrew Herdrich) и Джеймс Цай (James Tsai) (все — Intel Corp.), а также ведущий автор научной работы — вышеупомянутый Ян Солихин (Yan Solihin) из Университета Северной Каролины и Национального научного фонда США.

Статья вошла в сборник докладов Proceedings of the 2016 International Conference on Parallel Architectures and Compilation, стр. 351-362, doi:10.1145/2967938.2967954. Сборник докладов, вероятно, раздадут участникам конференции и опубликуют в интернете.

Автор: alizar

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js