Обчислення для Метаверсу - Посібник Метью Болла 4/9

Четверта частина легендарного "Посібника з Метаверсу" Метью Болла присвячена ролі обчислень (Compute). Обчислення тут визначаються як "забезпечення та постачання обчислювальних потужностей для підтримки Метаверсу, підтримка таких різноманітних і вимогливих функцій, як фізичні обчислення, рендеринг (візуалізація), узгодження та синхронізація даних, штучний інтелект, проєкція, захоплення руху та переклад".

post image

Визначення потреби у більшій обчислювальній потужності

У частинах про обладнання та мережі я перерахував лише частину додаткових даних, які будуть створюватися, надсилатися й отримуватись як частина Метаверсу — наприклад, тактильні дані, сканування обличчя та сканування навколишнього середовища в реальному часі. Повний перелік буде на порядки більше.

Наприклад, засновник і генеральний директор компанії Nvidia Дженсен Хуанг (Jensen Huang) бачить наступний крок до імерсивних симуляцій як щось більше, ніж реалістичніші вибухи або вуличні перегони. Натомість це застосування "законів фізики елементарних частинок, гравітації, електромагнетизму, електромагнітних хвиль, [включаючи] світлові та радіохвилі… тиск та звук". І "реальний" світ буде доповнюватись так само як і віртуальний. Щороку все більше датчиків, камер і чіпів IoT буде інтегровано у фізичний світ навколо нас, багато з яких будуть підключені в реальному часі до віртуальних симулякр, які зможуть взаємодіяти з нами. Тим часом наші персональні пристрої будуть нашими паспортами та генераторами багатьох із цих процесів. Коротко кажучи, велика частина світу навколо нас буде постійно взаємопов’язана та знаходитись в режимі онлайн. У тому числі і ми.

Загалом, Метаверс матиме найбільші поточні обчислювальні вимоги в історії людства. А ресурсів для обчислень надзвичайно мало, і, ймовірно, так і залишиться надалі. Цитуючи Кріса Діксона, генерального партнера Andreessen Horowitz, "Попит на кожний хороший обчислювальний ресурс в історії перевищував пропозицію… це стосується потужності центрального процесора. Це стосується потужності графічного процесора". Як наслідок, доступність і розвиток обчислювальної потужності буде обмежувати та визначати Метаверс (навіть якщо кінцеві користувачі цього не усвідомлять). Не має значення, скільки даних ви можете отримати, як швидко і чому, якщо їх не можна використати.

Розглянемо найпопулярніші сучасні ігри, подібні до Метаверсу, такі як Fortnite або Roblox. Попри те, що ці платформи досягають успіху завдяки неймовірним творчим досягненням, важливо визнати, що їхні основні ідеї далеко не нові — вони просто стали можливими. Розробники вже давно уявляли собі ігри з десятками живих гравців (якщо не сотнями чи тисячами) в одній спільній симуляції, а також у віртуальних середовищах, не обмежених нічим, окрім уяви.

Лише у середині 2010-х мільйони пристроїв споживчого рівня змогли обробляти гру зі 100 реальними гравцями в одному матчі, і стало доступним серверне обладнання, яке могло синхронізувати цю інформацію майже в реальному часі. Як тільки цей технічний бар’єр було подолано, ігрову індустрію швидко обігнали ігри, орієнтовані на багатий згенерований користувачами контент і велику кількість одночасних користувачів (Free Fire, PUBG, Fortnite, Call of Duty: Warzone, Roblox, Minecraft). А потім ці ігри швидко розширилися до тих видів медіа, які раніше були "тільки для реального життя" (наприклад, концерт Тревіса Скотта у Fortnite або Lil Nas X у Roblox).

