Главная / Без рубрики / Сети на кристалле (NoC — Network‑on‑Chip) для многоядерных систем

Сети на кристалле (NoC — Network‑on‑Chip) для многоядерных систем

Введение

Сеть на кристалле (NoC, Network‑on‑Chip) — это коммуникационная инфраструктура внутри однокристальной системы (SoC), обеспечивающая обмен данными между многочисленными IP‑блоками: процессорными ядрами, блоками памяти, ускорителями, контроллерами периферии.

С ростом числа ядер (от 4 до 100+ на чипе) классические шины (AXI, AHB) и кроссбары становятся неэффективны из‑за:

  • ограниченной пропускной способности;
  • высоких задержек при масштабировании;
  • сложности маршрутизации в гетерогенных системах.

NoC решает эти проблемы за счёт:

  • пакетной передачи данных;
  • распределённой маршрутизации;
  • масштабируемой топологии (решётка, тор, дерево).

В статье рассмотрены:

  • архитектура и компоненты NoC;
  • топологии и протоколы;
  • механизмы маршрутизации и управления трафиком;
  • методы анализа производительности;
  • примеры реализаций и перспективы.

1. Архитектура NoC: основные компоненты

1.1. Сетевые узлы (Network Interfaces, NI)

  • Функция: преобразование потоков данных от IP‑блоков в сетевые пакеты.
  • Задачи:
    • буферизация входных/выходных данных;
    • инкапсуляция в пакеты (добавление заголовков);
    • согласование тактовых доменов;
    • поддержка QoS (приоритеты, гарантии задержки).
  • Реализация: на RTL (VHDL/Verilog) с учётом требований IP‑блока.

1.2. Коммутаторы (Routers)

  • Функция: приём, буферизация, маршрутизация пакетов между портами.
  • Структура порта:
    • входной буфер (FIFO);
    • блок арбитража (выбор пакета для передачи);
    • выходной драйвер.
  • Алгоритмы арбитража:
    • round‑robin;
    • приоритетный;
    • WFQ (Weighted Fair Queuing).

1.3. Каналы связи (Links)

  • Тип: двунаправленные или однонаправленные.
  • Ширина: 8–64 бита (зависит от пропускной способности).
  • Тактование: синхронные (common clock) или асинхронные (handshake).
  • Физическое исполнение: металлические трассы на кристалле с буферами.

1.4. Протоколы передачи

  • Низкоуровневый: передача битов по каналу (LVDS, current‑mode logic).
  • Канальный уровень: кадрирование, обнаружение ошибок (CRC), управление потоком (flow control).
  • Сетевой уровень: маршрутизация (заголовки с адресом назначения).
  • Транспортный уровень: гарантии доставки (reliable/unreliable), сегментация.

2. Топологии NoC

2.1. 2D‑решётка (Mesh)

  • Структура: узлы в строках и столбцах, связь по X/Y.
  • Плюсы:
    • регулярность (упрощает размещение и трассировку);
    • масштабируемость до десятков узлов;
    • предсказуемые задержки.
  • Минусы:
    • рост диаметра сети при увеличении размера;
    • «горячие точки» у центральных узлов.
  • Применение: многоядерные CPU (Intel, AMD), GPU.

2.2. Тор (Torus)

  • Структура: решётка с «скрученными» границами (циклические связи).
  • Плюсы:
    • меньший диаметр сети, чем у решётки;
    • равномерное распределение нагрузки.
  • Минусы: сложность физического соединения на кристалле.
  • Применение: суперкомпьютерные ускорители.

2.3. Дерево (Tree)

  • Структура: иерархические коммутаторы (корень, ветви, листья).
  • Плюсы:
    • низкая задержка для локальных обменов;
    • экономия площади при малой глубине.
  • Минусы:
    • узкие места у корня;
    • неравномерная пропускная способность.
  • Применение: системы с доминирующим центральным процессором.

2.4. Кольцо (Ring)

  • Структура: узлы соединены в кольцо, пакеты передаются по кругу.
  • Плюсы:
    • простота реализации;
    • низкое энергопотребление.
  • Минусы:
    • задержка растёт с числом узлов;
    • один канал на все обмены.
  • Применение: малые SoC с 4–8 ядрами.

