Использование диспетчера задач при числе логических процессоров 64 и более

Райан Хэйвесон (Ryan Haveson), руководитель группы программ взаимодействия с пользователями, хотел поделиться новостями о работе, проделанной над диспетчером задач с момента выхода предварительной версии Windows для разработчиков. В данной статье вы найдете сведения об обновленных средствах диспетчера задач, предназначенных для управления системами с большим числом логических процессоров. Этот уровень масштабируемости значительно превосходит возможности настольных компьютеров и предназначен для серверных центров и центров данных. Значительная часть усилий по разработке Windows направлена на то, чтобы обеспечить масштабируемость операционной системы в рамках обширного диапазона форм-факторов и архитектур ЦП.

Примечания по комментариям. При вводе комментариев, пожалуйста, придерживайтесь принятых в сообществе стандартов. Просто напоминаю, что для комментариев отсутствует какое-либо модерирование, кроме автоматической защиты от нежелательной почты. – Стивен Синофски (Steven Sinofsky)

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

Приведенные ниже рисунки относятся к компоненту, о котором нас часто просили администраторы серверов и люди, отвечающие за настройку крупных и сложных компьютерных систем с большим количеством логических процессоров. Здесь важно отметить, что мы говорим о логических процессорах, поэтому если вы работаете с системой, поддерживающей технологию Hyper-Threading, то для каждого физического процессора будет использоваться несколько логических процессоров.

Те из вас, кто имеет доступ к одной из таких многопроцессорных систем, знают, что графики использования ЦП в диспетчере задач Windows 7 имеют несколько ограничений:

  • Отсутствие возможности сравнения в режиме реального времени: когда вы смотрите на график использования ЦП для большого числа логических процессоров, вас в первую очередь интересует поиск аномалий. Однако при таком подходе довольно сложно сравнить двигающиеся линейчатые графики использования ЦП за период в 60 секунд, чтобы понять, что же именно происходит.
  • Маленькие графики: когда число логических процессоров достигает значения 64 и более, графики становятся довольно маленькими. Если вы попытаетесь выяснить, какие процессоры перегружены, это окажется довольно утомительным для глаз. При использовании более 256 логических процессоров графики вообще становятся едва различимыми.
  • Поиск идентификатора процессора: даже если вы нашли график с отклонением от нормы, найти идентификатор соответствующего процессора будет непросто.

Ниже приведена вкладка производительности ЦП диспетчера задач Windows 7 для системы со 160 логическими процессорами.

Таблица «Хронология загрузки ЦП» содержит 160 небольших ячеек, в каждой из которых отображается двигающийся линейчатый график использования.
Рис. 1. Старый диспетчер задач, отображающий 160 логических процессоров

Как можно заметить, сравнение ячеек в таблице «Хронология загрузки ЦП» сильно затруднено. Пользователю сложно считывать показания графиков, а сравнить мгновенное значение использования ЦП практически невозможно, поскольку в каждой ячейке отображается двигающийся график за период 60 секунд. Кроме того, все графики в таблице «Хронология загрузки ЦП» выглядят одинаково, что затрудняет поиск идентификатора процессора для конкретного графика. В нашей предыдущей статье о диспетчере задач мы обсудили преимущества использования тепловой карты в качестве средства визуализации для представления и сравнения больших объемов числовых данных. Когда мы анализировали варианты разработки графиков для «многоядерного представления» новой панели мониторинга производительности, тепловая карта подошла как нельзя лучше.

Приведенные ниже снимки экрана текущей сборки Windows 8 дают представление о том, насколько легко можно быстро просмотреть все логические процессоры и определить, какие из них перегружены и недозагружены.

(Примечание. На приведенных ниже снимках экрана показан диспетчер задач для системы со 160 логическими процессорами и с имитируемой рабочей нагрузкой.)

Вкладка «Быстродействие» имеет 7 представлений: ЦП, память, диск 0, диск 4, диск 8, Ethernet и Ethernet. В представлении ЦП таблица логических процессоров имеет вид тепловой карты, на которой процент использования для каждой ячейки указывается с помощью числа и соответствующего цвета.
Рис. 2. Новый диспетчер задач, отображающий 160 логических процессоров

На новом графике ЦП вы также можете получить идентификатор логического процессора, соответствующий каждой записи, с помощью подсказки, просто наведя на эту запись указатель мыши.

Подсказка для записи со 100%-ным использованием — «ЦП 0 (узел 5)»
Рис. 3. Подсказка, показывающая идентификатор логического процессора

Существенное преимущество тепловой карты заключается в хорошей масштабируемости до больших наборов данных. Новый диспетчер задач отобразит столько логических процессоров, сколько поддерживает ОС (до 640). Чтобы обеспечить рациональный просмотр информации, когда набор данных становится слишком большим для окна, тепловая карта соответствующим образом масштабируется для получения оптимального режима отображения и появляется полоса прокрутки.

Тепловая карта легко читается, так как содержит 13 строк и 9 столбцов данных и имеет полосу прокрутки, которая позволяет вам просматривать дополнительные ячейки, расположенные ниже первых 13 строк
Рис. 4. При использовании 160 логических процессоров график ЦП масштабируется с добавлением полосы прокрутки

Те из вас, кто действительно хочет контролировать мельчайшие особенности работы системы, могут даже задавать логические процессоры, доступные для отдельных процессов. Для этого сначала выясните идентификатор логического ядра, наведя указатель мыши на одну из ячеек тепловой карты, а затем перейдите на вкладку сведений, щелкните правой кнопкой мыши требуемый процесс и нажмите кнопку «Задать соответствие».

Пользователь щелкнул правой кнопкой мыши файл «iexplore.exe» на вкладке сведений диспетчера задач, в результате чего отображается контекстное меню со следующими параметрами: «Открыть расположение файла», «Завершить процесс», «Завершить дерево процессов», «Отладка», «Виртуализация UAC», «Создать файл дампа памяти», «Задать приоритет», «Задать соответствие» (показан выбранным), «Анализ цепочки ожидания», «Поиск в сети», «Свойства» и «Перейти к службам».
Рис. 5. Задание соответствия процесса на вкладке сведений

В диалоговом окне отображается запрос «На каких процессорах может выполняться "iexplore.exe"»? Имеется раскрывающийся список для группы процессоров, в котором установлено значение «Группа 0». Ниже находится набор флажков для параметров «ЦП 0 (узел 0)», «ЦП 1 (узел 0)», «ЦП 2 (узел 0)» и т. д., а также кнопки «ОК» и «Отмена».
Рис. 6. Выбор логических процессоров для процесса

Конечно, настройка соответствия процессоров предназначена только для пользователей с глубокими техническими познаниями, которым требуется именно такой уровень контроля. Если вы плохо представляете то, что вы делаете, такая настройка может привести к значительному снижению эффективности управления питанием и производительности системы, поэтому мы позаботились о том, чтобы система могла эффективно управлять данными параметрами вместо вас. Довольно сложно организовать работу лучше, чем это делают продуманные алгоритмы, которые операционная система Windows использует для автоматического управления назначением процессов каждому из логических процессоров в зависимости от аппаратных ресурсов и топологии.

-- Райан Хэйвесон (Ryan Haveson)