Проте навіть за чотири роки після появи жанру Battle Royale все ще потрібна низка хитрощів, щоб він працював. Наприклад, більшість гравців ніколи не знаходяться разом. Натомість вони розкидані по великій карті. Це означає, що, хоча сервер повинен відстежувати, що робить кожен гравець, пристрої кожного гравця не повинні відображати їх або відстежувати/обробляти їхні дії. А коли Fortnite об’єднує гравців у більш обмеженому просторі для проведення соціальної події, наприклад, концерту, вона зменшує кількість учасників до 50 і обмежує їх можливості у порівнянні зі стандартними режимами гри. А для користувачів із менш потужними процесорами доводиться йти на більші компроміси. Пристрої, яким вже кілька років, не завантажують користувацькі вбрання інших гравців (оскільки вони не мають наслідків для ігрового процесу), а натомість просто представляють їх як стандартних персонажів. Примітно, що у грі Free Fire, яка доступна лише для мобільних пристроїв і в основному на Android з низьким і середнім ціновим діапазоном на ринках, що розвиваються, максимальна кількість гравців в основному режимі Battle Royale складає 50 осіб.

"Це змушує мене задуматися, куди піде подальша еволюція цих типів ігор, які ми не можемо створити сьогодні. Наш пік — 10,7 мільйона гравців у Fortnite — але це 100 000 окремих сесій для 100 гравців. Чи зможемо ми зрештою об’єднати їх усіх разом у цьому спільному світі? І як би виглядав цей досвід? Існують абсолютно нові жанри, які ще навіть не можна винайти через постійний розвиток технологій". - Тім Суїні (2019)

Це, звичайно, повільно вирішується. У 2019 році Call of Duty: Warzone пропонувала матчі для 150 гравців (хоча лише на потужніших консолях і ПК; Call of Duty Mobile обмежено 100 гравцями). Roblox також дозволив знаходитись 200 гравцям у своїх світах з відносно низькою якістю, з можливими до 700 гравців у бета-тестуванні (і обіцяно понад 1000). Improbable провів публічні тести з 4000 гравців. Але "більше одночасних користувачів" не є єдиною вимогою до наших комп’ютерних пристроїв. Ми хочемо, щоб у наших персонажів у Fortnite було більше елементів, які можна налаштувати, ніж просто вбрання та рюкзак. А як щодо окремого взуття та капелюхів? Можливість брати участь у віртуальному концерті, а не просто відвідувати його з переважно неінтерактивної, закритої зони? Повертаючись до попереднього прикладу, менше ніж 1% настільних і портативних комп’ютерів можуть відтворити Microsoft Flight Simulator з найнижчою якістю. Навіть консолі Xbox наступного покоління від Microsoft, Series S і Series X, які були випущені через два місяці після нього, ще не підтримують його.

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

Але історія людства показує, що додаткова обчислювальна потужність завжди веде до прогресу — саме тому попит на обчислення завжди перевищував його пропозицію. З цією метою бажання Дженсена Хуанга наслідувати божественний задум може здатися надмірним і непрактичним, але для цього потрібно передбачити та відкинути інновації, які можуть виникнути з цього. Хто б міг подумати, що підключення до 100 гравців у Battle Royales змінить світ?

Де розміщувати та нарощувати обчислювальні потужності

Існує кілька різних підходів, коли мова йде про вирішення постійно зростаючої потреби в обчисленнях та їх відносної нестачі. Один з них полягає в тому, щоб зосередити якомога більше обробки симуляцій в "хмарі", а не на локальних обчислювальних пристроях. Наприклад, Google Stadia і Amazon Luna обробляють весь відеоігровий процес у "хмарі", а потім надсилають весь відтворений процес на пристрій користувача у вигляді відеопотоку. Єдине, що потрібно зробити клієнтському пристрою, це відтворити це відео та надіслати вхідні дані (наприклад, переміститися вліво, натиснути "X"). Прихильники цього підходу люблять посилатися на логіку живлення наших будинків через електромережі та промислові електростанції, а не приватні домашні генератори. "Хмарна" модель дозволяє споживачам замінювати свої комп’ютери споживчого класу на "обчислювально безглузді" (цитата Джеффа Безоса) корпоративного рівня, які є більш економічними на одиницю обчислювальної потужності, і які легше замінити. Це означає, що чи є у вас iPhone за 1500 доларів чи старий холодильник з підтримкою Wi-Fi й відеоекраном, ви все одно теоретично зможете грати в "Cyberpunk 2077" у всій його повноцінній красі.

