Штраф за производительность нити

372
gatorback

Симуляции вызываются из командной строки. Двухъядерный процессор (4 логических ЦП или потоки) может одновременно запускать 4 симуляции.

Есть ли мыслительный процесс или измерение, чтобы получить представление о снижении производительности за выполнение двух симуляций на ядро? В идеале можно было бы измерить.

-1

1 ответ на вопрос

0
Hennes

На это нет однозначного ответа, потому что это зависит от многих вещей.

  • Если ваши расчеты связаны только с процессором, вы, вероятно, увидите огромный скачок от 2 ядер / 2 ступеней до 2 ядер / 4 ступеней. Теоретический выигрыш может быть 100% в очень специфических случаях.
  • Если расчеты связаны исключительно с памятью (например, один шаг уже использует максимально доступную полосу пропускания для памяти), то вы вообще не получите никакого усиления.

Это становится более сложным, когда вы добавляете попадания в кеш (вдвое больше симуляций - это фактически половина кеша процессора, доступного на симиляцию), термическое поведение процессора и т. Д.

При наличии большого количества программ в типичной системе разумно заявить о 1/3 выигрыша в скорости, включив гиперпоточность на процессорах Intel / AMD. Так что в целом это выгодно. Но эффект варьируется в зависимости от программы, и были ситуации, когда потеря скорости 40% была фактически измерена. Таким образом, единственный практический ответ - проверить его на вашей конкретной установке.

Похожие вопросы