Чтобы понять заголовок к этому посту, нужно вспомнить песню группы “Аквариум”Человек из Кемерово“. Как обычно, у Гребенщикова не очень понятно, шуточная она или нет. Есть там цитата:

Он скуп на слова, как де Ниро;
С ним спорит только больной.
Его не проведешь на мякине,
Он знает ходы под землей.
Небо рухнет на землю,
Перестанет расти трава –
Он придет и молча поправит все,
Человек из Кемерова.

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

– Так ведь вот-вот Windows 7 выйдет, и проблемки-то все порешает.

Я ушам своим не поверил. Как это, спрашиваю, порешает?

– Ну, я точно не знаю, но вроде под Windows 7 ядра сами начинают использовать на полную, даже на старом софте.

Мне, конечно, жаль было разочаровывать хорошего умного человека. Но я заставил себя сказать, что никакая “семерка”, “восьмерка” или даже “девятка” не способна добавить поддержку многоядерности туда, где ей раньше не пахло. Тогда у меня сомнений не было, но с каждым днем в голове все активнее роились сомнения – а ну как как действительно некая внешняя надстройка способна на лету, пусть и с некоторой потерей эффективности, но все же перехватывать потоки данных, анализировать их, принудительно распараллеливать и нагружать ВСЕ доступные в системе ядра?

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

Ну пожалуйста, скажите мне, что такое возможно – хотя бы в принципе.