Інший підхід полягає у тому, що нам краще робити ставку на прогрес у локальних обчисленнях, а не на віддалені суперкомп’ютери, які потім повинні боротися з ненадійними мережами (див. частину 3). Хмарна візуалізація та потокове відео — це переконлива ідея, але вона також суттєво збільшує кількість даних із низькою затримкою, які необхідно доставити. Як згадувалося раніше, ігровий контент націлений на мінімум 60 кадрів на секунду (більш ніж у два рази більше, ніж стандарт для відео) і до 90–120 кадрів, в ідеалі з роздільністю від 2K до 4K. Надійно надати це всім, хто хоче брати участь у Метаверсі, водночас і з малою затримкою… дуже важко. Ось де аналогія з електромережами починає руйнуватися; маючи електрогенератор ми не намагатимемось отримати всю необхідну енергію щодня або не так швидко, як це потрібно.

І навіть при дуже низькій затримці немає сенсу передавати (а не локально обробляти) дані AR, враховуючи швидкість, з якою камера рухається та отримує нові вхідні дані (тобто буквально зі швидкістю світла і лише на відстані кількох футів). Враховуючи інтенсивні обчислювальні вимоги доповненої реальності, цілком імовірно, що наші основні персональні/мобільні пристрої зможуть виконувати "досить добре" роботу з рендерингу у реальному часі.

Поки що віддалені обчислення також не виявились набагато ефективнішими для візуалізації. Це тому, що хмарні графічні процесори не генерують "загальну потужність" для рендерингу. Натомість там використовуються т.з. заблоковані екземпляри. Один GPU, віддалений або локальний, підтримує візуалізацію лише для одного користувача. Ніхто ще не зрозумів, як ефективно, економічно та відповідно до сучасних очікувань щодо роздільної здатності та частоти кадрів розділити потужність візуалізації між кількома користувачами так само як план живлення розподіляє електроенергію між кількома будинками, або як CPU-сервер може підтримувати вхідні дані, дані про розташування та синхронізацію для сотні гравців у "королівській битві".

post image

Як наслідок, сервери хмарного рендеринга зазвичай стикаються з проблемами використання через необхідність планування пікового попиту. Служба хмарних ігор може вимагати 75 000 виділених серверів для району Клівленда о 20:00 у неділю ввечері, але лише 4 000 о 4:00 понеділка. Як споживач, ви можете придбати графічний процесор за 400 доларів і залишити його в автономному режимі скільки завгодно, але економіка ЦОДів орієнтована на оптимізацію попиту.

Ось чому AWS дає клієнтам знижені тарифи, якщо вони орендують сервери в Amazon заздалегідь ("зарезервовані екземпляри"). Клієнтам гарантований доступ на наступний рік, оскільки вони заплатили за сервер, а Amazon зберігає різницю між його вартістю та ціною клієнта (найдешевший зарезервований екземпляр AWS с Linux GPU, еквівалентний PS4, коштує понад 2000 доларів США за один рік). Якщо клієнт хоче отримати доступ до серверів, коли вони потрібні ("спотові екземпляри"), може виявитись, що вони недоступні, або доступні лише графічні процесори нижчого класу, або лише графічні процесори в іншому регіоні, що означатиме більшу затримку.

Якщо ця модель піде на ринок, ціни покращаться ("Маржа AWS для зарезервованих споживчих екземплярів — це моя можливість"), але оренда високоякісних графічних процесорів із низьким рівнем використання та корпоративною націнкою завжди буде дорогою. Центри обробки даних також виділяють значне тепло, що вимагає дорогої енергії для охолодження, а перехід від потокової передачі даних у "хмарі" до контенту з високою роздільною здатністю та високою частотою кадрів також означає істотно вищі витрати на пропускну здатність. Обидві ці витрати є аддитивними (додаються одна до одної) у порівнянні з локальними обчисленнями.

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

post image

Граничні (Edge compute, периферійні) обчислення часто виділяють як ключову інфраструктурну стратегію для Метаверсу. Зокрема, ця модель передбачає розгортання суперкомп’ютерів на ключових вузлах мережі між споживачами та віддаленими центральними серверами. Граничні обчислення сумісні з обома вищенаведеними підходами та доповнюють їх, оскільки допомагають кінцевим користувачам доповнювати свої локальні обчислення, а також мінімізують затримки в мережі та ризик перевантаження мережі.

