Чому продуктивність пам’яті стає важливішою за обчислювальну потужність
У сучасних комп’ютерах продуктивність уже давно не обмежується лише частотою процесора чи кількістю ядер. За останні десятиліття обчислювальна потужність CPU, GPU та AI-прискорювачів зросла настільки сильно, що головною проблемою стало своєчасне постачання даних до виконавчих блоків. Саме тому продуктивність пам’яті сьогодні відіграє ключову роль. Про це пише Себастьян Кастелланос, фахівець з аналізу даних.
Сучасні процесори можуть виконувати кілька інструкцій за такт, а GPU містять тисячі обчислювальних блоків. Однак жоден з них не працює ефективно, якщо дані не надходять вчасно. Переміщення даних виявилося значно «дорожчим» за самі обчислення — як за затримкою, так і за енергією та площею чипа.
Важливо розрізняти послідовний і випадковий доступ до пам’яті. Послідовне читання добре прискорюється префетчерами та контролерами, тоді як випадковий доступ (наприклад, обхід зв’язаних списків) майже не піддається передбаченню і змушує процесор чекати. Саме тому два завдання з однаковим обсягом даних можуть працювати з кардинально різною швидкістю.
Ключову роль відіграє локальність даних — просторова (доступ до сусідніх адрес) і часова (повторне використання нещодавно зчитаних даних). Саме завдяки цим властивостям ефективно працює ієрархія кешів (L1, L2, L3). Якщо робочий набір даних вміщується в кеш, продуктивність висока. Якщо ні — система починає часто звертатися до повільної DRAM, і швидкість різко падає.
DRAM працює складніше, ніж здається. Її продуктивність залежить не лише від частоти та таймінгів, а й від кількості банків, груп банків, каналів і того, наскільки добре контролер може паралелити запити. Тому одна й та сама «покращена» пам’ять може дати різний приріст у різних завданнях.
Особливо критичною пам’ять стала в епоху штучного інтелекту. Великі мовні моделі вимагають постійного переміщення ваг, активацій та KV-кешу. Саме тому з’явилися HBM з величезною пропускною здатністю, квантизація моделей і технології, що зменшують обсяг даних, які потрібно передавати.
У іграх ситуація ще складніша: одночасно працюють CPU і GPU, використовуються як послідовні, так і випадкові доступи, а ray tracing посилює розбіжність даних. Саме тому великі кеші (наприклад, AMD 3D V-Cache) часто дають помітний приріст.
Отже, сучасна продуктивність дедалі більше залежить не від того, наскільки швидко можна щось обчислити, а від того, наскільки ефективно вдається мінімізувати та оптимізувати переміщення даних. Найшвидша операція — це та, яку взагалі не довелося виконувати.
Нагадаємо, що Micron зафіксував рекордно високі ціни на оперативну пам’ять до 2030 року.
