Производители процессоров пытаются убедить
потребителей и программистов в том, что новые процессорные ядра - это
благо, так как с помощью них растет производительность систем,
снижается потребление в расчете на ватт и повышаются возможности чипов
по одновременной обработке информации. Однако для программистов новые
процессорные ядра - это новая головная боль. Многие из софтверных
компаний уже сообщали, что их разработки просто не оптимизированы для
чипов с количеством ядер более 8 или 16.
На днях инженеры из
Массачусетского технологического института (МТИ) сообщили, что
современные операционные системы окажутся непригодными, когда
количество ядер на одном кристалле процессора превысит 48. Здесь
говорят, что когда чипы подойдут к этому рубежу, то разработчикам ОС
придется в значительной мере переписывать свои разработки.
В то
же время в Массачусетсе говорят, что количество ядер в процессорах
сейчас увеличивается медленнее, чем ожидалось. Первый массовый
четырехъядерный чип компании Intel (Kensfield) появился почти спустя
полтора года после релиза в мае 2005 года процессора Intel Smithfield с
двумя ядрами. Сейчас топовыми являются 12-ядерные чипы AMD, хотя
производители обещают 16-ядерные чипы в не таком уж далеком будущем.
В Intel говорят, что когда процессоры компании выйдут за 16-ядерный
рубеж, то увеличивать их мощность в дальнейшем планируется за счет
наращивания ядер и оптимизации программного обеспечения. Строго говоря, в
Intel и AMD говорят, что современное программное обеспечение далеко не
лучшим образом задействует многоядерность и мощности современных
процессоров загружены не всегда оптимально.
Более актуальным
этот призыв становится в контексте планов производителей по интеграции
центральных и графических процессоров в единое аппаратное решение.
Инженер МТИ Франц Каашоек говорит, что даже код современных ОС, уже
проектируемых под многоядерность, в случае с 48-ядерными процессорами
будет требовать доработки. Правда, в случае с Linux такие доработки не
будут слишком масштабными. В рамках эксперимента группа инженеров
симулировала работу 48-ядерного чипа за счет подключения шестки
8-ядерных чипов, создав условия их равной активации.
"Начиная с
некоторой точки, добавление новых ядер не только не ускоряет, но и
замедляет ОС. Это можно объяснить избыточными процессами и работой,
которую приходится дублировать в разных ядрах, задерживая информацию в
оперативной памяти, а до тех пор, пока память занята, ее нельзя
использовать для других задач. Таким образом, операционные системы
начинают напоминать бутылочное горлышко", - говорит он.
Таким
образом, исследователи говорят, что из сложившейся ситуации у
профессионалов компьютерного рынка есть два выхода. Первый - как-то
иначе объединять ядра, второй - полностью или в значительной степени
переписывать ОС на уровне ядра.
"Современным программам и
операционным системам лишь предстоит научиться работать с
масштабируемым оборудованием", - говорят в МТИ.
В то же время
инженеры говорят, что переписывать ядра систем можно сохранив их
основной смысл, но изменив логику исполнения и добавив множественные
системы распараллеливания данных с последующей сверкой результатов.
"Радует, что такие работы уже ведутся. К примеру, Linux-сообщество уже
активно модифицирует ядро", - говорит Каашоек.