Windows и многоядерность процессоров

Windows и многоядерность процессоров

С тех пор, как многоядерные процессоры подешевели и стали доступны даже в начальных конфигурациях ПК, споры о возможности той или иной версии Windows использовать их эффективно не затихают. Понятно, что старые системы вроде Windows 9x/ME/NT. 4.0 остались за бортом споров – многие из них даже не запустятся на современном железе. Но три последние версии – XP, Vista, 7 и 8 продолжают борьбу.

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

1. Сама по себе, Windows любой версии запускается на ПК с любым количеством ядер. Благо, в основе всех них лежит архитектура NT, изначально предназначенная для серверов. То есть система увидит и точно отобразит количество ядер процессора, что уже хорошо.

2. Как известно, система в работе оперирует не запускаемыми приложениями, а процессами и потоками, которые хорошо видны в Диспетчере Задач. К сожалению, XP и 7 ведут себя в этом случае примерно одинаково: система может распределить потоки на разные физические процессоры, но при этом делает это исключительно редко. Проблема в том, что в самой системе лишние процессоры никак не используются, и все зависит от внешних приложений – оптимизированы ли они? За игры можно не беспокоиться – каждая игра в отдельности загружает процессоры эффективным образом (или стремится к этому). 3D системы, в том числе и деловые, можно приравнять к играм. Кодирование видео и мультимедиа – более сложный вопрос. С одной стороны, процессоры тоже используются, а, с другой, фактором снижения общей производительности часто становится дисковая подсистема. Какой смысл грузить более одного процессора, если он обеспечивается плавную работу с диском на максимальной скорости? Для программ вроде офисных лишние процессоры и вовсе не нужны.

3. С неудачей Vista ее вообще стали исключать из обзоров, зато в 8 нашлось много скрытых возможностей по задействованию многопроцессорности, что было обеспечено новыми вариантами процессорной архитектуры NUMA и прочими. Во всяком случае, Windows 7 самостоятельно может использовать несколько ядер для работы. Но при этом часть производительности тратится на излишние эффекты вроде интерфейса Aero и «жадную» систему индексации файлов, что и заставляет пользователей все чаще ждать чуда от Windows XP. Но чуда не будет – чудо обеспечиваются лишь оптимизированные программы. И вот тут нет конкуренции Nix-системам, способными задействовать любое число процессоров.