вторник, 6 октября 2020 г.

Черепичний запис SMR в накопичувачах WD і Seagate

 До недавнього часу черепичний запис Shingled Magnetic Recording (SMR) використовувався в недорогих моделях жорстких дисків Seagate, а також у всіх моделях компанії типорозміру 2.5". Такі диски заслужено отримали репутацію повільних, з нестабільною швидкістю запису і випадкового доступу. Другий виробник жорстких дисків, Western Digital, довгий час залишався в стороні, продовжуючи випускати накопичувачі, що використовують конвенційний спосіб запису CMR. Багато користувачів засновували свій вибір накопичувача, виходячи саме з цього критерію.


Недавні події перевернули звичні уявлення: в дисках Western Digital, призначених для роботи в складі багатодискових мережевих сховищ, виявилася «черепиця», що призводило до відмов в роботі RAID масивів. У цій статті ми детально розповімо про те, що таке черепичний запис, в яких сценаріях її використання допустимо, в чому полягають відмінності між підходами WD і Seagate і до чого призвело журналістське розслідування.

Скандальна черепиця


Не так давно в мережі розгорнувся скандал: в дисках лінійки WD Red, призначених для роботи в складі мережевих сховищ, виявилися недокументованна особливість. Хронологія подій така.

2 квітня 2020

Користувачем Крістіан Франке (Christian Franke) було опубліковано дослідження, в якому було розказано про використання недокументованої технології SMR (черепичний запис Shingled Magnetic Recording) в деяких дисках лінійки WD Red. Крістіан описав, до яких саме проблем це призводить в рамках масивів. Відомі особливості технології приводили до деградації масивів RAID у випадках, коли такі диски використовувалися спільно з «класичними» дисками (CMR, Conventional Magnetic Recording). Більш того, відновлення таких масивів виявлялося неможливим через постійні повторні випадання диска з SMR.

Задовго до цього користувачі задавалися питанням «чи не використовується в даній моделі технологія SMR?» Представники Western Digital під різними приводами відмовлялися розголошувати використовувану в дисках технологію. «Ми не розголошуємо особливості внутрішнього функціонування наших дисків кінцевим споживачам». Ось цитата відповіді з техпідтримки:

I understand your concern regarding the PMR and SMR specifications of your WD Red drive.

Please be informed that the information about the drive is whether use Perpendicular Magnetic Recording (PMR) or Shingled Magnetic Recording (SMR), is not something that we typically provide to our customers. I am sorry for the inconvenience caused to you.

What I can tell you that the most products shipping today are Conventional Recording (PMR). We began shipping SMR (Shingled Magnetic Recording) at the start of 2017. For more information please refer the link mentioned below.


Ось інший варіант відповіді.

We have received your inquiry whether internal WD Red drive WD40EFAX would use SMR technology. I will do my best here to assist and please accept our sincere apologies for the late reply.

Please note that information on which of our drives use PMR or SMR is not public and is not something that we typically provide to our customers. What we can tell you is that most WD products shipping today are Conventional Recording (PMR) - please see additional information below. However, we began shipping SMR (Shingled Magnetic Recording) at the start of 2017.


(Джерело)

У перекладі: «Велике спасибі за звернення. Звертаємо вашу увагу, що інформація про використання PMR і SMR не є публічно доступною і не розголошується нашим клієнтам. Однак можу повідомити, що велика частина поставляються продуктів WD використовує CMR; нижче - додаткова інформація. Проте, на початку 2017 ми почали відвантажувати диски з SMR. »

Приблизно таку відповідь отримав Крістіан Франке. Крістіан на цьому не зупинився, отримавши в результаті таку відповідь:

Just a quick note. The only SMR drive that Western Digital will have in production is our 20TB hard enterprise hard drives and even these will not be rolled out into the channel.

All of our current range of hard drives are based on CMR Conventional Magnetic Recording.

With SMR Western Digital would make it very clear as that format of hard drive requires a lot of technological tweaks in customer systems.

With regards

Yemi Elegunde
Enterprise & Channel Sales Manager UK
Western Digital®
WDC UK, a Western Digital company


У відповіді стверджується, що єдиний диск WD з SMR - це накопичувач на 20 ТБ, призначений для великих сховищ даних. За твердженням представника WD, всі інші диски компанії використовували CMR.

Подальші спроби домогтися хоч якоїсь виразної інформації привели до пропозиції «обговорити проблему з інженерами та спеціалістами з жорстких дисків в телеконференції». Телеконференція, втім, не відбулася. Користувачі звернулися до журналістів.

14 квітня 2020

Отже, Крістіан написав журналістам спеціалізованого видання Blocks & Files. Журналісти розібралися в проблемі і випустили статтю:

Western Digital admits 2TB-6TB WD Red NAS drives use shingled magnetic recording

Як ми знаємо, основний конкурент Western Digital - компанія Seagate, - використовує черепичний запис в накопичувачах лінійок Archive і BarraCuda Compute вже багато років. Чому ж саме в даному випадку використання SMR стало проблемою?

У статті наводиться кілька прикладів. Зокрема, користувачі, які замінювали вийшовши з ладу диски WD Red 6TB WD60EFRX на нові моделі WD60EFAX отримували атиповий тривалий час перестроювання масивів SHR1 і RAID5 (від 2 до 8 днів). У деяких користувачів перестроювання і зовсім завершувалося з помилкою: новий диск просто виключався з масиву як несправний. Очевидно, що в ряді сценаріїв нові диски працюють в рази гірше в порівнянні з попередньою моделлю, а в деяких випадках - не виконують заявлене завдання зовсім. Обман споживача в повний мірі - але представники Western Digital відмовлялися будь-яким чином коментувати ситуацію або просто визнати сам факт використання нової технології запису.

Саме в цей момент журналістам вдалося вперше отримати від Western Digital чітку відповідь: «Актуальні моделі WD Red 2TB-6TB компанії Western Digital використовують drive-managed SMR (DMSMR). Диски WD Red 8TB-14TB засновані на CMR. [...] Ви маєте рацію в тому, що ми не вказуємо технологію запису в документації на диски WD Red. [...] При тестуванні дисків WD Red ми не виявили проблем з перестроюванням RAID через технологію SMR ».

У своє виправдання, WD наводить такий аргумент: «У типовому середовищі домашніх NAS і NAS для малого бізнесу типові навантаження стрибкоподібні, залишаючи достатньо часу для збору сміття та інших сервісних операцій». Журналісти з Blocks & Files заперечили, що далеко не всі навантаження в рамках мережевих сховищ «типові» з точки зору виробника. Скандал продовжував розвиватися.

15 квітня 2020

Стаття потрапила в точку: проблема назріла вже у великої кількості користувачів. В мережі піднялася хвиля публікацій та обговорень, яка спонукала Blocks & Files продовжити розслідування.

У статті Shingled hard drives have non-shingled zones for caching writes розповідається про «стрічкову» організацію черепичного сховища, як і про те, що у кожного SMR накопичувача є буфер, який використовує класичний запис CMR. Тут пряма аналогія з сучасними накопичувачами SSD: є повільна TLC або навіть QLC NAND, але частина її використовується для буферизації записів в якості псевдо-SLC кеша. Так і тут: в жорстких дисках, які використовують черепичний запис SMR, є області CMR, які використовуються для прискорення запису. Таким чином у користувача, який тестує диск популярним пакетом CrystalDiskMark, виникає ілюзія нормальності: диск і читає, і пише дані без будь-яких сюрпризів.

Несподіванка відбувається тоді, коли обсяг записаних даних перевищує розмір області CMR або весь диск був одного разу заповнений даними, після чого накопичувачу доводиться на льоту "ущільнювати" інформацію. Такі ситуації в рамках NAS можуть наступити як мінімум в двох випадках: в разі перестроювання масиву класу RAID5 і подібних, в яких використовуються контрольні суми, і в разі запису великого обсягу даних (наприклад, при створенні і збереженні на диск звичайної резервної копії). У таких сценаріях видима швидкість запису падає в рази, а то і на один-два порядки. У моїх власних тестах швидкість перезапису заповненого накопичувача періодично просідає до 1-10 МБ / с при записі єдиного файлу об'ємом 1.5 ТБ (резервна копія системи). Я знаходжу таку швидкість неприйнятною.

У тій же статті автор розповів і про те, що відбувається при спробі перестроювання масиву RAID5 / 6, якщо новий диск використовує SMR. Величезна кількість операцій випадкового введення-виведення швидко призводить до переповнення буферної області CMR; контролер не встигає впоратися з навантаженням, повертаючи помилку відмови в обслуговуванні. Через короткий час (близько 40 хвилин) диск повністю йде в себе, а контролер RAID виключає його з масиву, позначаючи як несправний.

Що цікаво, нічого подібного не відбувається при використанні інших типів масивів - RAID0 / 1, а також при створенні нового масиву RAID5 / 6. Створюється враження, що розробники Western Digital просто не перевірили нові диски в сценарії перестроювання масиву RAID5 / 6, обмежившись лише самими найпростішими сценаріями.

15 квітня 2020

У черговій статті Seagate 'submarines' SMR into 3 Barracuda drives and a Desktop HDD журналісти продовжили експлуатувати тему SMR, розповівши, що подібною практикою займається і компанія Seagate.

Seagate давно використовує SMR в своїх накопичувачах на 2.5'', архівних Archive і десктопних BarraСuda Compute. Про це було відомо давно, компанія ніколи не приховувала цю інформацію. У той же час диски Seagate, призначені для роботи в NAS (лінійки Ironwolf і Ironwolf Pro) SMR не використовують, що, власне, і підтвердила компанія в офіційному прес-релізі. Таким чином, скандалу не вийшло: покупець, який хоча б мінімально цікавиться станом справ, завжди має можливість зрозуміти, який саме диск він купує і для чого. Особливості черепичного запису SMR описані Seagate в технічній документації до відповідних накопичувачів; про них ми ще поговоримо, поки ж повернемося до хронології.

16 квітня 2020

