Исследователи создали 36-ядерный процессор

Исследователи создали 36-ядерный процессор

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

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

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

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

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

Источник: MIT News