Я пытаюсь проанализировать производительность сценариев HPC R через Resource Monitor
в Windows Server 2008 R2.
Я говорил об этом руководство чтобы получить дополнительную информацию о вкладке ЦП в Resource Monitor
, но у меня все еще есть вопрос.
Этот сервер (предположительно) имеет 24 ядра ЦП, согласно программной функции в R, которая обнаруживает ядра и из уст в уста. В System Information
он показывает 2 записи для процессора:
В сценарии R я говорю функции, что нужно использовать на 2 ядра меньше, чем максимальное количество доступных ядер. Я не совсем уверен, в чем разница между Core(s)
и Logical Processor(s)
в системной информации, но, очевидно, смысл слова «ядро», который использует R, относится к этим 24 логическим процессорам.
Существует длительный алгоритм, который на данный момент должен использовать 100% из 22 (т.е. 24-2) «ядер» (или логических процессоров) ЦП, что составляет около 92% от максимального использования ЦП.
Однако в Resource Monitor
там мы имеем только 43-45% использования ЦП, хотя каждый из 22 используемых узлов имеет значение 4
перечисленные в CPU
(и 4 * 22 = 88%). Что дает?
Я не совсем уверен, в чем разница между ядром (ями) и логическим процессором (ами) в системной информации
У вас два процессора Intel. На каждом из этих чипов по 6 физических ядер. Физическое ядро - это, по сути, автономный пакет ЦП, и вы можете втиснуть несколько ядер на один кристалл. Кроме того, включена технология Hyperthreading, разработанная Intel, которая позволяет одному физическому ядру одновременно выполнять два потока. Так:
2 процессора,
6 ядер на процессор,
= 12 физических ядер.
Гиперпоточность удваивает количество логических процессоров, которые видит операционная система,
= Всего 24 логических процессора.
Стоит отметить, что ядро Hyperthread не так мощно, как физическое ядро. Это зависит от конкретной рабочей нагрузки, но Hyperthreads на определенный процент менее мощны, чем полное физическое ядро.
Тем не менее операционная система их видит и обращается с ними одинаково.
Что касается того, почему ваши сценарии не могут полностью использовать вашу вычислительную мощность, это отладка кода, и мы должны иметь возможность увидеть сценарий. Или это может быть Rscript.exe, настроенный с определенной привязкой, которая позволяет планировать его на определенных процессорах?
Не могу сказать без дополнительной информации.
Что делают скрипты? Возможно, они заблокированы в ожидании какого-либо другого ресурса, например сетевых пакетов или дискового ввода-вывода, и поэтому они не могут перегружать ЦП. Дело в том, что процессоры быстро. ЦП будет ждать практически любой другой части компьютера. И если другие задействованные подсистемы не успевают, вы не сможете максимально использовать свой процессор.