Прикладне значення цього підходу залишається невизначеним. Наприклад, xCloud від Microsoft працює зі стандартних центрів обробки даних Azure, а не з периферії. Ймовірно, це пов’язано з вищезгаданою проблемою використання хмарних сервісів — чим більше периферичних центрів ви використаєте, тим гірші проблеми з використанням. Більшість споживчих служб, які використовують граничні обчислення, наприклад Netflix, насправді використовують його як периферійний жорсткий диск, який зберігає файли ближче до користувача.

Засновник і генеральний директор Cloudflare Метью Принс стверджував, що можливості периферійних обчислень знаходяться у площині регулювання. Оскільки Інтернет стає все більш фрагментованим через урядові постанови, які вимагають локальної обробки даних користувачів, у компаній не буде іншого вибору, окрім як розташувати зберігання та обробку цих даних ближче до користувача. Ймовірно, те саме буде і в Метаверсі; урядові вимоги (чи то GDPR, чи CCPA) з часом, ймовірно, ставатимуть більш обтяжливими, як це вже давно сталося в Китаї та Росії.

І хоча Google дуже вірить у граничні обчислення, Apple вірить, що справжнім режимом "граничних" обчислень у майбутньому будуть все більш потужні мобільні телефони в нашій кишені, оскільки вони будуть нести більшу частину навантаження для інших пристроїв навколо нас, таких як годинники та розумні окуляри.

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

Ось приклад, який шокував мене на початку цього року. З грудня 2020 року по березень 2021 року Genvid Technologies (джерело: портфельна компанія) провела свій перший великий "MILE" (або Massively Interactive Live Event) в Facebook Watch. Цей MILE, Rival Peak, був свого роду віртуалізованим American Idol x LOST x Big Brother, 13-тижневим цілодобовим симулятором 13 AI-учасників, які застрягли на вигаданому північному заході Тихого океану. Хоча жоден персонаж не контролювався окремо, і жоден глядач не був окремим персонажем, десятки тисяч глядачів могли впливати на симуляцію в режимі реального часу — вирішуючи головоломки, щоб допомогти учасникам, вибираючи, що вони можуть робити, і навіть впливати на те, хто залишиться, а хто вибуває. Rival Peak ніколи не міг би працювати на споживчому пристрої. Насправді він майже не працював і на AWS. Маючи вісім середовищ (виробництво, резервне копіювання, підготовка, контроль якості та розробка), кожне з яких підтримувалося понад десятком GPU і сотнями CPU, у Rival Peak одного разу закінчилися GPU-сервери на AWS, а під час тестування він регулярно вичерпував доступні спот-сервери.

Оскільки не було конкретних гравців (не кажучи вже про "player one"), Rival Peak не відповідає інстинктивному визначенню Метаверсу. Проте функціонування постійного й нескінченного віртуального світу, який підтримує необмежену взаємодію, кожна з яких має тривалі наслідки, настільки ж близька до кінцевого стану Метаверсу, як і будь-що інше. І навіть у своїй початковій формі та без необхідності значущої обробки на стороні споживача, у нього закінчувалися потужності для обчислення.

Тільки уявіть, що потрібно для створення взаємопов’язаного дзеркального світу за версією Nvidia. Або для моделювання, яке необхідно для картографування всієї геометрії міста, а потім коригування всього, від світлофорів до радіохвиль 5G, щоб оптимізувати потік людей та інформації в режимі реального часу. Лише для "MILE" наступного року (ще не оголошено), Genvid знадобиться на 200% більше графічних і центральних процесорів.

Децентралізовані обчислення

Ненаситна потреба в обробці - в ідеалі розташованої якомога ближче до користувача та навіть поблизу промислових серверних ферм - незмінно надихає на ідеї децентралізованих обчислень. З такою кількістю потужних і часто неактивних пристроїв у будинках і руках споживачів, здається, що  ми неминуче розробимо системи для їх ефективного використання. Принаймні, культурно ця ідея вже добре зрозуміла. Кожен, хто встановлює сонячні батареї у себе вдома, може продати надлишок електроенергії своїй місцевій мережі (і, опосередковано, своєму сусіду). Ілон Маск рекламує майбутнє, в якому ваша Tesla буде заробляти на оренді як безпілотний автомобіль, коли він не використовується, а не просто стоятиме у вашому гаражі протягом 99% його терміну служби.

