Какая цифра означает пропускную способность процессора в официальном документе Oracle? - PullRequest
0 голосов
/ 15 сентября 2018

«Платформа Java, Руководство по настройке сборки мусора виртуальной машины HotSpot Standard Edition», объясняет ее рисунок 1-1 , как показано ниже

Красная линия - этоприложение тратит только 1% времени на сборку мусора в однопроцессорной системе.Это приводит к потере пропускной способности более чем на 20% в системах с 32 процессорами.

Garbage collection cause problems in scability system

Я не понимаю, чтоэти цифры действительно означают.
Означает ли это, что в состоянии, которое является фиксированным временем gc, GC влияет на пропускную способность процессоров из-за его приостановки?

1 Ответ

0 голосов
/ 15 сентября 2018

Вот текст объяснения в документе, где вы нашли этот график:

График на рисунке 1-1 моделирует идеальную систему, которая отлично масштабируется, за исключением сбора мусора. Красная линия - это приложение, которое тратит только 1% времени на сборку мусора в однопроцессорной системе. Это приводит к потере пропускной способности более чем на 20% в системах с 32 процессорами. Пурпурная линия показывает, что для приложения, занятого в 10% времени при сборке мусора (не считается чрезмерным количеством времени при сборке мусора в однопроцессорных приложениях), потеряно более 75% пропускной способности при масштабировании до 32 процессоров.

Ссылка под графиком гласит:

График моделирует идеальную систему, которая отлично масштабируется, за исключением сборки мусора (GC). Он отображает количество процессоров (ось X) в зависимости от пропускной способности (ось Y). Он содержит шесть построенных линий, помеченных как 1% ГХ, 2% ГХ, 3% ГХ, 10% ГХ, 20% ГХ и 30% ГХ. Каждая строка представляет изменяющуюся пропускную способность для приложения, которое тратит определенный процент времени, используемого для сбора мусора в однопроцессорной системе по сравнению с многопроцессорной системой. График описан в предшествующем тексте.


Итак ...

  1. Это модель, а не график реальной измеренной производительности.
  2. Модель идеализирована. Предполагается, что приложение отлично масштабируется (кроме GC).
  3. Это иллюстрирует, что происходит, когда вы не делаете сборку мусора масштабируемой; например если есть только один поток GC, и он не работает параллельно с потоками приложения.
  4. Линии 1% ГХ, 2% ГХ и т. Д. Представляют различные смоделированные нагрузки ГХ в однопроцессорной системе. Таким образом, линия 1% представляет случай приложения, работающего в однопроцессорной системе, где потоки приложения генерируют нагрузку GC, которая может быть собрана с использованием 1% доступного ЦП.
  5. Пропускная способность представляет полезную (прикладную) работу, выполняемую занятым приложением; то есть время (издержки GC), которое * не занято сборкой мусора или ожиданием завершения GC.
  6. Пропускная способность измеряется в процентах от доступного процессорного времени в системе с заданным числом процессоров.

Так, например, на уровне 30% GC пропускная способность для 32-ядерной системы будет примерно 1/10 от теоретической пропускной способности оборудования. Это будет тратить примерно 9/10 от доступного процессорного времени в ожидании завершения сборки мусора!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...