На наступний день журналісти з'ясували, що і в деяких дисках Toshiba також використовується SMR: Toshiba desktop disk drives have shingles too. Не впевнений, що це комусь цікаво з урахуванням зникаючої частки накопичувачів Toshiba в типорозмірі 3.5". Втім, ознайомитися зі списком моделей дисків Toshiba, в яких використовується SMR, в будь-якому випадку не завадить. На сьогоднішній день це 3.5" диски Toshiba P300 Desktop PC і DT02 об'ємом 4 і 6 ТБ, а також усі без винятку 2.5" моделі покоління MQ04.

20 квітня 2020

У Western Digital занепокоїлися. У статті SMR in disk drives: PC vendors also need to be transparent було опубліковано офіційну відповідь Western Digital, в якому компанія запевняє, що ніяких проблем у дисків насправді немає, якщо їх правильно використовувати. Більш свіжу версію відповіді можна прочитати в блозі Western Digital. З тексту можна зробити висновок, що перестроювання масивів RAID5 / 6 для дисків серії WD Red - неправильне використання і нецільове, а поняття NAS і RAID - поняття хоч і близькі, але не еквівалентні. Якщо користувач бажає використовувати диск для NAS в складі масиву RAID5 / 6, то варто купити модель дорожче - наприклад, з лінійки Ultrastar DC, WD Gold або WD Red Pro. Саме так і написано, буквально: «If you are encountering performance that is not what you expected, please consider our products designed for intensive workloads. These may include our WD Red Pro or WD Gold drives, or perhaps an Ultrastar drive. » Не буду цитувати цілком цей шедевр роботи департаменту Western Digital по зв'язку з громадськістю, з ним можна ознайомитися за посиланням вище.

21 квітня 2020

Зрозуміло, основний конкурент, компанії Seagate, не зміг не прокоментувати ситуацію. У статті Seagate says Network Attached Storage and SMR do not mix представник компанії підкреслює, що Seagate ніколи не використовувала черепичний запис в дисках Ironwolf і Ironwolf Pro, призначених для NAS, і не рекомендує використовувати диски з SMR в мережевих сховищах.




23 квітня 2020

Журналісти не змогли пройти повз посту WD. У статті Western Digital implies WD Red NAS SMR drive users are responsible for overuse problems задаються цілком резонні запитання: а як, власне, користувач може - навіть в теорії! - дізнатися про потенційні проблеми, якщо WD зберігала сам факт використання SMR в NAS-накопичувачах в секреті, відмовляючись навіть чесно відповісти на прямо поставлене запитання? І якщо вже користувачів звинуватили в «нецільовому» використанні дисків, то визначте формально «цільові» і «нецільові» сценарії для кожної моделі і лінійки моделей. У старому WD60EFRX перестроювання RAID5 / 6 було «цільовим» сценарієм, а в новій WD60EFAX стало «нецільовим». З цим можна працювати, але ... Але клієнтам про це повідомити забули, а на поставлені запитання відповідати відмовилися. Прямо скажемо, гра на межі фолу - що і призвело згодом до подачі колективного судового позову.

24 квітня 2020

У Western Digital здалися: компанія опублікувала повний список накопичувачів в форм-факторі 3.5", в яких використовується SMR.




Технологія черепичного запису залишається в накопичувачах WD Red, призначених для NAS, але виробник після безпрецедентного тиску громадськості знехотя і з застереженнями погодився більше не робити з цього секрету. Тепер користувач може зробити поінформований вибір: купувати «стару» модель WD Red без SMR або «нову» - з SMR. Або піти до конкурента, який не використовує SMR в накопичувачах для NAS зовсім. Або взяти наповнений гелієм диск об'ємом від 8 ТБ.

23 червня 2020

Не минуло й двох місяців, як компанія «вирішила проблему», і виходить чергова новина: модельний ряд накопичувачів WD Red розширено лінійкою WD Red Plus, в якій використовується конвенційний спосіб запису CMR. Тепер серія накопичувачів WD Red включає в себе стандартну версію WD Red (в ній буде використовуватися черепичний запис SMR), WD Red Plus (класичний спосіб запису CMR) і  WD Red Pro, яка залишиться без змін.

У версію WD Plus увійшли жорсткі диски об'ємом від 2 до 6 ТБ, в яких, як і до журналістського розслідування, буде використовуватися класичний запис CMR. У найменуваннях нових дисків також з'явилося відмінність - замість передостанній літери «A» (моделі WDxxEFAX) тепер ставиться «R» (WDxxEFRX), що дозволяє відрізнити диски з CMR від моделей з SMR.

Все б непогано, але «нова» модель WD Red Plus з ідентифікатором WD60EFRX з точністю до написів на етикетках збігається зі «старої», знятої з виробництва моделі WD Red WD60EFRX. Тільки тепер «нова» модель носить горду назву Plus, а продається дорожче знятої  з виробництва «старої». За такий спосіб вирішення власноруч створеної проблеми компанія вже зазнала масивної критики.

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

Реалізація SMR у Seagate: звичне зло


Простіше за все справи йдуть у Seagate. Купуючи недорогий диск від Seagate, користувач, швидше за все, отримає модель з черепичним записом. На сьогоднішній день справи в стані Seagate йдуть таким чином.

Лінійки Seagate Archive і BarraCuda Compute: як правило, поставляються з SMR. Саме такі диски встановлюються у зовнішні накопичувачі лінійок Expansion Desktop і Backup Plus Hub ємністю до 8 ТБ включно.

Лінійка BarraCuda Pro обходиться без SMR. До речі, всі диски Seagate об'ємом від 10 ТБ також використовують звичайний спосіб запису CMR; це пояснює помітну різницю в ціні між моделями зовнішніх накопичувачів Seagate на 8 і 10 ТБ.

У всіх дисках для NAS лінійок IronWolf і IronWolf Pro використовується чесний перпендикулярний запис (CMR).

Що таке черепичний запис? Детальна ілюстрована стаття викладена на сайті Seagate - дуже рекомендую ознайомитися.

При черепичному способу запису доріжки записуються на диск не паралельно, а з перехлестом, як черепиці на даху, що дозволяє додатково ущільнити запис. Використання черепичного способу запису дозволяє виробникам заощадити на виробництві, зробити диск менш шумним і менш важким за рахунок меншої кількості обертових «млинців» і головок читання-запису.

А, як щодо надійності дисків з SMR? Коли технологія тільки з'явилася на ринку, у користувачів були великі сумніви щодо довгострокової надійності таких дисків. На сьогоднішній день можна констатувати, що надійність дисків з SMR при звичайному використанні в якості архівних накопичувачів не гірше надійності дисків з CMR аналогічної ємності, а в окремих випадках може навіть перевищувати її за рахунок спрощення механічної частини.

Неприємна особливість реалізації SMR у Seagate в тому, що диски витримують гарну швидкість запису протягом лише першого циклу заповнення диска. Але варто користувачеві заповнити диск цілком і почати перезаписувати дані (сценарій, абсолютно типовий для регулярних резервних копій), як швидкість перезапису падає в рази в порівнянні з записом на свіжий диск. Ситуація чимось нагадує ту, в якій опинилися виробники перших твердотільних накопичувачів SSD: запис в блок відбувається швидко, а для перезапису єдиного байта потрібно зчитати цілий (і досить великий) блок даних, модифікувати потрібні дані і зберегти змінену інформацію. Так і тут: для перезапису єдиної доріжки потрібно спочатку зчитати всі наступні доріжки, які входять в об'єднаний блок (стрічку), після чого записати потрібну доріжку і відновити з буфера всі наступні.

Ось що сказав на цю тему виробник Seagate:

C технологією SMR пов'язана наступна проблема: якщо потрібно перезаписати або оновити частину інформації, переписати доведеться не тільки необхідний фрагмент, але і дані на наступних доріжках. Оскільки записуючий елемент ширше неперекриваючої області доріжки, він захоплює також дані, які межують на доріжках, а значить, потім доведеться перезаписати і їх (рис. 3). Таким чином, при зміні даних на нижній доріжці, потрібно скорегувати дані на найближчій накладеній доріжці, потім на наступній, і так далі, поки не буде переписана вся пластина.





Рис. 3. Який Записує елемент, який перекриває накладуючі доріжки

З цієї причини доріжки SMR-диска об'єднані в невеликі групи, звані стрічками. Накладаються один на одного, відповідно, тільки доріжки в межах однієї стрічки (рис. 4). Завдяки такому гуртуванні в разі поновлення деяких даних перезаписувати доведеться не всю пластину, а лише обмежену кількість доріжок, що істотно спрощує і прискорює процес.




Рис. 4. Структура стрічки на SMR-диску

(Джерело)

Така організація призводить до того, що швидкість перезапису даних падає з умовних 180 МБ / с до 40-50 МБ / с. Обійти проблему можна спробувати, включивши для диска кешування запису і здійснюючи запис великими блоками, розмір яких не менше розміру однієї стрічки. Так, тестовий зразок LaCie 2.5" 4TB демонстрував швидкість запису на чистий накопичувач близько 130 МБ / с. Після першого заповнення диска швидкість запису даних впала до 20-40 МБ / с; що характерно, не допомогло ні форматування диска, ні перерозбивка на розділи. Ще гірше себе показав варіант ємністю 5 ТБ, швидкість перезапису даних якого впала нижче 10 МБ / с. Частково виправити ситуацію допомогло включення кешування запису і запис даних великими блоками; втім, навіть така первісна висока швидкість запису не відновилася.

Проілюструю роботу SMR в момент перезапису даних. Побачити подібні цифри вийде лише після того, як весь обсяг диска був заповнений хоча б один раз, а обсяг записуваних протягом однієї сесії даних перевищує розмір буфера CMR (при цьому очищення або переформатування диска ніяк не вплинуть на продуктивність). На першому скріншоті - запис з відключеним кешуванням запису. Швидкість запису періодично просідає від 1 до 10 МБ / с. Ця швидкість показує внутрішню суть процесу. В процесі запису контролер зчитує стрічку (блок черепичних доріжок) в буфер; модифікує одну доріжку; записує всю стрічку з буфера на диск. Наступна доріжка - повторення циклу. В результаті маємо процес, який на Reddit описали так: «Багато хто говорить, що SMR - це повільно, але мало хто уявляє, наскільки повільно це насправді. Уявіть, що вам потрібно пропхати слона через замкову щілину. Представили? А тепер уявіть, що з іншого боку активно пручаються. Ось це і буде запис SMR. »




