Многоядерные процессоры

Проект ATAC

Показывать лекцию целиком

Предпосылки

Направление развития современных микропроцессоров вполне понятно — постепенный переход к многоядерным системам. Многие производители заявляют о достижении 1000 и более ядер на кристалле примерно к середине следующего десятилетия ( $$\sim$$ 2015). Но существует проблема: нынешние процессорные архитектуры, а особенно межъядерные коммуникационные механизмы, плохо приспособлены к масштабированию до тысячи вычислительных ядер. Это же касается и способов их программирования.

Архитектура АТАС [39,40] объединяет оптическую широковещательную сеть с ячеистой (плиточной) мультиядерной архитектурой для значительного увеличения производительности, энергетической масштабируемости и упрощения программирования.

Существующие многоядерные архитектуры не позволяют следовать закону Мура для некоторых важных классов параллельных приложений. Ограничения накладываются стоимостью взаимодействий ядер и скоростью обмена с внешней памятью. Целью проекта АТАС является решение этих проблем путем внедрения технологии оптической связи.

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

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

Такие действия, как доставка инструкций ядрам, могут создать сложности даже для SIMD-архитектур. Существующие техники программирования не предусматривают оптимизации межпроцессорных коммуникаций для достижения высокой производительности. Широковещательные сообщения и сообщения "все-ко-всем", используемые в протоколах синхронизации, согласования или распределения инструкций, не имеют прямой аппаратной поддержки и эмулируются путем многократных передач типа "точка-точка".

Основные идеи архитектуры ATAC

Процессорная архитектура АТАС предусматривает решение этих проблем путем организации оптической сети вместо электрических каналов и шин. Проект нацелен на интеграцию оптоэлектронных компонент со стандартными КМОП-схемами. АТАС предусматривает частотное мультиплексирование — передачу сигналов на различных длинах волн — до 64 частотно разнесенных каналов. Оптические линии помимо прочего передают данные на более высоких скоростях, чем электрические линии (функция коэффициента преломления света в сравнении с задержками RC-цепей, диэлектрик, окружающий связи, и задержка, необходимая для ретрансляции электрического сигнала).

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

(рис 7.1) АТАС-архитектура

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

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

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

Последние годы отмечены высокими успехами микро- и нанооптических технологий, которые позволяют переносить наработки по коммуникациям на длинные расстояния на масштабы локального компьютера, даже в пределах микросборок и интегральных схем [42-43-44-45].

Исследования [46] показали, что оптические устройства могут быть построены при помощи стандартного КМОП-процесса, оптические линии будут способны заменить длинные связи на кристалле и глобальные шины [46]. ATAC-архитектура возможна именно благодаря последним успехам в интеграции электронных и оптических схем. Архитектура разработана с учетом реального состояния дел в области и пониманием ограничений как оптической, так и классической полупроводниковых технологий.

(рис 7.2) Сравнение энергоэффективности передачи оптического и электрического сигналов

Ключевые элементы технологии АТАС

Ключевыми элементами технологии, присутствующими на АТАС- кристалле, являются: так называемый "оптический источник питания" — источник света, волноводы для передачи света, модуляторы для помещения световых сигналов в волноводы, детекторы для приема сигналов. В АТАС источником света (оптическим питанием) служат внешние лазеры. Световой поток направляется в накристальные световоды. Энергопотребление внешнего лазера — примерно 1,5 Вт с выходом примерно 0,2 Вт в виде оптического излучения, попадающего в световод. Для использования схемы разделения частот предполагается наличие нескольких источников лазерного излучения. Световоды представляют собой встроенные каналы, по которым распространяется свет. Они направляют и распределяют при помощи комбинирования материала с большим коэффициентом преломления в центре и с меньшим по краям канала. Световоды могут быть изготовлены как из кремния, так и из полимера. С учетом того, что кремниевые световоды могут быть размещены на кристалле более компактно и что модуляторы для кремниевого световода намного более компактные, чем для полимерного, в АТАС предполагается создание кремниевых световодов. Тем более что кремниевые световоды могут быть изготовлены в стандартном КМОП-процессе.

