пятница, 18 марта 2011 г.

С включенным hyperthreading все процессоры - виртуальные

Это перевод When hyperthreading is enabled, all the processors are virtual. Автор: Реймонд Чен.

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

Ну, это как если кто-то задаст вопрос: "Нужно ли мне использовать пульт ДУ, чтобы запереть моё кенгуру?". Вы можете ответить буквально ("Нет"), но тогда человек, задающий этот вопрос, придёт к неверному выводу ("Вау, кенгуру самозапираются!"). Robert Flaming вспоминает похожую аналогию с бальзовым деревом и гвоздями.

Вот пример вопроса, который страдает от недопонимания:
Я только что включил hyperthreading на моей Xenon машине с двумя процессорами. Теперь диспетчер задач показывает 4 процессора вместо двух. Какие из них являются физическими процессорами, а какие - виртуальными?
Когда вы включаете hyperthreading, каждый физический процессор начинает работать так, как если бы он был двумя виртуальными процессорами. С точки зрения Диспетчера Задач, ваша машина имеет четыре виртуальных процессора. Два процессора, ассоциированные с одним физическим процессором, являются полностью эквивалентными. Нельзя сказать, что один из них - физический, а второй - виртуальный. Они оба виртуальные и оба эквивалентны в разделении ресурсов физического процессора. Когда вы устанавливаете привязку к процессорам, вы привязываетесь именно к виртуальным процессорам.

Чтобы узнать, какие виртуальные процессоры ассоциированы с одним физическим процессором, вы можете вызвать функцию GetLogicalProcessorInformation.

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.