Швидкість перезапису з відключеним кешем на запис.

На другому скріншоті - те ж саме, але з включеним кешуванням запису. Тепер в буфер накопичувача потрапляє не доріжка, а вся стрічка цілком (точніше, може потрапляти - фактичного розміру стрічки і того, як він співвідноситься з розміром буфера накопичувача, ми не знаємо). Якби контролер накопичувача був трішки розумнішими (або хоча б підтримував інструкцію trim, як в WD), то він зрозумів би, що потрібно перезаписати всю стрічку цілком - і зробив би саме це. Але ні; контролер раз по раз зчитує стрічку в буфер, модифікує дані і записує їх назад. Швидкість запису в результаті варіюється від нульової до максимальної (близько 100 МБ / с в цій частині диска).




Швидкість перезапису з включеним кешем на запис.

На скріншотах добре видна одна з проблем накопичувачів з SMR: надзвичайно повільний перезапис великих масивів даних. З огляду на, що такі диски (на скріншоті - модель Seagate Backup Plus 5TB) часто продаються для зберігання резервних копій, розмір яких може досягати від сотень гігабайт до декількох терабайт, така продуктивність на основній (і, по суті, єдиній) задачі пристрою - абсолютно неприйнятна.

А що щодо швидкості читання?
Добре відома проблема SMR - низька швидкість позиціонування головок, пов'язана з високою щільністю розташування доріжок. Відповідно, випадковий доступ до даних, на відміну від послідовного, при інших рівних умовах в моделях з SMR буде нижче, ніж в дисках без «черепиці». Але на цьому проблеми не закінчуються. У дисках з SMR без trim так само, як і в накопичувачах SSD, використовується механізм трансляції адрес. Диск намагається записати нову порцію даних спочатку в CMR буфер, а коли він заповнений - в першу вільну стрічку. Відповідно, відбувається трансляція логічних адрес в фізичні; при цьому виникає внутрішня фрагментація даних. І якщо для SSD внутрішня фрагментація не має ніякого значення, то у випадку з механічними дисками ми отримуємо подвійний удар: файли «розмазуються» по незайнятим стрічкам, і при цьому швидкість випадкового доступу низька через збільшених вимог до точності позиціювання головки. В результаті при невдалому збігу обставин ми отримуємо диск, читання даних з якого перетворюється в горезвісне проштовхування слона через замкову щілину.

Втім, модель від моделі бувають різні. У згаданому вище зовнішньому накопичувачі використовується диск Seagate BarraCuda 5TB (ST5000LM000), яка була однією з перших 2.5"моделей з SMR. Реалізація черепичного запису в ньому сира, чимось нагадує поведінку найперших SSD, які втрачали в швидкості запису відразу після першого заповнення. Моя думка: в такому вигляді накопичувач не можна було випускати на ринок.

А в якому - можна? Чи можна зробити так, щоб диски з SMR можна було взяти, не відчуваючи помітних незручностей? Виявляється, навіть в рамках технології SMR можна створювати цілком непогані диски (зрозуміло, зі своїми обмеженнями і вузьким спектром сценаріїв використання), якщо правильно зробити програмну частину - прошивку контролера. І вийшло це зробити вперше не у Seagate, піонера технології, а у основного конкурента - компанії Western Digital, героя цієї статті.

Реалізація SMR від WD: команда trim, як в SSD


На сьогоднішній день між реалізацією SMR від Seagate і Western Digital є одна, але дуже важлива відмінність: підтримка накопичувачами WD команди trim. Використання цієї команди змінює якщо не все, то багато що. Але чи дозволяє підтримка trim говорити про те, що накопичувачі з SMR можна використовувати в рамках RAID масивів? Розберемося детально.

Перші спроби Western Digital щодо SMR були суто секретними: компанія до цих пір не зізналася, чи використовувалася ця технологія в моделі WD My Passport об'ємом 4 ТБ. Більшість користувачів схиляється до того, що використовувалася: невисока швидкість випадкового запису і низька надійність моделі привели до закономірних підозр. Втім, впевненості в цьому досі немає ні у кого, навіть у технічно підкованих фахівців. Про використання SMR в цій моделі згадується побіжно як про ймовірність. Що цікаво, в цій моделі параметри S.M.A.R.T. декларують підтримку функції trim, але фактично її активувати не вдається. А ось в новій моделі WD My Passport 5TB (а також WD_Black 5TB) функція trim і декларується, і підтримується фактично.

Завдяки підтримці trim послідовний запис великого масиву даних завжди здійснюється так, як ніби дані зберігаються на свіжий накопичувач. Ось як виглядає графік продуктивності диска WD My Passport 5TB (з підтримкою trim):




джерело

А ось так - графік продуктивності аналогічного диска Seagate (підтримки trim немає):




Як бачимо, у диска Seagate перші 10 хвилин йде запис в буфер CMR, після чого починається нескінченний цикл ущільнення-перезапису, через якого швидкість, запис то падає до 10 МБ / с, то відновлюється до максимальної, то знову падає. Накопичувач від Western Digital подібної поведінки не демонстрував.

Як перевірити, чи підтримує даний конкретний диск команду trim? З одного боку, можна подивитися свідчення S.M.A.R.T. З іншого - у мене є кілька дисків, в параметрах яких підтримка trim заявлена, але по факту відсутня (ймовірно, це особливості використаних виробником USB контролерів). Перевірити ж можна, запустивши PowerShell з адміністративними привілеями і виконавши команду

Optimize-Volume -DriveLetter X: -Retrim

Якщо процес оптимізації успішно почнеться, то система виконує тріммінг накопичувача. Якщо ж видасть помилку - значить, функція trim не підтримує (до речі, вона не підтримується при використанні будь-якої файлової системи, крім NTFS).

Здавалося б, при чому тут trim - команда, традиційно використовується в твердотільних накопичувачах для спрощення збору сміття?

У статті TRIM Command Support for WD External Drives дається докладна відповідь. Згідно з цією статтею, функція trim використовується для оптимізації збору сміття на дисках WD, що використовують черепичний спосіб запису.

TRIM / UNMAP підтримується для зовнішніх (і внутрішніх теж - ОА) жорстких дисків з технологією запису SMR (Shingled Magnetic Recording) для управління таблиць відповідності адрес і підвищення продуктивності SMR з плином часу. Однією з переваг (там так і написано - ОА) черепичного запису є те, що всі фізичні сектори записуються послідовно в радіальному напрямку і перезаписуються тільки після циклічного перенесення. Перезапис раніше записаного LBA (адресація логічного блоку) призведе до того, що попередній запис буде позначений як недійсний, і LBA буде записана в наступний послідовний фізичний сектор. TRIM / UNMAP дозволяє ОС інформувати накопичувач про те, які блоки більш не використовуються і можуть бути знову використані жорстким диском для виконання наступних операцій запису на повній швидкості.


Що це означає на практиці? Якщо використовувати такий диск в Windows 10 (і диск відформатований в NTFS), то швидкість запису великих масивів даних залишатиметься високим незалежно від числа перезаписів. Система автоматично повідомить контролеру про звільнення адрес, які більш не використовуються. Відповідно, швидкість запису буде відновлюватися автоматично після видалення файлу або форматування диска - це те, чого катастрофічно не вистачає накопичувачам від Seagate.

Якщо мова йде про диск формату 3.5", то деякі NAS (наприклад, виробництва Synology) також визначать його як накопичувач, який підтримує trim. Роботу trim можна налаштувати за розкладом.




Нехай вас не введе в оману назва пункту "SSD trim": в накопичувачі встановлений механічний жорсткий диск на 6 ТБ - як раз з нової серії WD з черепичним записом. Втім, у цього методу є і ряд обмежень; зокрема, trim не працює в масивах RAID5 / 6. Аналогічні обмеження є і у інших NAS.

Що приводить нас до очевидного висновку: навіть підтримка накопичувачами команди trim робить нові диски Western Digital з черепичним записом SMR придатними для використання в складі масивів RAID 5 і RAID 6 (а також, за досвідом користувачів, в складі ZFS і масивів SHR 1 і, можливо, SHR 2). У складі таких масивів безперервна низка малоблочних операцій запису швидко (протягом 40 хвилин) перенаситить контролер і переповнить обмежений буфер CMR.

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

З іншого боку, нові диски WD з черепичним записом цілком допустимо використовувати в однодискових NAS, а також у складі масивів рівнів JBOD, RAID 1 або RAID 0 в багатодискових мережевих накопичувачах, причому останні два (RAID1 / 0) за умови, що всі диски в складі масиву використовують однакову технологію запису (тільки CMR або тільки SMR).

І, зрозуміло, диски WD з черепичним записом відмінно працюють в якості архівних. Правда, до тих пір, поки їх використовують спільно з Windows, а сам накопичувач відформатований в NTFS. Використання таких дисків в macOS здатне піднести неприємні сюрпризи в силу особливостей реалізації trim в ОС від Apple.

При цьому використання диска SMR з підтримкою команди trim краще аналогічного диска без підтримки trim - великий список, в який входять практично всі «домашні» накопичувачі Seagate.

Чи варто купувати диски з SMR


Різниця в ціні між наповненим гелієм накопичувачем WD My Book або WD Elements Desktop 8TB, що використовують класичний запис CMR, і черепичними Seagate Backup Plus Hub або Seagate Expansion Desktop 8TB на сьогодні близько 10-15 євро. Різниця в ціні між WD Red 6TB з PMR (модель WD60EFRX) і SMR (WD60EFAX) - історично ті ж 10 євро, але на тлі останніх публікацій цінник на класичну модель різко і необгрунтовано злетів, наздогнавши цінник на 8-гігабайтний накопичувач.