Требуются световоды с потерями менее, чем 0,3 дБ/см и емкостью по мощности не менее 10мВт. И то и другое требование в кремнии достижимо. Для обмена информацией используются следующие компоненты: источник света, модулятор, оптический фильтр, электронный драйвер модулятора. Оптический фильтр представляет собой кольцевой резонатор, настроенный на определенную длину волны, — определяется размерами резонатора (также им определяется расстояние между длинами волн для схемы WDM). Дальнейшая настройка может быть осуществлена путем изменения температуры резонатора или его заряда. Модулятор представляет собой оптическое устройство, которое формирует цифровой сигнал, изменяя коэффициент поглощения. Модуляторы применяются для преобразования электрического сигнала в оптический — своего рода оптический коммутатор, помещающий оптический сигнал в световод.

(рис 7.3) Структура кольцевого оптического резонатора

Модуляторы, требуемые для архитектуры АТАС, должны иметь параметры, которые ориентировочно будут достигнуты в 2012 году: потери на включение — 1 дБ, площадь — менее 50 кв. мкм, скорость модуляции — 20 Гб/с, энергия, необходимая на переключение, — менее 25 фДж и общее потребление — порядка 25 мкВт/ГГц. На приемной стороне для приема сигнала используется дополнительный компонент — оптический фильтр для приема сигнала и преобразования его в электрический вид [39,41].

Оптический фильтр (кольцевой резонатор) используется для извлечения света нужной длины волны из световода и транспортировки его к фотодетектору. Так же как и модулятор, оптический фильтр должен быть настроен на конкретную длину волны. Фотодетектор в данном случае должен быть сверхчувствительным приемником. Для архитектуры АТАС требуются следующие параметры: для 11-нм технологичного процесса — чувствительность более 1 А/Вт, ширина полосы пропускания более 3 дБ на частотах более 20 ГГц, занимаемая площадь — менее 20 кв. мкм, паразитная емкость менее 1 фФ [39]. При данной технологии выход детектора нуждается в усилении. Как правило, начиная с технологии 22 нм, меньшая емкость входа транзистора позволяет фотодетектору управлять цифровыми схемами. На рисунке вышеперечисленные компоненты изображены вместе. Для одного ядра показана передающая часть, для другого — принимающая.

(рис 7.4) Схема оптической передачи между двумя ядрами

Для всех ядер, входящих в архитектуру, узлы приема-передачи оптических данных одинаковые. Сигналы модулятора используются для посылки 0 или 1 в сеть. Драйвер модулятора состоит из нескольких инверторов, которые управляют емкостной нагрузкой модулятора. Модулятор помещает свет на волне предварительно настроенной длины в световод, кодируя тем самым 0 или 1. Оптически кодированные данные распространяются по световоду на скорости, равной примерно одной трети скорости света, и принимаются фильтром, настроенным на ту же длину волны. Кванты света улавливаются приемником и передаются приемному регистру на приемной стороне [).

Структура межъядерных связей

Архитектура АТАС представляет собой "плиточную/ячеистую" многоядерную архитектуру, сочетающую технологию электрических соединений с оптической накристальной сетью. Применяется связанный двумерный массив простых вычислительных ядер, каждое из которых содержит одиночный или двойной RISC-процессор и кэш данных первого уровня. ATAC использует протокол распределенных директорий. Часть распределенной директории расположена в каждом узле.

Ядра в АТАС связаны двумя сетями — электрической EMesh и оптико-электрической ANet. ENet — обычная двумерная электрическая сеть типа "точка-точка", аналогичная существующим в обычных мультипроцессорах. EMesh идеальна для предсказуемых, близких взаимодействий. ANet предлагает технологию для организации оптической накристальной сети, основанную на технологии оптической памяти. Ядро сети ANet составляет ). Сеть ANet содержит 64 оптически соединенных кластера, включающих в себя небольшие электрические структуры, служащие для взаимодействия с оптической сетью, — это сети ENet и BNet.