"У 1998 році в моєму списку справ був один кумедний пункт, коли ми випустили першу гру Unreal. Він полягав в тому, щоб ігрові сервери могли спілкуватися один з одним, щоб ми могли мати необмежену кількість гравців в одній ігровій сесії — і, здається, це все ще є в нашому списку побажань. Питання в тому, чи можна створити одну гру, в яку можуть грати багато мільйонів гравців, усі разом в одному спільному світі, це, наразі, справді цікавий виклик для ігрової індустрії." - Тім Суїні (2019)

Насправді ще в 1990-х роках з’явилися програми для розподілених обчислень із використанням повсякденного споживчого обладнання. Наприклад, проєкт SETI@HOME в Берклі, де споживачі добровільно використовували свої домашні комп’ютери для пошуку інопланетного життя. Але новітні концепції блокчейну, включаючи смарт-контракти та токени, забезпечують економічну модель для такого спільного використання. Згідно з цією концепцією, власники недостатньо використовуваних CPU і GPU отримуватимуть "плату" в певній криптовалюті за використання своїх процесорних можливостей, можливо, від користувачів, розташованих "поруч" з ними в топології мережі. Можливо, навіть такі потужності та потреба у них будуть розподілятись за принципом аукціону.

Одним із прикладів цього механізму є Render Network OTOY. Як перший неупереджений рейтрейсер, який повністю використовував графічні процесори, Octane Render був піонером по часу виконання, який дозволив змінювати сцени в режимі реального часу. Але користувачам, серед яких були студії ефектів, художники, аніматори, дизайнери, архітектори та інженери, щоб скористатися перевагами цих проривних можливостей, потрібен був доступ до потужних обчислювальних можливостей в реальному часі. OTOY придумав ідею використання мережі незадіяних графічних процесорів, створивши мережу RNDR і токен на основі Ethereum. В якості альтернативи дорогим хмарним провайдерам клієнти надсилають завдання з рендерингу в мережу комп’ютерів, оплачуючи роботу за допомогою токена. Усі переговори та укладання договорів між сторонами обробляються протоколом за лічені секунди, при цьому жодна зі сторін не знає ані особи одна одної, ані особливостей виконуваного завдання.

"Ви усвідомлюєте, що блокчейн — це справді загальний механізм для запуску програм, зберігання даних і здійснення транзакцій, які можна перевірити. Це надмножина всього, що існує в обчислювальній техніці. Згодом ми почнемо дивитися на нього як на комп’ютер, який розгортається і працює в мільярд разів швидше, ніж комп’ютер, який у нас на столі, тому що це комбінація усіх комп’ютерів." - Тім Суїні (2017)

Чи може такий ринок забезпечити деякі з величезних обсягів процесорних потужностей, які будуть потрібні Метаверсу? Уявіть, що коли ви переміщаєтеся по віртуальних просторах, ваш обліковий запис безперервно виставляє необхідні обчислювальні завдання на мобільні пристрої, які утримуються, але не використовуються людьми поруч із вами, можливо, людьми, які йдуть вулицею поруч, щоб відобразити або анімувати враження, з якими ви стикаєтесь. Звичайно, пізніше, коли ви не використовуєте свої власні пристрої, ви будете заробляти токени, оскільки вони повертають вам послугу. Прихильники цієї концепції криптообміну бачать у ній неминучу особливість усіх майбутніх мікрочіпів. Кожен комп’ютер, незалежно від того, наскільки він маленький, буде сконструйований так, щоб завжди продавати з аукціону будь-які запасні цикли. Мільярди процесорів із динамічним масивом забезпечать глибокі обчислювальні цикли навіть найбільших промислових замовників і забезпечать кінцеву та нескінченну обчислювальну мережу для забезпечення Метаверсу.

"Блокчейн буде тут надовго, і це буде принципово нова форма обчислень". - Дженсен Хуанг (2018)

Оригінал