Віталік Бутерін запропонував нову модель ефективності пам'яті
Співзасновник Ethereum Віталік Бутерін опублікував нову статтю під назвою "Доступ до пам'яті - O(N^(1/3))", в якій кидає виклик одному з давніх припущень в інформатиці про те, як вимірюється доступ до пам'яті. Традиційно операції з пам'яттю розглядаються як операції постійного часу, або O(1), за алгоритмічною складністю. Бутерін стверджує, що ця модель є хибною і що як теоретичні, так і практичні докази свідчать про те, що доступ до пам'яті слід вважати O(N^(1/3)), тобто час доступу зростає з кубічним коренем з обсягу пам'яті.
Ця стаття була перекладена з оригіналу. Читайте оригінальну версію від нашого кореспондента тут.
На думку Бутеріна, розуміння цього факту може змінити підхід розробників до створення алгоритмів та оптимізації продуктивності, особливо в таких галузях, як криптографія, де швидкість доступу до пам'яті відіграє вирішальну роль.
Теоретична та емпірична основа моделі O(N^(1/3))
У своєму аналізі Бутерін пояснює, що обмеження виникає через фізичні обмеження, зокрема, швидкість світла та просторовий розподіл пам'яті. Він використовує просту модель: подвоєння фізичної відстані до процесора дозволяє отримати у вісім разів більше пам'яті, але вдвічі збільшує час доступу до неї. Цей взаємозв'язок підтримує масштабування за принципом кубічного кореня.
Він поширює ці міркування на паралельний доступ, де, навіть якщо до кількох блоків пам'яті можна звертатися одночасно, все одно діють фізичні та енергетичні обмеження. У реальних обчисленнях різні рівні пам'яті - від регістрів процесора до кеш-пам'яті та оперативної пам'яті - демонструють затримки, які тісно пов'язані з цим співвідношенням кубічного кореня.
Емпіричні дані ще більше підтверджують теорію. При порівнянні часу доступу до різних типів пам'яті в типових системах затримка зростає приблизно з кубічним коренем з розміру пам'яті, що підтверджує запропоновану Бутеріним модель.
Вплив на розробку та оптимізацію алгоритмів
Бутерін підкреслює, що така зміна перспективи має вирішальне значення для оптимізації алгоритмів, які покладаються на попередні обчислення. У криптографічних процедурах, таких як операції з еліптичними кривими або арифметика двійкових полів, розробники часто зберігають попередньо обчислені таблиці для прискорення обчислень. За старої моделі O(1) розширення цих таблиць завжди було вигідним.
Однак, якщо доступ до пам'яті становить O(N^(1/3)), настає момент, коли більші таблиці стають контрпродуктивними через повільніший доступ. В одному з експериментів Бутеріна 8-розрядна попередньо обчислена таблиця, що зберігалася в кеші, перевершила більшу 16-розрядну таблицю, що зберігалася в оперативній пам'яті, демонструючи, що в багатьох випадках швидший доступ переважує більшу пам'ять.
Це має подальші наслідки для дизайну ASIC і GPU, де доступ до локальної пам'яті може бути оптимізований для постійного часу, але глобальний доступ залишається обмеженим фізичними принципами.
Наслідки для криптоіндустрії
Висновки Бутеріна можуть суттєво вплинути на блокчейн та криптографічну інженерію. Багато криптоалгоритмів, від функцій хешування до zk-SNARK і схем підпису, залежать від операцій, що вимагають багато пам'яті. Переосмисливши складність пам'яті, розробники можуть досягти більш ефективних криптографічних протоколів, швидшої перевірки блокчейну та оптимізованої апаратної реалізації.
Оскільки індустрія рухається до високопродуктивних обчислень і модульних архітектур блокчейнів, модель Бутеріна надає новий об'єктив для інновацій, підкреслюючи локальність, ефективність пам'яті та реалістичне моделювання продуктивності в криптоінфраструктурі наступного покоління.
Читайте також: Віталік Бутерін коментує уразливість, що виникла після оновлення Chat GPT
Найсвіжіші новини crypto
- Forex
- Crypto