Чи варто переплатити за відсутність SMR і чи завжди це можливо? У деяких компактних (2.5") накопичувачах ємністю від 2 ТБ використовують SMR для того, щоб отримати більш тонкий корпус. У компактних дисках ємністю в 5 ТБ запис SMR використовують просто для того, щоб зробити таку ємність можливою. А ось десктопні диски ємністю 2, 4, 6 і 8 ТБ цілком можна випустити і без SMR. Використання черепичного запису дозволяє виробникові заощадити; частина цієї економії дістається на частку покупця, але більшу частину грошей виробник кладе у власну кишеню.

Рішення про покупку того чи іншого диска приймати в будь-якому випадку користувачеві. Є сценарії використання, в яких використання SMR неприпустимо в принципі - це масиви RAID 5 і 6 рівнів. Використовувати SMR в складі масивів RAID 0 і RAID 1 принципово допустимо, але при дотриманні простого правила - використовувати в рамках масиву тільки диски без або тільки з SMR. У однодискових NAS, який вміє використовувати trim, користувач не помітить великої різниці між диском з PMR і диском SMR, що підтримує команду trim. Нарешті, диски з SMR і trim цілком допустимо використовувати в якості архівних.

А ось за використання дисків з SMR, але без підтримки trim, виробник просто зобов'язаний давати гігантську знижку. В іншому випадку мені складно зрозуміти споживача, що здобуває собі свідомо повільний і нестабільний по швидкості роботи накопичувач.

Висновок


У цій статті ми детально розглянули як саму черепичну технологію запису SMR, так і особливості її реалізації двома найбільшими представниками індустрії - компаніями Seagate і Western Digital. Чи є SMR абсолютним злом? Ні, не є - якщо покупець розуміє, які проблеми і обмеження він отримує за свої гроші, і отримує за це достатню знижку. Але робити це потрібно з відкритими очима, а свідомо приховувати інформацію - абсолютно неприпустимо.

Oleg Afonin

воскресенье, 27 сентября 2020 г.

Огляд відеокарти NVIDIA GeForce RTX 3080

 Коментар до однієї з головних прем'єр 2020 року (а до виходу центральних процесорів архітектури Zen 3 і прискорювачів Radeon на великому ядрі Navi мабуть що й найголовніша), ми змушені почати з поганої новини. Сьогодні ми обмежимося аналізом чіпів Ampere і специфікацій продуктів на їх основі. Благо серія RTX 30 справляє сильне враження навіть на папері, а оновлена ​​архітектура, нехай в цей раз інженери з Санта-Клари зосередилися на зростанні чистої швидкодії замість функціональних нововведень, теж заслуговує грунтовного розгляду, щоб зрозуміти, яким чином NVIDIA вдалося так сильно прокачати характеристики.


Нові GPU і правда настільки відірвалися від своїх попередників, ніби повернулися золоті роки Kepler, Maxwell і Pascal, дарували експоненціальне зростання продуктивності з кожної ітерації заліза. Потім трапився Turing - без сумніву, історична подія не тільки для NVIDIA, але і для споживчої 3D-графіки взагалі. Ось тільки самі споживачі не надто були зраділи цінами відеокарт, які чипмейкер зміг встановити без оглядки на AMD, в той час усунути від конкуренції за ринок топових прискорювачів. До того ж всі старання розробників Turing були спрямовані на розширення функцій рендерингу за допомогою апаратного трасування променів і обробки даних нейромережами, а в іграх без рейтрейсингу продуктивність на долар у GeForce RTX 20-й серії в кращому випадку не змінилася в порівнянні з вічнозеленими «Паскаль».

NVIDIA GeForce RTX 3080

Ігрові прискорювачі GeForce RTX 30-ї серії в одному реченні можна охарактеризувати так: в 2,5-3 рази більше FP32-сумісних CUDA-ядер, посилені блоки трасування променів і тензорні ядра, і все це на чіпах з величезною кількістю транзисторів, побудованих за нормами 8 нм. А головне, за такою ж ціною, як у попередників! Проте у Ampere є цікаві нюанси як в архітектурі, так і чисто практичні властивості.

Давайте розберемося, як влаштований Ampere і чи немає приводів засумніватися в його беззастережному домінуванню на ринку геймерських відеокарт. Як не крути, AMD представить 28 жовтня власні GPU наступного покоління, і, здається, цього разу «червоні» готові до справжньої конкуренції з NVIDIA.

Серія GeForce RTX 30


У презентації, присвяченій ігровим продуктам нового покоління, NVIDIA представила три відеокарти: GeForce RTX 3070, RTX 3080 і RTX 3090. Всі вони мають надійти в продаж протягом наступного місяця, і це відноситься не тільки до референсних (Founders Edition), а й до партнерських моделям, які з'являться на магазинних полицях в той же час. Дата релізу RTX 3080 - 17 вересня, RTX 3090 запланований на 24-е, а RTX 3070 очікується вже 15 жовтня. Але головне, звичайно, це якісь можливості і за яку ціну запропонує NVIDIA, збентежена неоднозначною реакцією на серію GeForce RTX 20, тим більше в умовах відродженої конкуренції з боку AMD.

Судячи з усього, що ми змогли з'ясувати, RTX другого покоління не повинен розчарувати. На третій сходинці п'єдесталу, в якості заміни GeForce RTX 2070, чипмейкер поставив відеокарту з 5888 шейдерними ALU (32-бітними CUDA-ядрами). А це, між іншим, в 2,5 рази більше, ніж у попередника! Виходить, що навіть GeForce RTX 2080 Ti і RTX TITAN поступаються молодшій з новинок як по CUDA-ядер FP32 (4352 і 4608 відповідно), так і з теоретичної пропускної здатності операцій над числами стандартної точності.

Звичайно, це дуже грубий критерій, який не бере до уваги інші компоненти архітектури GPU. Адже ми ще не розібралися, як саме інженери NVIDIA набили стільки ядер в графічний процесор другого ешелону - тут все далеко не так просто, як якщо б Turing роздули до таких розмірів без глибокої структурної реорганізації. Нарешті, як ми ще встигнемо переконатися, в Ampere значно посилили блоки трасування променів і ввели новий, більш ефективний режим роботи тензорних ядер. Не будемо безапеляційно стверджувати, що новий GeForce RTX 3070 відправив на смітник історії всю лінійку RTX 20, включаючи 2080 Ti, але, якщо оцінювати за сумою характеристик, можливо, саме так і вийде в добре розпаралелених завданнях GP-GPU, професійних рейтрейсерах зразок Blender і, зрозуміло, в іграх з трасуванням променів, де GeForce RTX 3070 обіцяє при вирішенні 1440p продуктивність на 60% вище, ніж у RTX 2070.


І все це - увага! - за рекомендованою ціною $ 499! В даному випадку доречна поправка на те, що NVIDIA свого часу проапгрейдить RTX 2070 до RTX 2070 SUPER, зберігши колишню вартість, а це вже зовсім інша відеокарта на більш потужному GPU. Як наслідок, зростання швидкодії на долар вже не настільки великий, хоча все одно йдеться про таки надбавку FPS, які ми давно відвикли одержувати від виробників дискретної графіки. Практика націнки на відеокарти Founders Edition і їх розгін, на щастя, теж залишилася в минулому: ціни, рекомендовані для партнерських продуктів, збігаються з тими, по яких NVIDIA буде продавати референсні пристрої у власному інтернет-магазині.



Нагадаємо, мова поки йде про молодшу модель нового сімейства, яка, якщо це теоретичні викладки і внутрішні бенчмарки NVIDIA зійдуться з практикою, виявиться більш доступною і в той же час більш продуктивною заміною GeForce RTX 2080 Ti. Перед RTX 3080 стоїть більш амбітне завдання підняти швидкодію в іграх і робочих додатках на нову висоту. Старші моделі засновані на одному і тому ж чіпі GA102, але, хай склад виконавчих блоків процесора в RTX 3080 серйозно урізано, його специфікації і раніше виробляють надзвичайно сильне враження. GeForce RTX 3080 отримав 8704 FP32-сумісних шейдерних ALU і в результаті дворазово перевершує по проектній пропускній спроможності матеріально чисельних розрахунків GeForce RTX 2080 Ti, а RTX 2080 - в три рази! Якщо додати до цього апгрейд блоків трасування променів і тензорних ядер, цілком справедливою здається попередня оцінка швидкодії новинки - на 100% вище RTX 2080. Як і GeForce RTX 3070, друга по старшинству модель надійде в продаж по тій же рекомендованій ціні, що і її формальний попередник, - $ 699.

GeForce RTX 3090 закриває серію споживчих прискорювачів на чіпах Ampere і, швидше за все, залишиться на вершині модельного ряду аж до виходу наступної графічної архітектури NVIDIA. Згодом ще можуть з'явитися «ампери» з приставкою Ti у назві (а може, як знати, і чергові версії SUPER), але це явно буде не RTX 3090 Ti. Справа в тому, що флагману дістався майже незайманий кристал GA102, який втратив лише два SM і містить фантастичні 10 496 32-бітних CUDA-ядер стандартної точності. За відповідними оцінками швидкодії GeForce RTX 3090 в 2,19 рази перевершує TITAN RTX, не кажучи вже про горезвісні вдосконалення RT- і тензорних ядер. Замість того щоб порівнювати цей в хорошому сенсі жахливий прискорювач з будь-яким з попередніх пристроїв, NVIDIA було досить сказати, що GeForce RTX 3090 став першою відеокартою, яка здатна виводити гру на 8К-екран з пристойною частотою зміни кадрів і високою якістю графіки, включаючи трасування променів - за допомогою масштабування DLSS у відповідних випадках, але тим не менше.


На перший погляд, підбадьорлива тенденція до демократизації цін «зелених» GPU обійшла стороною RTX 3090. Новинку оцінили в безпрецедентно високу за мірками споживчих відеокарт суму $ 1 499. По крайній мірі, одночипових, адже саме стільки коштував AMD Radeon R9 295X2. Втім, нехай GeForce RTX 3090 не по кишені більшості геймерів, RTX 3080 вже настільки сильний, що приводів для туги за додатковими 20% обчислювального потенціалу ми не бачимо. Крім того, RTX 3090 чи не здається обурливо дорогим, якщо зрозуміти, що в рамках нового покоління він займає проміжну позицію відразу перед черговим «Титаном». Не дивно і те, що RTX 3090 залишився останній з «зелених» відеокарт з роз'ємом NVLink і, відповідно, підтримкою багаточіпового рендерингу за допомогою SLI (хоча головне призначення NVLink - це все-таки розрахунки загального призначення). Та й оперативної пам'яті в RTX 3090 більш ніж достатньо - цілих 24 Гбайт.

А ось питання про те, чи є обсяг VRAM у GeForce RTX 3070 і RTX 3080 адекватним їх обчислювальної потужності, залишається відкритим. RTX 3080 отримає 10 Гбайт нового типу GDDR6X, а RTX 3070 - 8 Гбайт звичної пам'яті GDDR6. Тим часом вже не рідкість, коли споживання VRAM сучасними іграми при вирішенні 4К виходить за межі 8 Гбайт. Забігаючи наперед, скажемо, що в перспективі дефіцит локальної пам'яті графічного процесора зможе, принаймні частково, компенсувати програмний інтерфейс Microsoft DirectStorage і апаратна технологія RTX IO, на яку він буде спиратися в чіпах Ampere. Але поки світле майбутнє не настало, RTX 3070 може зіткнутися з обмеженнями за обсягом оперативки, які все-таки заважають назвати його рівноцінною заміною 11-гігабайтного RTX 2080 Ti.


У «зелених» продуктів нового покоління є ще один спірний аспект. NVIDIA не соромиться величин енергоспоживання на рівні 320 Вт для GeForce RTX 3080 і цілих 350 Вт для GeForce RTX 3090 (апетити RTX 3070 оцінені в помірні 220 Вт). Коли в останній раз на нашій пам'яті референсні відеокарти досягали подібної потужності, це був Radeon RX Vega 64 LC зі штатною СЖО (345 Вт) і Radeon VII (300 Вт). Втім, ми завжди стояли на позиції, що користувача стандартного робочого столу не повинно хвилювати енергоспоживання відеокарти, поки вона тихо працює, не перегрівається, а головне, відпрацьовує витрачену електрику в іграх. В останньому ми вже не особливо сумніваємося, а ось для того, щоб гарантувати «Ампер» адекватне охолодження, NVIDIA розробила абсолютно новий і незвичайний дизайн референсних відеокарт.

Останнім і, мабуть, головним приводом для занепокоєння за геймерський Ampere для нас є реальні роздрібні ціни, за якими відеокарти можна буде знайти в продажу, особливо спочатку. Сама NVIDIA може повісити будь-якій ярлик на пристрої Founders Edition, але при такому енергоспоживанні, як у старших «Ампер», виробництво адекватно потужної обв'язки для GPU не може бути дешевим для тайваньських вендорів. Крім того, ходять наполегливі чутки про те, що обов'язково з'являться версії GeForce RTX 3070 і RTX 3080 з подвоєним об'ємом VRAM, які вже точно вийдуть за рамки цін, розрахованих на референсні специфікації.

Графічний процесор GA102

Першими чіпами архітектури Ampere, офіційно представленими NVIDIA, є процесор A100, призначений для дата-центрів і робочих станцій, і GA102, що вінчає лінійку споживчих продуктів GeForce RTX 30. Досить поглянути на титульні характеристики чіпа, щоб переконатися в тому, як далеко пішла вперед «сира» обчислювальна потужність в порівнянні з кремнієм Turing.

Судіть самі. Мікроархітектура повністю функціональної версії GA102 представлена ​​сімома блоками GPC (Graphics Processing Cluster, найбільшими масштабованими компонентами масиву) - проти шести на кристалі TU102. Кожен з них як і раніше містить растеризатор, що виконує проекцію геометрії в пікселі, і 12 потокових мультипроцессоров (Streaming Multiprocessor), ось тільки набір 32-бітових CUDA-ядер, що обробляють речові числа, всередині SM був подвоєний. В результаті формула головних виконавчих блоків GA102 включає 10 752 FP32-сумісних CUDA-ядер і 336 блоків накладення текстур.


Інша особливість GA102, помітна з висоти пташиного польоту, полягає в тому, що блоки операцій растеризації (ROP) більше не прив'язані до контролерів оперативної пам'яті і тепер є компонентом GPC - одиниць, з яких компанія збирає процесори різної потужності під той чи інший транзисторний і доларовий бюджет. В останньому зауваженні і криється причина міграції ROP під одним дахом з потокових мультипроцесорів (SM). Інженери NVIDIA прагнуть вирівняти пропускну здатність початковій і кінцевій стадій конвеєра рендерингу, а саме піксельний філлрейт ROP і швидкість роботи растеризатору. Растеризатор всередині GPC видає 16 кольорових пікселів за такт, а кожен ROP змішує або зафарбовує один піксель. Тепер, коли GPC містить 16 ROP, встановилося співвідношення 1: 1 між пропускною спроможністю растеризатору і блоків растрових операцій, що не залежить від конфігурації шини пам'яті. Загальна кількість блоків операцій растеризації GA102 становить 112 штук.

Таким чином GA102 отримав в загальній складності 112 ROP проти 96 в TU102, уникнувши обмеження по піксельному філлрейту, яке обов'язково виникло б у рамках попередньої архітектури. З іншого боку, в «молодших» чіпах Ampere класу GA106 не виникне пляшкове горлечко на стороні растеризатору, як сталося з TU106: растеризатор в складі трьох GPC випускають 48 пікселів за такт, в той час як 64 ROP можуть зафарбувати, відповідно, 64 пікселя.

Величезний масив виконавчих блоків GA102 живить даними 384-бітна шина оперативної пам'яті з підтримкою нового типу мікросхем GDDR6X, який ми теж обговоримо свого часу. А ось обсяг кеша другого рівня, як і в TU102, дорівнює 6 Мбайт. Нарешті, для зв'язку із зовнішнім світом використовується шина PCI Express Gen 4 і інтерфейс NVLink - активний в GeForce RTX 3090, але відключений в RTX 3080. Хоча загальна пропускна здатність містка залишилася практично такою ж, як у споживчих прискорювачів архітектури Turing (112,5 Гбайт / с в обидва боки проти 100 Гбайт / с раніше), в дійсності це інший інтерфейс, що складається з чотирьох ліній x4 швидкістю 28,13 Гбайт / с замість двох широких x8 на 50 Гбайт / с.

Процесор складається ні багато ні мало з 28 млрд транзисторів і є найбільшим ASIC на сьогоднішній день після самого GA100 (54 млрд). Для порівняння: прямий попередник новинки, старший «Тьюринг» TU102, містить вже не настільки вражаючі 18,6 млрд компонентів. Настільки різкий приріст транзисторного бюджету стало можливим завдяки переходу на наступну технологічну норму після 12-нм процесу TSMC, яким NVIDIA користувалася для виробництва «Тьюринга». Виконавцем замовлення на фотолитографію GA102 став Samsung, а номінальний розмір транзистора становить 8 нм. Точно так же, як 12-нанометровій технології Turing в офіційних документах NVIDIA фігурує під назвою 12 нм FFN (FinFet NVIDIA), самсунговскій вузол 8N був таким собі чином оптимізований під чіпи Ampere. Про особливості цього конвеєра нам взагалі мало що відомо в силу того, що він використовується далеко не так активно, як близький за номіналом 7-нм TSMC. Негайно виникає питання, чому NVIDIA на цей раз вибрала Samsung, а не TSMC, але справа, швидше за все, не в технічних перевагах 8-нм FN, а в ціні виробництва на потужностях TSMC, які зараз завантажені іншими клієнтами першої величини - такими як AMD і Apple, - та й сама NVIDIA замовляє серверні процесори GA100 там же. Благо NVIDIA недавно оголосила про те, що продукти для дата-центрів тепер становлять більшу частину її бізнесу, давно виділила відповідні чіпи в окрему гілку еволюції і не потребує того, щоб здешевлювати виробництво високомаржинальних продуктів за рахунок накрутки обсягу замовлень у того ж підрядника геймерським прискорювачами.


Як би там не було, самсунговскій 8-нм FN не можна розглядати як техпроцес другого сорту. Перехід з вузла 16 нм, на якому побудований кремній Pascal, являє собою один повний крок технологічної норми, в той час як 12-нм був проміжним етапом, що знаходило відображення на розмірі чіпів і споживаної потужності. TU102 став монстром площею 754 мм2, GA102, навпаки, при більш ніж двократному збільшенні головних обчислювальних одиниць, оцінюється цілком помірним числом 628 мм2.

І все-таки GA102 - надзвичайно великий, а головне, ненажерливий шматок кремнію. Однак NVIDIA обіцяє, що з енергоефективністю у Ampere повний порядок: за офіційними даними, продуктивність на ват потужності у GeForce RTX 3080 зросла на 90% в порівнянні з GeForce RTX 2080 SUPER. Головна заслуга в цьому належить техпроцесу 8 нм, але свою роль зіграла і оптимізація схемотехніки - зокрема, роздільні лінії живлення для ядра GPU і системи пам'яті. Крім того, за оприлюдненими тактовими частотами відеокарт Ampere недалеко пішов від Turing. NVIDIA вирішила збільшити швидкодію за рахунок укрупнення чіпів, яке завжди більш вигідне з позиції енергоефективності, а не прямого розгону, зазвичай асоційованого зі зміною технологічної норми.

Крім того, незважаючи на всі лякаючі числа, якими характеризується процесор GA102, - кількість CUDA-ядер, площа і енергоспоживання кристала, гідності Ampere не зводяться до грубої сили. Архітектура графічних процесорів NVIDIA пройшла черговий виток удосконалень, які нам належить розглянути в цьому огляді.


SM в архітектурі Ampere


Починаючи з чіпів Maxwell, інженери NVIDIA ділять Streaming Multiprocessor на чотири секції з різною кількістю обчислювальних блоків всередині (в залежності від конкретної реалізації в тому чи іншому GPU) і в попередньому поколінні архітектури (Turing) прийшли до того, що секція SM містить 16 CUDA- ядер, що оперують форматом даних FP32. Крім того, в процесорах Volta і Turing, відокремили шлях даних для операцій над цілими числами всередині CUDA-ядер від арифметики з плаваючою комою - таким чином виник блок з 16 цілочисельних CUDA-ядер, а загальне число ALU, які можуть бути завантажені одночасно, ефективно подвоїлося.

Всередині секції SM знаходиться власний планувальник, який за такт відправляє на виконання одну інструкцію warp'a (групи з 32 потоків інструкцій - т.зв. робочих одиниць), яка дозволяє зробити одну і ту ж операцію над 32 операндами. Завдяки тому, що блоку з 16 шейдерних ALU потрібно два такти, щоб виконати інструкцію, в другому такті планувальник залишається вільний. Непарні такти планувальника можуть бути зайняті відправленням інструкцій з іншого warp'а на 16 цілочисельних ALU (або інші типи виконавчих блоків, які ми поки не згадували), тому теоретична пропускна здатність Turing при повному завантаженні цілочисельними розрахунками та операціями з плаваючою точкою водночас також збільшилася в два рази в порівнянні з виключно дробовою або виключно цілочисленою арифметикою.

До оглядів прискорювачів на Turing неодноразово звучала думка, що NVIDIA слід вкластися в більше число CUDA-ядер замість спеціалізованих блоків трасування променів, які нібито перешкодили Чіпмейкеру випустити GPU, які здатні зберегти колишні темпи зростання продуктивності. І хоча серія GeForce RTX 20 дійсно виявилася не найвдалішим прикладом зростання швидкодії в порівнянні з її попередниками, не кажучи вже про питому вартість FPS, звинувачувати в цьому рейтрейсінг не зовсім коректно. Зрештою, на ALU загального призначення як і раніше лягає левова частка навантаження при перерахунку шейдерів під час множинних відображень променів, а також денойзінг зображення, необхідний при порівняно низькій щільності останніх в рендеринзі реального часу.


Проте ось відповідь NVIDIA всім тим, кому не доповіли шейдерних ALU в архітектурі Turing: тепер кількість CUDA-ядер FP32 всередині секції SM стало вдвічі більше. Ampere повернувся до вихідних позицій архітектури Pascal, коли на одному і тому ж шляху даних лежить масив 16 ALU FP32 і 16 цілочисельних ALU INT32, але з'явилася окрема гілка з 16 FP32-сумісних CUDA-ядер. Таким чином, при рівній кількості SM теоретична продуктивність Ampere в операціях над 32-бітними числами збільшилася в два рази в порівнянні з Turing. Мабуть, це головне, що потрібно винести з огляду нових чіпів, якщо немає інтересу до більш витончених аспектів нової архітектури.

Користь від реорганізації SM ще і в тому, що транзисторний бюджет процесора не так сильно роздувся, як якщо б NVIDIA просто наростила їх кількість. Щоб наситити потреби посиленого SM в швидкому доступі до даних, обсяг кеша L1, загальний з пам'яттю, був збільшена з 96 до 128 Кбайт, а його пропускна здатність - з 64 до 128 байт за такт. Крім того, Ampere допускає більш гнучкі пропорції між L1 і пам'яттю. Раніше можна було виділити лише 64 з 96 Кбайт одного типу даних. Тепер колективна пам'ять може зайняти аж до 100 Кбайт в задачах GP-GPU, хоча корисний об'єм кеша L1 і текстурного кешу для 3D-візуалізації як і раніше не перевищує 64 Кбайт.

Обсяг реєстрового файлу - найближчого до ALU і, відповідно, найшвидшого типу пам'яті в графічному процесорі - як і раніше становить 256 Кбайт, а значить, залишаються в силі обмеження на одночасне завантаження компонентів SM: якщо точніше, під час роботи тензорного ядра планувальник не може форматувати ніякі інші з основних обчислювальних блоків через тиск на реєстровий файл. Однак тензори в новій архітектурі ми розглянемо докладніше трохи пізніше.

Незважаючи на всю міць Ampere, про реальну швидкодію, близькому до проектних значень, може йти мова тільки при рафінованому матеріально кількісному навантаженні, адже блок INT32-ядер тепер знову висить на одній гілці з одним з двох блоків FP32. Крім того, на такти планувальника в SM претендує маса інших компонентів.

  • Крім власне тензорної математики на тензорних блоках Ampere виконує операції з числами половинної точності (FP16). Тут нічого не змінилося: інструкція warp'а над операндами FP16 як і раніше виконується за один такт - вдвічі швидше стандартної точності.
  • У кожній секції SM присутній блок з чотирьох ALU спеціального призначення (SFU), призначених для виконання геодезичних операцій. Одну інструкцію warp'а SFU виконує за вісім тактів, але займає тільки один такт планувальника для ініціалізації.
  • Пара CUDA-ядер подвійний розрядності (FP64) для сумісності з кодом, що містить високоточні розрахунки.

Нарешті, в Turing і Ampere є скалярні ALU, які використовуються операціями умовного розгалуження, переходу та іншої цілочисельної арифметики. У таких випадках усі значення операцій однією SIMT-інструкції однакові і замість того, щоб завантажувати ними INT32-блоки, 32 операції скаляризуються в одну. Кожна секція SM містить один скалярний блок, який виконує свою інструкцію за два такти і займає один такт планувальника для ініціалізації. Таким чином, скалярні операції Ampere не мають ніяких переваг в пропускній здатності перед векторними, тільки в енергоефективності.

Якщо не брати до уваги скалярних ALU і тензорні операції, конкуренція виконавчих блоків за такти планувальника дозволяє паралельно відпрацьовувати всередині секції SM не більш трьох різнотипних навантажень з чотирьох можливих: арифметика з речовими числами стандартної точності (на CUDA-ядрах FP32), з цілими (INT32), з речовими половинної точності (FP16) і тригонометричні операції (SFU). Завдяки тому, що FP32- і INT32-інструкції бігають на своїх ALU по два такти, а SFU - по вісім, допустимі різні комбінації між ними. Крім того, клієнтом планувальника є ще і блок розгалужень, а також група блоків load / store. Щоб задіяти будь-які з них, в цей такт планувальник не може віддати інструкцію для виконання на шейдерних ALU.

Розрахунки пропускної здатності, яку розвиває SM графічних процесорів Ampere, наведені в таблиці для порівняння з архітектурою Turing, Pascal, а також змагаються «червоними» рішеннями - RDNA і GCN, як і раніше бадьоро відчувають себе в сфері GP-GPU. Зауважимо, що ми не прагнули охопити абсолютно все поєднання інструкцій, які можливі в розглянутих архітектурах. Пропуск тактів ALU, який в чіпах NVIDIA можуть викликати операції load / store, теж не береться до уваги (GCN і, швидше за все, RDNA обходить останнє обмеження за рахунок великого числа портів планувальника). Опустимо і скалярні операції в Turing і Ampere, оскільки вони лише заміщають навантаження на блоках INT32 в потрібний момент. У GCN і RDNA вектор і скалярні інструкції даються одночасно (за умови, що наше розуміння архітеткур AMD в умовах обмеженої інформації коректно).

Все, що нам було потрібно, це оцінити швидкодію при роботі з тим чи іншим форматом даних - FP32, INT32, FP16, а також в тригонометричних операціях. З урахуванням темпу виконання повільних інструкцій ми взяли за часовий інтервал пропускної здатності вісім тактів GPU - таким чином, в таблиці залишається менше дрібних чисел.


Ampere подвоїв пікову продуктивність в операціях над числами FP32, властиву Turing. Але по таблиці добре видно, що про те можна сказати, якщо взяти за точку відліку конкуруючу архітектуру RNDA. Крім того, присутність в шейдерному коді тригонометричних операцій сильніше б'є по загальній пропускній здатності RDNA, ніж Ampere. Нікуди не поділася і можливість виконувати INT32- і FP32-розрахунки одночасно, яка RDNA не володіє. Втім, порівнюючи Ampere і RDNA, не слід фокусуватися на питомій продуктивності основного будівельного блоку тієї та іншої архітектури - SM у NVIDIA і Compute Unit у AMD. У тому вигляді, як RDNA представлена ​​чіпами Navi, один CU слабкіше амперовского SM, але він, очевидно, і дешевше по транзисторному бюджету. Котрий же з двох підходів виявиться виграшним на наступному витку протистояння між двома чіпмейкерами, ми зможемо з'ясувати на практиці вже в наступному місяці, коли будуть представлені продукти на основі великого Navi і RDNA другого покоління.

Посилені блоки трасування променів


Кожен SM в архітектурі Turing містить RT-ядро, яке виконує пошук перетинів між променем і полігонами сцени. У найпростішому випадку така задача вкрай неефективна і ресурсомісткість вирішується шляхом перебору всіх геометричних примітивів, але RT-двигун Turing використовує поширений метод оптимізації під назвою Bounding Volume Hierarchy. Алгоритм BVH заздалегідь сортує полігони об'єктів по вкладеним один в одного боксів. Таким чином, щоб швидко визначити точку перетину променя з поверхнею примітиву, спершу програмі потрібно рекурсивним чином пройти крізь деревоподібну структуру BVH.

RT-ядра, представлені в чіпах Turing, розділені на два механізми, один з яких відповідає за пошук полігону всередині BVH, а інший - за визначення барицентричних координат перетину з променем на площині самого полігону. І хоча поява RT-ядер сама по собі допомогла Turing вийти на рівень швидкодії, недосяжний в рамках програмного рейтрейсингу, перша ітерація даної архітектури має свої обмеження. А саме, два компонента RT-ядра працюють суворо в послідовному порядку. У Ampere це змінилося: блок перетину з полігоном може займатися одним променем одночасно з тим, як блок BVH відстежує другий. Крім того, перший блок працює вдвічі швидше, ніж раніше.


Нарешті, в апаратному рейтрейсингу на чіпах Ampere є одне функціональне нововведення - трассування motion blur. Інформація про стан геометричного примітиву в кадрі тепер може зберігатися не тільки у вигляді незмінних координат, але ще й у вигляді функції, яка описує його рух. Таким чином, для того, щоб виявити полігон всередині BVH, потрібно поставити запитання: «Де він знаходиться в даний момент часу?». Потім кожен з безлічі променів, що відслідковуються RT-ядром в межах одного кадру, кілька разів перетинає поверхню полігону в інтерпольованих координатах, відповідному мінливому положенню вершин уздовж заданого вектора, і виходить розмиття в русі.

Завдяки спеціалізованому залізу, трассування motion blur на чіпах Ampere виконується у вісім разів швидше в порівнянні з теоретичною швидкістю на Turing. Також зауважимо, що рух полігону не повинен бути лінійним і може, наприклад, бути круговим, як у лопастей вентилятора. У будь-якому випадку результатом стає більш якісний ефект розмиття в порівнянні з іншими, часом більш витонченими, але не настільки елегантними методами.

Технологія вже підтримується пакетами оффлайнового трасування променів, сумісними з інтерфейсом NVIDIA OptiX 7.0, - такими як Blender 2.90, Chaos V-Ray 5.0, Autodesk Arnold і Redshift Renderer 3. А ось в комп'ютерних іграх вона з'явиться не так скоро: як не крути, вона багаторазово збільшує навантаження не тільки на RT-ядра, але і на масив шейдерних ALU.


Тензорні ядра нового покоління


Спеціалізованим виконавчим блоком секції SM в процесорах Turing є два тензорних ядра, які розраховані на єдиний тип операцій - FMA (Fused Multiply Add), а в якості операндів приймають матриці чисел з плаваючою комою. Подібні обчислення використовуються при обробці даних нейромережами (inference) як в професійному, так і в ігровій сфері - наприклад, на них спирається фірмовий алгоритм масштабування кадрів DLSS.

У чіпах Volta і Turing тензорне ядро ​​перемножує дві матриці чисел половинної точності (FP16) розміром 4 × 4 і складає результат з третьою матрицею 4 × 4 (FP16 або FP32), щоб отримати фінальну матрицю FP32. Таким чином, одне тензорне ядро ​​за такт процесора виконує 64 інструкції FMA. Що ж змінилося в наступній ітерації мікроархітектури? По-перше, тензорне ядро ​​Ampere має вдвічі більшу пропускну здатність за рахунок того, що розмірність однієї з перемножуючих матриць збільшилася з 4 × 4 до 4 × 8. Втім, кожна секція SM споживчих чіпів Ampere тепер містить лише одне тензорне ядро, так що питома продуктивність на такт залишилася тією ж. У серверному GA100 вона подвоєна, оскільки кожне тензорне ядро ​​виконує множення матриць розміром 8 × 4 і 8 × 8, але реалізовувати подібну обчислювальну потужність в споживчих продуктах NVIDIA поки не вважає доцільною інвестицією транзисторного бюджету.


Загальним нововведенням для GA100 і геймерських різновидів Ampere є підтримка структурно-розріджених матриць, які дозволяють істотно збільшити пропускну здатність тензорних ядер. Давайте розберемося, про що йде мова. Глибинне навчання нейромережі починається з того, що кожен вузол певного шару з'єднаний з усіма вузлами наступного, а в процесі тренування, з'єднання набувають ваги, які визначають «переміщення» даних, які обробляються нейромережею на практиці. При цьому обов'язково виникають сполуки, що не роблять значного впливу на точність результатів. Такі сполуки, вузли або цілі сегменти прийнято усувати для економії обчислювальних потужностей в той чи інший спосіб, і виходить, власне кажучи, розріджена мережа.

Наприклад, ваги з'єднань, близькі до нуля, обнуляються, після чого проводиться повторне тренування мережі - метод т. з. Fine-Grained Sparsity. В іншому випадку (Coarse-Grained Sparsity) вилучаються цілі сегменти мережі. Перший підхід дозволяє зберегти високу точність, але страждає від низької оптимізації під масивно-паралельну архітектуру виконавчих блоків і пам'яті GPU. Так, для того, щоб отримати дані на виході вузлів в умовах Fine-Grained Sparsity, потрібен різний обсяг обчислень, що викликає проблеми з балансуванням навантаження і нерівномірний доступ до пам'яті. А ось структурна розрідженість (Fine-Grained Structured Sparsity) також допускає присутність в мережі нульових ваг, але разом з тим накладає такі обмеження, що кожен вузол певного ряду повинен мати фіксоване число деактивованих з'єднань. В результаті на кожен вузол доводиться однаковий обсяг обчислень і запитів до даних.

Тензорні ядра Ampere оптимізовані під обробку структурно-розріджених нейромереж таким чином, що в розрахункових матрицях можлива наявність двох ненульових значень в ряду з чотирьох чисел, а загальна продуктивність також збільшується в два рази за рахунок пропуску нулів. Крім того, матриці, розріджені в співвідношенні 2:4, допускають дворазову компресію, яка економить обсяг і пропускну здатність різних ешелонів пам'яті GPU. Зауважимо, що Ampere не виконує розрідження матриць на льоту, але NVIDIA надала для цього простий алгоритм. Спочатку розробник повинен виконати тренування нейромережі з результатом у вигляді щільної матриці, потім остання конвертується в розріджену, і нарешті відбувається тонке налаштування решти ваг. Як стверджує чипмейкер, метод не призводить до істотного падіння точності обробки даних нейромережею (inference) в таких завданнях, як комп'ютерний зір, розпізнавання об'єктів, моделювання природних мов і т. д.


Однак і це ще не все. Наступне нововведення Ampere, пов'язане з тензорними ядрами, яке безпосередньо стосується продуктивності в іграх. Справа в тому, що Turing не дозволяє одночасно навантажувати блоки трасування променів і тензорні ядра. Як наслідок, графічні шейдери можуть оброблятися безперервно у міру рендеринга кадру, але паралельно їм, в окремий момент часу діє тільки один тип розрахункового (compute) навантаження - рейтрейсинг або тензорні операції DLSS. Тепер трасування променів, графічні шейдери і DLSS всередині SM виконуються одночасно, що додатково скорочує час рендерингу. Може виникнути питання, яким чином DLSS знаходить роботу, поки кадр ще не готовий. Відповідь в тому, що DLSS має тимчасову компоненту і залучає дані попередніх кадрів.


Оперативна пам'ять GDDR6С


Колосальний потенціал обчислювальної потужності старших чіпів Ampere потребує відповідної пропускної здатності набортної пам'яті відеокарти. У той же час швидкість перемикання осередків DRAM збільшити нелегко, а пропускну здатність в останні роки вдавалося нарощувати головним чином за рахунок паралелізму. Так, наприклад, в стандартах GDDR5X і GDDR6 ввели режим QDR, який шляхом фазового зсуву чотирьох копій сигналу (частоти WCK, Word Clock) забезпечує подвійну пропускну здатність у порівнянні з чіпами GDDR5, які передають інформацію в режимі DDR. Але при цьому «реальна» частота WCK спочатку була такою ж, як в рамках GDDR5.

Споживчі відеокарти сьогодні оснащуються пам'яттю GDDR6 з номінальною швидкістю передачі даних аж до 16 Гбіт / с на контакт, але схоже, що таким процесорам, як GA102, потрібно черговий якісний стрибок. NVIDIA могла піти шляхом збільшення розрядності шини пам'яті GPU - або за рахунок переходу на HBM2, як зроблено в топових пристроях AMD і «зелених» серверних прискорювачах, включаючи GA100, або за рахунок підключення чіпів GDDR6 до широкої 512-бітної шини. Але виявилося, що є й інший вихід. На замовлення NVIDIA компанія Micron створила для прискорювачів GeForce RTX 30 нові мікросхеми пам'яті GDDR6X. Назва викликає асоціації з GDDR5X, і недаремно. Останній тип SGRAM був розроблений спеціально під потреби передових пропозицій NVIDIA свого часу - GeForce GTX 1080 Ti і прискорювачів Quadro на тому ж чіпі GP102. Згодом стандарт був кодифіковано JEDEC, але жоден інший виробник, крім NVIDIA і Micron, не скористався цією можливістю.

GDDR6X поки теж не є надбанням всієї індустрії, хоча напрацювання Micron ще можуть знайти застосування в прийдешніх версіях пам'яті GDDR. Йдеться про докорінну зміну принципів кодування сигналу WCK. Сьогодні, в пам'яті типу GDDR6, один такт сигналу кодує один біт інформації, який відповідає високій і низькій напрузі провідника. У GDDR6X, навпаки, застосовується амплітудно-імпульсна модуляція, коли амплітуда сигналу може приймати чотири різних значення (PAM4) і, відповідно, в одному такті сигналу закодовані два біта даних. В рамках PAM4 можна вдвічі знизити частоту WCK, зберігши колишню пропускну здатність, а потім поступово нарощувати і те й інше.


Для початку Micron налагодила випуск мікросхем з номіналом 19 і 21 Гбіт / с на контакт шини. 19 Гбіт / с в GeForce RTX 3080 забезпечує пропускну здатність на рівні 760 Гбайт / с при шині RAM, урізаною з 384 до 320 біт. Серед сучасних споживчих відеокарт вищою ПСП може похвалитися лише Radeon VII (1 Тбайт / с), але GeForce RTX 3090 навіть при тому, що NVIDIA обмежилася швидкістю 19,5 Гбіт / с на контакт, вже наближається до показників HBM2 завдяки повністю активної 384 бітної шини пам'яті - 936 Гбайт / с. Порівняно низькі «реальні» частоти сприятливо впливають і на енергоефективність чіпів - за даними Micron, вона збільшилася на 15%, що зовсім не зашкодить надзвичайно ненажерливим новинкам.

Нарешті, NVIDIA відзначає, що кожен чіп GDDR6X тепер пов'язаний з GPU двома псевдо незалежними каналами. Насправді і звичайна пам'ять GDDR6 влаштована так, що половинки мікросхеми мають власні шини передачі команд, адрес і окремі 16-бітові шини передачі даних. Загальною є лише тактова частота - звідси приставка псевдо-. По всій видимості, в даному випадку мова йде про більш гнучке управління кристалами DRAM, яке допомагає прискорити операції проходження структур BVH при трасуванні променів.

Як би там не було, перехід від GDDR6 до GDDR6X не пройшов безкоштовно: PAM4 збільшує продуктивність RAM ціною підвищених вимог до співвідношення «сигнал - шум». І, отже, для того, щоб обслуговувати пам'ять з такими характеристиками, потрібні витончені контролери. Зокрема, NVIDIA використовує в пам'яті прийом, який поширений в телекомунікаційних стандартах, що спираються на амплітудно-імпульсну модуляцію, - перекодування потоку даних для запобігання максимальних коливань амплітуди, - а крім того, алгоритми динамічного підстроювання сигналу. Окрему лінію живлення для підсистеми пам'яті графічного процесора, яку ми згадали на початку статті, вирішили прокласти не в останню чергу для того, щоб знову-таки поліпшити співвідношення «сигнал - шум» в умовах PAM4.


Нарешті, виробникам друкованих плат для GeForce RTX 3080 і RTX 3090 тепер теж доведеться мати справу з більш жорсткими вимогами до схемотехніки, ніж будь-коли раніше. Не дарма чіпи RAM в референсній версії RTX 3080 розпаяні так близько до підкладки GPU. Відзначимо, що мікросхеми GDDR6X випускаються в таких же корпусах, як у GDDR6, і володіють таким же набором контактів для тих чи інших сигналів. У нас немає підтвердження того, що старий і новий тип пам'яті електрично сумісні між собою, але цілком можливо, що так воно і є, а партнери NVIDIA зможуть використовувати один і той же дизайн друкованої плати для GeForce RTX 3080 і RTX 3070, хоча останній розрахований саме на GDDR6.


Головним практичним запереченням при виборі пам'яті для GeForce 30-ї серії є ціна рішення. GDDR6X значно дешевше у виробництві і збірці в порівнянні з HBM2, але все-таки дорожче GDDR6 і потребує більш складних друкованих платах. Всі ці обставини дають нову поживу для сумнівів в тому, що виробники відеокарт оригінального дизайну зуміють утримати приємні роздрібні ціни, рекомендовані NVIDIA. І зрозуміло, не йде ніякої мови про те, щоб дешево коштували «ампери» з подвоєним об'ємом VRAM. Micron ще не випускає чіпів ємністю більше 8 Гбіт, а значить, в гіпотетичні 20-гігабайтні різновиди GeForce RTX 3080 і 16-гігабайтні RTX 3070 доведеться закладати вдвічі більше мікросхем для роботи в clamshell-режимі, не рахуючи ще складнішої схемотехніки друкованих плат. А професійні прискорювачі на базі GA102, можливо, будуть на перших порах обмежені «старою» пам'яттю GDDR6, якщо NVIDIA націлилася на позначку 48 Гбайт.

RTX ІO


Ще один важливий аспект швидкодії GPU, над яким попрацювали творці Ampere, пов'язаний з пропускною спроможністю з'єднання між графічним процесором і іншими компонентами системи. Так, усі відеокарти серії GeForce RTX 30 використовують інтерфейс PCI Express четвертого покоління, але це лише тимчасове рішення складнощів, що виникають при передачі даних між ПЗУ комп'ютера, центральним процесором і локальною пам'яттю графічної карти - зокрема, в таких сценаріях, як попереднє завантаження ресурсів гри або стрімінг останніх в реальному часі, який широко використовується для подолання обмежень ємності VRAM. Тим більше, як ми вже помітили, сам обсяг оперативної пам'яті може створити труднощі для GeForce RTX 3080 в не настільки віддаленому майбутньому, а референсні специфікації GeForce RTX 3070 вже виглядають проблематично.

Деякі сучасні ігри займають на жорсткому диску або SSD понад 200 Гбайт місця, і значна частина цих даних так чи інакше повинна потрапити в оперативну пам'ять GPU. У традиційній логіці введення-виведення це виконується незграбним способом, коли ресурси спершу копіюються в системну пам'ять, а потім в VRAM, двічі проходячи через інтерфейс PCI Express. Крім того, швидкий SSD не завжди підключений безпосередньо до центрального процесора: наприклад, свої обмеження на пропускну здатність може накладати шина DMI між CPU і PCH в архітектурі Intel. Нарешті, домінуючі в десктопах файлові системи також не розраховані на ефективну обробку такої кількості запитів вводу-виводу.


Щоб обійти всі перераховані обмеження, розробники ігор застосовують компресію даних без втрат, але у неї є власні витрати: розпакування даних займає такти процесора. У патологічних випадках, які симулювала NVIDIA, декомпресія потоку даних з твердотільного накопичувача, здатного видати 7 Гбайт / с по шині PCI Express 4.0, повністю поглинає 24 ядра Ryzen Threadripper 3960X! Сучасні ігри, очевидно, не можуть створити настільки вузьке горло пляшки, але, судячи з того, якими темпами наростає обсяг графічних ресурсів, це лише питання часу.


Докорінно вирішити проблему завантаження даних в пам'ять GPU може тільки абсолютно інша архітектура введення-виведення. Такі рішення вже існують. Наприклад, в консолі нового покоління Xbox Series X застосовується спеціальний SSD, блок апаратної декомпресії, а також інтерфейс програмування DirectStorage. Microsoft має намір перенести DirectStorage на PC, і, якщо врахувати майбутні крос-платформні проекти, впровадження нового API в передові гри для персоналок не за горами. Проте для роботи DirectStorage потрібно не тільки SSD, але і засоби прискореної декомпресії даних, що знімають навантаження з центрального процесора.

Саме цю функцію бере на себе технологія RTX IO, яка вносить два ключових зміни в спосіб передачі даних. По-перше, за допомогою DMA-блоків Turing і Ampere (так-так, це не ексклюзивна особливість RTX 30-ї серії) графічні ресурси копіюються безпосередньо в VRAM, минаючи системну пам'ять. По-друге, на шляху від SSD до відеокарти дані залишаються стиснутими, а декомпресію виконує сам графічний процесор шляхом асинхронних обчислень на шейдерних ALU. Таким чином завантаження з ПЗУ може відбуватися на повній швидкості PCI Express 4.0, але при цьому тиск на CPU зменшується в десятки разів. RTX IO під керуванням DirectStorage дасть розробникам ігор можливість більш агресивно використовувати компресію даних, що в результаті радикально зменшить час первинного завантаження ігор. З іншого боку, завдяки швидкісної потокової передачі GPU зможе на льоту отримувати ресурси з ПЗУ - як для того, щоб в іграх в принципі було менше періодів завантаження, так і для економії обсягу VRAM.


Апаратне декодування AV1 і вихід HDMI 2.1


Чіпи Ampere стали першими графічними процесорами з блоками фіксованої функціональності для швидкого декодування AV1 - нового, високоефективного формату стиснення відеозаписів, який призначений головним чином для трансляції відео по мережі. AV1 забезпечує більш високу ступінь компресії, підвищена якість зображення в порівнянні з поширеними кодеками HEVC (H.265) і VP9 і в той же час вільний від ліцензійних відрахувань.

AV1 ідеально відповідає вимогам 8К-відео, але декомпресія формату надає надзвичайно сильне навантаження на процесори загального призначення. Так, навіть сучасний восьмиядерний CPU не гарантує більше 30 кадрів/с при відтворенні записів 8К з високим динамічним діапазоном. Нова версія декодера NVDEC цілком бере цю задачу на себе. Разом з тим на цей раз NVIDIA нічого не говорить про швидкість декодування колишніх форматів H.264, HEVC і VP9. Благо чіпи Turing вже досягли в ній надзвичайно високих показників. Кодувальник NVENC також дістався в спадок новим GPU без будь-яких змін.



Якщо невдовзі GeForce RTX 3090 оголошений відкритий для гри в дозволі 8К, справедливо, що флагманський Ampere і два молодших прискорювача обзавелися інтерфейсом HDMI версії 2.1 з максимальною пропускною здатністю, описаним стандартом (48 Гбіт/с), яка як раз забезпечує передачу 8К-сигналу з частотою оновлення 60 Гц, а завдяки компресії (DSC) - ще й HDR.

Висновки


Якщо прискорювачі сімейства Turing стали в історії графічних процесорів NVIDIA таким же поворотним моментом, як поява програмованих шейдерів в GeForce 256, а потім уніфікованої шейдерної архітектури і обчислень загального призначення в GeForce GTX 8800, Ampere викликає асоціації з такими славними продуктами, як Kepler і Pascal. Тоді NVIDIA зосередилася на зростанні чистої продуктивності, спираючись на переваги передового техпроцесу, а користувачі насолоджувалися колосальною надбавкою ігрової продуктивності. З відеокартами GeForce RTX 30 сталося приблизно те ж саме. Звичайно, інженери NVIDIA не упустили можливості розширити функціональність GPU. Зокрема, таке нововведення, як RTX IO, виглядає досить перспективно і має всі шанси знайти практичне застосування в іграх. Але RTX IO не прив'язана до чіпів Ampere, сумісна з Turing, та й в цілому попереднє покоління «зелених» GPU вже заклало основи архітектури, що стоїть на трьох китах: ефективної організації шейдерних ALU, тензорних обчисленнях і апаратно прискореного трасування променів. Від наступної ітерації кремнію було потрібно тільки наростити продуктивність (тепер уже за два покоління відразу), і, судячи з того, що ми знаємо про Ampere, відеокарти RTX 30 впоралися з цим завданням.

А головне, NVIDIA прислухалася до думки покупців і повернулася до правила «більше FPS за ті ж гроші». Залишилося переконатися в величині надбавки, але це ми з'ясуємо в найближчі дні, коли в нашому розпорядженні з'являться довгоочікувані тестові зразки GeForce RTX 3080 і RTX 3090. Разом з тим повинні зізнатися, що нас дещо турбує в характеристиках новинок. Так, NVIDIA встановила на відеокарти 30-й серії такі ж ціни, як у попередників, а якщо порівнювати GeForce RTX 3090 зі старим «Титаном», то перша коштує навіть менше. Але все, що ми дізналися про Ampere, - висока споживана потужність, що вимагає відповідного охолодження, дорогі чіпи пам'яті і складні друковані плати - говорить про те, що ці пристрої не створені дешевими. Так що ціни партнерських продуктів в результаті можуть сильно розминутися з офіційними цифрами. Крім того, поки не можна бути впевненим в існуванні альтернативних різновидів GeForce RTX 3080 і, що особливо важливо, RTX 3070 з подвоєним об'ємом VRAM, але їх ви точно не зможете купити за рекомендованою вартістю. Наша думка про прискорювачі GeForce RTX 30 і результат насуваючої битви між Ampere і великими чіпами AMD Navi визначать не тільки і не стільки тести швидкодії, скільки ситуація на ринку через місяць-другий після появи у продажу.

Валерій Косихін