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

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

Однако выяснилось, что с ростом числа ядер — а на рынке сейчас представлены 4- и 8-ядерные процессоры — одноканальная передача данных все чаще становится причиной для возникновения вынужденных прерываний в работе отдельных ядер, когда им требуется ожидать завершения передачи данных между другими парами. Внедрение специальных приемов диспетчеризации помогает сокращать задержки, но избавиться от них целиком не удается. Более того, по мере роста количества ядер проблема усложняется.

Группа исследователей из Массачусетского технологического университета (MIT), возглавляемая профессором Ли-Шуань Пех (Li-Shiuan Peh), предложила решение, напоминающее прокладку «внутрипроцессорного Интернета». В рамках этого проекта они анонсировали на недавно прошедшем симпозиуме International Symposium on Computer Architecture модель 36-ядерного процессора, внутри которого реализована собственная сеть для межъядерных взаимодействий.

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

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

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

Нынешняя модель 36-ядерного процессора представлена только как прототип. Однако уже сегодня многие оценивают его как «перспективный». В настоящее время исследователи MIT занимаются доработкой ОС Linux, чтобы на реальных примерах доказать более высокую эффективность новой архитектуры по сравнению с традиционной. Они также планируют выпустить описание процессорного кода на языке Verilog.


Версия для печати