Реверсивная вычислительная платформа

Из обратимых вычислений часто задаваемых вопросов:

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

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

Существует ли какая-либо платформа программирования (библиотека, среда выполнения, язык и компилятор), поддерживающая обратимые вычисления?


person Anthony Faull    schedule 25.04.2012    source источник
comment
Можете ли вы привести источник закона Франка: я хотел бы узнать больше, так как это звучит довольно интересно.   -  person Selene Routley    schedule 26.11.2014
comment
Я нашел список публикаций Майкла Франка и недавнюю интервью.   -  person Anthony Faull    schedule 26.11.2014
comment
Гранд. Большое спасибо Энтони   -  person Selene Routley    schedule 26.11.2014


Ответы (4)


Да, есть некоторые обратимые языки программирования, по крайней мере, в исследованиях.

Меня также интересует эта область, и у меня есть коллекция нескольких указателей. Эти две бумаги довольно крутые:

Те, которые я еще не читал (но есть в моем списке дел) и кажутся интересными:

В хакерских новостях также есть эта тема.

Существует более обширная литература по двунаправленным преобразованиям (кода, моделей, структуры данных и т. д.), которые в некоторой степени связаны с обратимыми вычислениями.

person ewernli    schedule 25.04.2012

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

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

Ссылка: http://energy.mit.edu/news/energy-efficient-computing/

person Onur Günduru    schedule 07.01.2017

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

person Anderson Green    schedule 02.04.2018

теряется энергия генерируется при обнулении битов

Любой необратимый процесс (т.е. процесс, при котором теряется информация) сопровождается диссипацией энергии. Например, функция x^2 необратима, так как она не является биекцией, для реализации этой функции нужно либо

  • стереть часть информации и рассеять определенное количество энергии,
  • или реализовать вместо этого (x, 0) -> (x, x^2).

Существует ли какая-либо платформа программирования (библиотека, среда выполнения, язык и компилятор), поддерживающая обратимые вычисления?

NiLang — это встроенный обратимый язык программирования с открытым исходным кодом на языке Julia. Этот eDSL можно использовать для автоматической дифференциации на уровне языка программирования, и его производительность хорошая.

person 刘金国    schedule 09.10.2020