ANet используется обычно для осуществления передачи данных между удаленными ядрами или для глобальных передач в рамках сети (широковещательные передачи).

Ключ к эффективной организации глобальных коммуникаций в пределах кристалла — оптическая сеть ONet. Она обеспечивает связь между отдельными конечными точками, называемыми хабами. Хабы соединены между собой световодом, проходящим через весь кристалл, формируя замкнутое кольцо (рис 7.5). При помощи модулятора, оптических фильтров и приемника хаб имеет возможность передавать и принимать данные из световодов. Сигнал, посланный одним из хабов, быстро достигает остальных. Таким образом, любая передача в сети может быть широковещательной. Для передачи независимых данных применяется частотное мультиплексирование каналов. Каждый хаб имеет фильтры, настроенные на уникальную длину волны, и фильтры, позволяющие ему принимать сигналы на всех длинах волн. Эта возможность используется при организации глобальных передач, синхронизации ядер, управлении сетью. В дополнение к этому повышенная скорость передачи исключает разнородную задержку распространения сигнала, зависящую от расстояния между ядрами, — в любой паре хабы взаимодействуют между собой с малой фиксированной задержкой, вместо задержки на один цикл на узел в связях типа "точка-точка". В общем, функциональность сети ONet можно сравнить с полносвязной сетью с двунаправленными связями между узлами и с дополнительной функцией широковещания. Частотное разделение каналов позволяет задействовать один световод для нескольких перекрывающихся передач в различных направлениях (для сравнения, электрическая связь обычно используется для передачи одного бита). Для многих сетевых операций, трудно реализуемых в электрических сетях, применение АТАС существенно увеличивает эффективность. ONet может масштабироваться до как минимум 64 хабов (возможно до 100). Количество длин волн, на которые могут быть настроены фильтры, ограничено минимально необходимым расстоянием, спектральной шириной канала и общей шириной полосы излучения в питающем световоде. Также существуют ограничения по общему количеству энергии, которое может передать световод в отношении к количеству энергии, требуемому детектором для приема сигнала, и по максимальной длине волновода, зависящей от потерь распространения.

(рис 7.5) Организация связи между модулями АТАС архитектуры на различных уровнях

Указанные ограничения могут быть обойдены использованием нескольких волноводов и распределением каналов передачи данных между ними. Как правило, при этом площадь, необходимая для реализации световода, может также стать ограничением. Оптические компоненты сети и сама сеть могут быть вынесены на отдельный уровень КМОП-стека и накладываться на электронные компоненты, к которым они подключаются. К примеру, на кристалле площадью 400 мм2 может разместиться оптическая сеть с 384 хабами. Для рассматриваемого случая ONet соединяет 64 одинаковых кластера при помощи 64-битной оптической шины, проложенной по всему кристаллу. Каждый кластер содержит 16 вычислительных ядер и хаб сети ONet. Внутри кластера ядра связаны между собой и с оптическим хабом двумя сетями — ENet и BNet. ENet используется только для передачи данных от ядер кластера к хабу ONet. BNet — широковещательная электрическая сеть для передачи данных от оптической сети вычислителям.

Передача данных и согласование кэш-памяти

Более детально процесс передачи данных с применением сети ANet показан на рис 7.6. Сообщения ядер достигают хаба, который, в свою очередь, пересылает их в сеть ONet на своей уникальной длине волны. Это позволяет двум хабам передавать данные одновременно без интерференции. ONet состоит из нескольких световодов: 64 для данных, 1 для управления и несколько для метаданных. Световоды метаданных служат для указания типа передаваемого сообщения (чтение памяти, данные и пр.) или как тэг сообщения (для устранения двусмысленности при нескольких сообщениях от одного источника). Хаб приемника принимает оба значения последовательно в FIFO-буфер, связанный с конкретным отправителем. Затем данные пересылаются вычислительным ядрам через BNet. Оптическая часть позволяет эффективно реализовывать широковещательную передачу с большей скоростью и меньшими затратами на регенерацию сигнала.

