Використання процесора невірно на комп'ютерах, а кожен рік погіршується

Використання процесора невірно на комп'ютерах, а кожен рік погіршується

Використання процесора неправильне. Це аргумент Брендон Грегг, найвищий архітектор Netflix, вирівнявся з однією з найбільш фундаментальних інструментів вимірювання продуктивності, які ми використовуємо при оцінці системи. За словами Грега, використання центрального процесора, як повідомляється в Windows, не просто не так, він з часом активно погіршується.

Якщо ви коли-небудь вирили в цю тему, ви знаєте про деякі способи, з якими точно не повідомляється про використання процесора. З тих пір, як Intel (а тепер і AMD) додав підтримку Hyper-Threading / SMT, існує розбіжність між тим, як керуючі елементи представлені в диспетчері завдань і які ресурси фактично доступні. Windows, Linux та інші операційні системи повідомляють про загальну кількість ядер і міряють використання процесора, наче кожне логічне ядро ​​фактично є фізичним ядром. Але це не проблема Грегг обговорює. По-перше, є проблема зупинки потоку. Якщо ви бачите, що ваш процесор працює на 90 відсотків завантаження, ви можете подумати, що це виглядає так:

Використання процесора невірно на комп'ютерах, а кожен рік погіршується

Насправді, Грегг вказує на те, що може статись щось подібне до цього, в якому процесор зупиняється і чекає даних, але фактично не виконує жодної роботи.

Використання процесора невірно на комп'ютерах, а кожен рік погіршується

Якщо ви думаєте про це, ви, напевно, бачили це в дії. Якщо ви коли-небудь виконували маніпуляції з рендерингом або Photoshop, які дійсно задавали ваш процесор, продуктивність - навіть продуктивність інтерфейсу користувача - може сповільнитися до сканування під час виконання робочого навантаження. Існують способи уникнути цієї проблеми шляхом встановлення загальної кількості активних потоків або пріоритету самого навантаження, але якщо ви працювали з комп'ютерами протягом певного періоду часу, ви, напевно, бачили випадки, коли 100% процесорів не використовувалося насправді означає 100% використання процесора. Проблема, на думку Грегга, полягає в тому, що доступ до пам'яті часто сповільнює роботу системи. Це відома як розрив CPU-DRAM, і це тема, про яку ми вже обговорювали на ЕТ.

Використання процесора невірно на комп'ютерах, а кожен рік погіршується

Вся причина, по якій ми застосували вдосконалені структури кешування з кешем L1, L2 та L3, полягає саме в тому, що розрив DRAM затухає процесори та знижує загальну продуктивність. Але зараз є ще одна проблема, що спричиняє проблеми з використанням процесора: Spectre і Meltdown patches.

У наведеному вище відео, Грегг проходить через приклади двох сучасних серверів, які працювали з різними показниками продуктивності для одного робочого навантаження, незважаючи на те, що вони працювали на одному годиннику та виконували однакові завдання. Винуватця? Spectre і Meltdown патчі, що зливаються з кешами TLB, що спричиняє цикли завантаження в ЦП. Грегг детально продемонструє, як патчі KPTI можуть впливати на ефективність публікації в блозі на цю тему, а дані, які він представляє, є специфічними для робочих навантажень, які він працює (як можна було очікувати), вплив значний.

Але витримка полягає в тому, що використання центрального процесора, як повідомляється в Windows, часто є неправильним. Занадто часто, що, схоже, як використання центрального процесора, насправді є затримкою процесора, що чекає на те, щоб зробити щось корисне.

Читати далі

Основна конфігурація AMD Radeon VII була невірна
Основна конфігурація AMD Radeon VII була невірна

Широко повідомлялося, що Radeon VII є 128 ROP GPU. На основі інформації, наданої wfoojjaec компанією AMD, це неправильно. Як і Vega 64, Radeon VII має 64 ROP.