2.5. Полностью связная (Fully Connected)

  • Структура: каждый узел соединён с каждым.
  • Плюсы: минимальная задержка, максимальная пропускная способность.
  • Минусы: квадратичный рост числа соединений (N2), немасштабируема.
  • Применение: очень малые системы (2–4 узла).

3. Механизмы маршрутизации

3.1. Детерминированная маршрутизация

  • Принцип: фиксированный путь от источника к приёмнику.
  • Примеры:
    • XY‑маршрутизация в решётке (сначала по X, потом по Y);
    • shortest path (кратчайший путь по числу переходов).
  • Плюсы: простота, низкие накладные расходы.
  • Минусы: уязвимость к блокировкам, неравномерная загрузка.

3.2. Адаптивная маршрутизация

  • Принцип: выбор пути в зависимости от текущей загрузки сети.
  • Методы:
    • локальная адаптация (на основе очередей соседних коммутаторов);
    • глобальная адаптация (с учётом метрик всей сети).
  • Плюсы: балансировка нагрузки, устойчивость к «горячим точкам».
  • Минусы: сложность реализации, дополнительные задержки на принятие решений.

3.3. Многопутевая маршрутизация (Multipath)

  • Принцип: использование нескольких путей для одного потока.
  • Цели:
    • увеличение пропускной способности;
    • отказоустойчивость.
  • Проблемы:
    • нарушение порядка пакетов;
    • усложнение буферизации.

4. Управление трафиком и QoS

4.1. Классы трафика

  • Критичный по задержке (real‑time): управление роботом, видео.
  • Критичный по пропускной способности (bandwidth‑intensive): копирование памяти, стриминг.
  • Фоновый (background): обновления, логирование.

4.2. Механизмы QoS

  • Приоритетные очереди в коммутаторах.
  • Полоса пропускания (bandwidth reservation).
  • Гарантии задержки (delay bounds).
  • Политики сброса (drop policies) для перегрузки.

4.3. Управление потоком (Flow Control)

  • Цель: предотвращение переполнения буферов.
  • Методы:
    • stop‑and‑go (пауза при заполнении);
    • credit‑based (выдача «кредитов» на отправку);
    • виртуальные каналы (virtual lanes) для изоляции потоков.

5. Анализ производительности NoC

5.1. Ключевые метрики

  • Пропускная способность (throughput): Мбит/с на канал/сеть.
  • Задержка (latency): время от отправки до приёма пакета (в тактах или нс).
  • Энергопотребление: Дж/бит.
  • Площадь: мм² на коммутатор/канал.
  • Надёжность: вероятность потери пакета, устойчивость к отказам.

5.2. Методы оценки

  • Симуляция:
    • RTL‑симуляция (ModelSim, VCS);
    • системная симуляция (gem5, SystemC);
    • специализированные NoC‑симуляторы (Noxim, BookSim).
  • Аналитические модели:
    • теория очередей (M/M/1, M/G/1);
    • графовые модели (диаметр, средняя длина пути).
  • Аппаратные прототипы:
    • FPGA‑эмуляция;
    • тестовые чипы.

6. Примеры реализаций

6.1. Intel Many Integrated Core (MIC)

  • Топология: 2D‑решётка.
  • Особенности:
    • 60+ ядер на чипе;
    • кольцевые буферы в коммутаторах;
    • поддержка когерентности кэшей.

6.2. Tilera TILE‑Pro

  • Топология: 2D‑решётка с виртуальными каналами.
  • Особенности:
    • аппаратная поддержка QoS;
    • адаптивная маршрутизация.

6.3. IBM Blue Gene/Q

  • Топология: 5D‑тор.
  • Особенности:
    • сверхнизкая задержка;
    • отказоустойчивая маршрутизация.

6.4. Академические проекты

  • SPIN (Stanford): асинхронная NoC.
  • Heracles (ETH Zurich): энергоэффективная маршрутизация.
  • Octopus (IM

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *