Виталик Бутерин предлагает новую модель эффективности памяти
Сооснователь 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