Меньше памяти, больше скорости? Как новое открытие ставит под сомнение фундаментальные законы компьютерного мира

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Мнение | Наука и космос

Представьте себе вселенную внутри вашего компьютера. Бесконечный лабиринт данных, где время измеряется наносекундами, а пространство — гигабайтами. В этом мире, как и в нашем, существуют свои незыблемые правила, определяющие, что возможно, а что нет. Или, по крайней мере, мы так думали. Недавнее открытие в области вычислительной сложности, похоже, готово переписать некоторые из этих основополагающих законов.

Речь идёт о взаимосвязи между двумя ключевыми ресурсами любого компьютера: временем и памятью. Время, которое требуется процессору для выполнения задачи, и объём памяти, необходимой для хранения данных и промежуточных результатов вычислений, долгое время считались неразрывно связанными. Интуиция подсказывает, что чем сложнее задача, чем больше шагов необходимо выполнить, тем больше памяти потребуется.

Иллюстрация
Автор: ИИ Copilot Designer//DALL·E 3 Источник: www.bing.com

Но что если эта интуиция ошибочна? Что если возможно сжать требования к памяти, не увеличивая при этом время выполнения задачи? Именно это и демонстрирует новое исследование, вызвавшее бурю эмоций в научном сообществе.

Разрушая старые парадигмы

Долгое время считалось, что вычислительная задача, требующая X шагов, в худшем случае потребует X ячеек памяти. Эта связь выглядела логичной и неоспоримой. Однако в 1970-х годах ученые совершили первый прорыв, показав, что объём необходимой памяти можно существенно сократить — до X/log X. Это означало, что задача, требующая 100 шагов, может быть выполнена, используя всего 50 ячеек памяти.

Но это был лишь первый шаг. Недавно появилось исследование, которое демонстрирует, что даже это ограничение можно обойти. Новый теоретический предел — квадратный корень из X log X. В нашем примере с задачей в 100 шагов это означает, что теперь для её решения потребуется всего 15 ячеек памяти. Это существенное сокращение, которое ставит под сомнение устоявшиеся представления о вычислительной сложности.

Магия вычисления дерева

Как такое возможно? Секрет кроется в новом подходе к решению так называемой «проблемы вычисления дерева». Представьте себе разветвленную структуру, где каждый узел представляет собой вычисление. Чтобы добраться до вершины дерева (конечного результата), необходимо последовательно вычислить значения всех нижних узлов.

Новый алгоритм позволяет эффективно переиспользовать компьютерную память, освобождая занятые ячейки сразу после завершения вычислений, связанных с ними. Это похоже на жонглирование: когда один предмет подброшен, его место занимает другой.

Применив этот подход к общей модели вычислительной задачи, исследователи показали, что можно добиться значительного сокращения требований к памяти. Однако не стоит ждать чудес. Несмотря на революционность открытия, оно пока не приведёт к мгновенному увеличению производительности ваших компьютеров. Дело в том, что память сегодня достаточно дешёва и доступна, поэтому оптимизация её использования не является первостепенной задачей.

Иллюстрация
Автор: ИИ Copilot Designer//DALL·E 3 Источник: www.bing.com
Куда дальше?

Более интересным было бы обратное: открытие, позволяющее ускорить вычисления за счёт добавления памяти. В условиях, когда прогресс в увеличении скорости процессоров замедлился, такой подход мог бы стать спасением.

Новое открытие, безусловно, открывает новые горизонты в исследовании вычислительной сложности. Оно вселяет надежду на то, что в этой области еще возможны неожиданные прорывы, способные перевернуть наши представления о том, как мы решаем сложные задачи.

Возможно, в будущем мы сможем создавать алгоритмы, которые будут не только эффективны по времени, но и крайне бережливы в отношении использования памяти. Это, в свою очередь, откроет двери для решения принципиально новых задач, которые сегодня кажутся непостижимыми. Ведь, как известно, «если вы были шокированы однажды, вы можете быть шокированы снова».

1 комментарий

M
Вот бред. Все зависит от задачи. Есть задача, где результат одних вычислений можно получить вне зависимости от других. Такие вычисления можно распараллелить. А есть задача, где результат одних вычислений каким-то образом зависит от других. И тут есть выбор. Либо результат предыдущих вычислений нужно хранить (кэшировать), либо каждый раз перевычислять заново. Вот тут и возникает тот самый компромисс между временем и памятью. Весь смысл программистского скилла в этом и заключается. Найти какой-то способ обойти эту проблему. Но есть одно но. Только если данная конкретная задача это позволяет. А она может и не позволять. Потому все зависит от задачи.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Замок Пелеш: первый в мире умный дом построенный в 19 веке

Сегодня умным домом уже никого не удивить: технологии развиваются так быстро, что вся техника и окружение априори получают бирку наличия ума. А вот в 19 веке такого как будто ожидать не стоит, но...

Русские импрессионисты: в ГМИИ им. А. С. Пушкина показывают ранние работы М. Ларионова и Н. Гончаровой

Новая камерная выставка в ГМИИ посвящена раннему творчеству двух представителей русского авангарда - Михаила Ларионова и Натальи Гончаровой. Совместная она неслучайно, ведь хорошо...

Между жидкостью и твердым телом: раскрыта механика распространения волн на поверхности сверхмягких материалов

Физика сплошных сред разделяет материалы на две большие группы, поведение которых при внешнем воздействии описывается разными математическими законами. В жидкостях форма поверхности и...

Почему мы говорим «сорок» и «девяносто», а не «четыредесят» и «девятьдесят»

Русский язык обладает удивительно стройной системой числительных. Мы говорим «двадцать», «тридцать», «пятьдесят», «шестьдесят», «семьдесят», «восемьдесят». Всё выстроено по единой модели, в которой...

Обзор внешнего аккумулятора Baseus EnerFill FC41 100W 20000 mAh: Мощность Шрёдингера. 100 Вт есть, но не для всех и не всегда

Рынок павербанков давно разделился на два лагеря: дешёвые кирпичи с базовой зарядкой и дорогие устройства с полным набором протоколов и встроенными кабелями. Baseus EnerFill FC41 метит именно во...

Зачем машинист специально выключает свет в электричке? Ответ кроется в устройстве контактной сети

Каждый пассажир электрички хотя бы раз замечал это странное, но привычное явление: размеренное покачивание вагона, монотонный стук колес — и вдруг свет на мгновение тускнеет, лампы...