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