(рис 7.6) Процесс передачи данных с использованием сети ANet

Ядра в АТАС — простые процессоры с кэшем данных и команд первого уровня. Когерентность кэшей поддерживается при помощи протокола, известного как ACKwise. Кэши поддерживают когерентность при помощи протокола распределенных директорий MOESI.

Директории распределены равномерно между ядрами, более того, каждое ядро является "домом" для определенного пула адресов (распределяется статически). рис 7.7) предположим, что обращение к директории кэша всегда приводит к промаху (необходимости синхронизации кэша). Стрелками на рисунке обозначены типовые операции по согласованию кэшей: промах по записи по адресу А ядром а. В данном примере ядро б является "домом" адреса А, и начальное состояние адреса А в кэше — "занято" (O-state) ядром с. Трафик по согласованию кэшей передается по сети ANet. Последовательность действий для согласования кэшей для данного случая будет следующей:

(рис 7.7) Пример согласования кэшей различных ядер
  • процессор в ядре а пытается осуществить запись по адресу А и получает ошибку записи;
  • ядро а посылает запрос на запись ядру б, к которому относится адрес А;
  • ядро б не имеет данных в кэше, но указывается, что этот адрес занят ядром с. Ядро б посылает запрос на запись по этому адресу от имени ядра а;
  • ядро с пересылает данные адреса А ядру а и обновляет состояние кэша для этого адреса до "недействительный";
  • ядро с посылает ACK-сигнал в директорию ядра б;
  • линия кэша, содержащая адрес А, обновляется на ядре а, и линия получает статус "модифицирована";
  • процессор ядра а производит запись по адресу А.
  • Когда ядрам необходимо обратиться к внешней памяти, они делают это при помощи нескольких встроенных в кристалл контроллеров памяти. Каждый контроллер памяти замещает кластер ядер и, таким образом, имеет свой выделенный оптический хаб. После получения запроса по оптической сети он обращается к внешним DRAM-модулям посредством стандартных линий ввода-вывода. Результаты передаются в оптическую сеть. Изменяя количество контроллеров памяти и количество кластеров, можно на различных АТАС-процессорах достигать различных значений показателей пропускной способности подсистемы памяти и вычислительной мощности. Основная задача контроллера памяти — преобразовать запросы от процессорных ядер в транзакции на шине памяти. Выбор технологии шины, таким образом, не зависит от архитектуры накристальной сети.

    Вполне допустим вариант использования оптических интерфейсов как на ввод-вывод, так и для шины памяти. Это даст преимущество в пропускной способности и потребляемой мощности.

    Каждый оптический вывод может поддерживать до 64 длин волн со скоростями до 20 ГГц. Скорость передачи данных будет ограничена скоростью работы электронных компонент, управляющих оптическим потоком. Предполагается, что скорость в 5 ГГц вполне может быть достигнута. При этом полоса пропускания оптического вывода может достигать 320 Гб/с (40 Гб/с). Для сравнения, 64-битная DDR3 имеет пиковую пропускную способность 12,8 Гб/с. Поскольку оптическая шина памяти состоит только из одного световода, уменьшается количество выводов, и это при увеличении пропускной способности практически в три раза. Все это де- лает применение оптического ввода-вывода востребованным для АТАС- процессоров с несколькими контроллерами памяти.

    Краткие итоги

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

    Архитектура ориентируется на 11-нм техпроцесс, который, по мнению ее разработчиков, может быть реализован к середине десятилетия (ориентировочно 2012-2016 гг.).

    Контрольные вопросы

  • В чем состоят принципы построения многоядерных систем на основе технологии ATAC?
  • Укажите способы передачи данных в ATAC.
  • Опишите структуру и принцип работы оптического приемопередатчика (модулятора и фильтра).
  • Каким образом осуществляется согласование кэшей в ATAC?
  • Упражнения

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