Чому не застосовуються оборотні ворота?


25

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

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


5
Зауважте, що квантові обчислення дуже стосуються оборотних воріт (це частина того, що означає "унітарна").
Девід Річербі

1
@DavidRicherby Не всі квантові обчислення є оборотними; врешті-решт відбувається дегерентність.
Аліса

Зауважте, що будь-який практичний комп’ютер, що використовує реверсивні ворота, все ще збирається генерувати тепло, тому що вам потрібно виконати виправлення помилок, щоб комп'ютер тривав на шляху. Виправлення помилок по суті вимагає незворотних операцій (або безперервної подачі нульових бітів; однакова різниця).
Крейг Гідні

Відповіді:


18

Я аж ніяк не експерт з цієї теми, а лише з випадкового читання Вікіпедії:

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

... це звучить дуже реалістично.

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

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

Теоретична межа, на яку звертаються претензії з оборотних обчислень, полягає в тому, що стирання 1 біта інформації генерує принаймні енергію в теплі. Для комп’ютера, що працює на тості з транзисторами, кожен з яких робить біти зникають зі швидкістю , що відповідає вироблення тепла. Це складає лише невелику частку ( ) використання енергії комп'ютера.60kTln210 9 560C109 165GHz 1 / 10 тисяч16mW1/10000

Наші комп’ютери сучасного дня не обмежені виробленням тепла, пов'язаним зі зникненням бітів. Вони обмежені властивою неефективністю переміщення електронів навколо крихітних мідних слідів.


5
-1. Деякі люди зробили оборотні ворота і побудували з них цілий процесор. На фотографії cise.ufl.edu/research/revcomp є фотографія цього процесора з оборотною логікою .
Девід Кері

2
@DavidCary, але вони не (або незначно) ефективніші, ніж комп'ютери, виготовлені з незворотних воріт.
користувач253751

3
@immibis Помітно неправдивий; вони не підпадають під ті ж закони, що й до комп'ютерів, виготовлених з незворотних воріт, і тому різко ефективніші.
Аліса

3
@DavidCary Будь ласка, покажіть мені деякі дані про ефективність процесора, до якого ви пов’язані. Я бачу лише зображення процесора зі словом "адіабатичний" на ньому, але немає інформації про те, наскільки він більш ефективний, ніж традиційні комп'ютери.
Том ван дер Занден

1
@TomvanderZanden Вимірювання ефективності трохи марно, якщо ви не вказуєте, яку ефективність. Чіпи RISC ефективніші, ніж CISC, з точки зору розміру чіпа, але не з точки зору кількості інструкцій, необхідних для визначення будь-якого заданого алгоритму. Будь-який оборотний контур відразу ж є більш ефективним, ніж традиційний ланцюг, оскільки він не підпорядковується принципу Ландауера ; це вже величезна виграш.
Аліса

15

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

Я знаю, що дослідницька група Тома Найта в MIT виготовила невеликий адіабатичний процесор наприкінці 1990-х. Сім'я практичної логіки, яку вони розробили, називається логікою відновлення зарядів розділеного рівня і може бути реалізована за допомогою стандартних (CMOS) методів виготовлення. Я вважаю, що цю роботу продовжив Майкл П Франк у Державному університеті Флориди. Приклад роботи в групі Тома Найта є тезою наступного господаря (який має досить пристойний розділ по відповідній роботі через початок 1990 - х рр.) Вієрі, CJ: Pendulum: Реверсивна комп'ютерна архітектура , магістерська дисертацію, MIT EECS ВІДДІЛ, 1995.

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

Якщо я добре пам'ятаю свою термодинаміку, ви можете зробити енергію оборотного обчислення довільно малою, але мінімальна дія (час в енергії) повинна бути малою постійною.


2
Ви терміново не пам’ятаєте термодинаміку; Принцип Ландауера не повинен підтримуватися оборотним контуром (оскільки він не стирає біт), і тому необхідна енергія теоретично може дорівнювати нулю (і тепло не виділятиметься). Оборотні схеми також не повинні бути адіабатичними; зроблені практичні оборотні ворота, які не повільніші, ніж нереверсивні мікросхеми (враховуючи, що оборотні чіпи зазвичай більші, а отже, мають швидкість збільшення затримки світла).
Аліса

"швидкість затримки світла": Ви маєте на увазі оборотні оптичні мікросхеми? Більшість мікросхем є електронними.
zylstra

6

Найбільша перешкода, що перешкоджає їх масштабному використанню, така сама, як і для асинхронних схем, і майже будь-яка інша нестандартна схема схеми: закон Мура.

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

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

Вбивця кращого не є технологічним нападом; це успіх досить хороший .


1
Сподіваємось, один день достатньо хороший вже не буде достатньо хорошим.
Мехді

@Mehdi Не всі ми бажаємо. Але я не був би таким впевненим; енергія в даний час дешева, і є шляхи продовжити поточний цикл щонайменше ще 5 років (можливо, 10, якщо ми знайдемо спосіб спрацювати певні технології . Після цього якась нова технологія повинна буде зайняти місце літографії, але це не означає, що воно повинно бути нетрадиційним. 3D-літографія могла б отримати набагато щільніші фішки, будуючи на одному і тому ж кроці, але в різних напрямках. Це може отримати нам прибуток до 2050 року.
Аліса

3

Корисні обчислювальні пристрої вимагають зворотного зв'язку, що дає можливість одному елементу схеми виконувати по суті необмежену кількість послідовних обчислень. Використовувані схеми зворотного зв’язку повинні містити розділи, загальна кількість входів (що враховують як ті, що повертаються з виходів, так і ті, які не є) перевищує кількість виходів, які повертаються на вхід (єдиний спосіб, коли кількість входів не буде ' t перевищувати кількість зворотних виходів, якби ланцюги не реагували жодним чином на зовнішні подразники). Оскільки функції ідеально зворотної логіки не можуть мати більше входів, ніж виходів, неможливо побудувати з них будь-яку структуру зворотного зв'язку, необхідну для виконання будь-яких нетривіальних обчислювальних завдань багаторазово. Зауважте, що за технологією CMOS, що використовується на сучасних комп’ютерах, необхідний зворотний зв'язок, щоб забезпечити, що результати, обчислені обчисленнями в різних частинах схеми, стають доступними одночасно для інших частин, оскільки, якби вони не були відносним часом, з яким надходять сигнали, становлять "інформацію", яку неможливо було б ідеально передавати за течією; інші технології можуть зробити можливим мати багато воріт поширювати сигнали з точно однаковою швидкістю, зберігаючи оборотність, але я не знаю жодної практичної технології для цього.

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

Якщо дозволено мати виходи, які ігноруються, якщо за належних умов введення вони ніколи не піднімуться, то можливо, можливо, створити систему, яка теоретично отримала б користь від оборотної логіки. Наприклад, якщо був алгоритм, який працював на 256-словній пам'яті оперативної пам’яті, і хотіли використати «процесор оборотної логіки», який виконував 1 000 000 операцій в секунду, і кожна операція оновлювала або реєстр, лічильник програм, або один Слово оперативної пам’яті, можна було б використовувати «оборотний процесор», який би:

  • запустив купу вказівок і надсилав на кожне, що було перезаписано, у буфер LIFO
  • після виконання ряду інструкцій скопіюйте оперативну пам’ять у спочатку порожній буфер "переадресації"
  • використовуючи значення в LIFO, виконайте всі обчислення в зворотному порядку
  • перезаписуємо вміст основної оперативної пам’яті буфером пересилання, який буде видалено в процесі.

Вищевказаний рецепт можна повторювати будь-яку кількість разів для запуску алгоритму для довільної кількості кроків; тільки останній крок рецепту не був би оборотним. Кількість енергії, витраченої на алгоритмічний крок на незворотні операції, була б обернено пропорційною розміру LIFO, і, таким чином, можна було б зробити довільно невеликим, якби кожен будував для створення достатньо великого LIFO.

Для того, щоб ця здатність перетворилася на будь-яку економію енергії, необхідно було б мати LIFO, який би зберігав енергію під час введення інформації, і корисно повертати цю енергію під час її зчитування. Крім того, LIFO повинен був бути достатньо великим, щоб зберігати дані про стан для достатньої кількості кроків, щоб будь-яка енерговитрата на його використання була меншою, ніж кількість енергії, яку він корисно заощадив. Зважаючи на те, що кількість енергії, втраченої при зберіганні та пошуку N байтів з будь-якого практичного FIFO навряд чи буде O (1), незрозуміло, що збільшення N суттєво зменшить споживання енергії.


1
@LoganMayfield: Я думаю, ви нехтуєте вимогою, щоб потрібна довжина стрічки була пропорційною кількості кроків, які потрібно виконати оборотно. Якщо я вкину картридж в свій Atari 2600 і заряджаю його деякий час, він буде працювати приблизно 100 мільярдів циклів на день. Оскільки система (включаючи всі, крім найбільших картриджів), мала б менше 100 000 транзисторів, це більше мільйона циклів на день на транзистор. Якби хтось хотів спроектувати еквівалентну машину, яка могла б працювати протягом дня повністю оборотно, навіть маючи можливість робити оборотний LIFO з одним транзистором на біт ...
supercat

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

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

1
@LoganMayfield: Початкове питання було "чому ці речі не використовуються". Я б припустив, що майже всі практичні обчислювальні пристрої використовують зворотний зв'язок таким чином, що фіксований об'єм обладнання зможе виконати необмежену кількість обчислень, якщо буде надано необмежений час. Це те, що оборотна логіка просто не може зробити . Це головна якісна різниця між оборотними та незворотними обчисленнями. Можливо, навіть комп’ютер, який може виконувати лише обмежену кількість операцій до "перемотування", все-таки може бути корисним, тому ...
supercat

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

2

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

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

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

Див., Наприклад, оборотні логічні ворота за допомогою адіабатичних надпровідних пристроїв / Takeuchi, Yamanashi, Yoshikawa, Nature:

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


1

Ворота Фредкіна реалістичні і багато з них були реалізовані. Існують цілі дошки FPGA, які строго використовують зворотні логічні ворота, реалізовані з використанням воріт Фредкіна та Тоффолі як їх LU.

Існує кілька проблем, що впливають на їх широке використання в архітектурі комп'ютера. Для воріт Фредкіна є кілька «рекламованих» переваг, які не обов'язково працюють так, як очікувалося в реальних схемах. Економія енергії оборотних логічних воріт пов'язана здебільшого тим, що вони не вимагають створення ентропії при виконанні операції. Як заявив Том ван дер Занден, це головна причина, чому оборотна логіка може бути набагато ефективнішою. Чому це не так у реальних схемах:

  1. В даний час транзисторна технологія - це те, що обмежує швидкість та енергоспоживання комп’ютера, і, на жаль, потрібно більше транзисторів, щоб зробити ворота Фредкіна на відміну від традиційних нанду чи ні воріт. Це означає, що ворота Фредкіна витрачають більше енергії через витік транзистора і вимагають більше місця на кремній (що означає дорожче). Одного лише цього достатньо, щоб виправдати використання нанд / ні над воротами Фредкіна
  2. Оскільки первинна форма втрати електроенергії від транзисторів, а не створення ентропії через фактичні обчислення, вам все одно потрібно запустити лінії живлення та заземлення до воріт Фредкіна, щоб компенсувати цю втрату електроенергії. Ці великі автобуси - це вентиляторні автобуси, які також займають багато місця на кремнію. Оскільки в воротах Фредкіна є більше транзисторів, це призводить до збільшення вентиляторів, а отже, і більше витраченого простору на кремній.
  3. Хоча у нас є оборотні ворота Фредкіна, вони побудовані з нереверсивних пристроїв (транзисторів). Це означає, що деякі надходження енергії не реалізуються за допомогою технології поточних воріт (поза квантовими схемами).
  4. Розмір і швидкість пов'язані з кремнієм, чим ближче речі, тим швидше ви можете зробити їх. Оскільки ворота Фредкіна використовують більше транзисторів і мають більше з'єднань для живлення тощо, вони, як правило, значно повільніше.
  5. Переваги споживання електроенергії та переваги швидкості реалізуються лише тоді, коли біти успішно використовуються. Більшість алгоритмів у нас жахливо неконсервативні. Це можна переконатися, дослідивши реалізацію повного реєстру суматорів чи змін, використовуючи ворота fredkin. Оскільки оборотна логіка не дозволяє здійснювати логічне ввімкнення вентилятора та вивільнення, це призводить до безлічі обчислень бітів, які не в кінцевому підсумку використовуються для досягнення корисної операції. Щось таке, як додавання двох 8-розрядних чисел, дасть 9-бітову або корисну інформацію (8-бітний результат, 1 біт перенесення), але знадобиться шина вводу багатьох 1 і 0 констант і створить безліч невідступних бітів даних. Оскільки у вас ширша шина, це призводить до ще більшого поширення схеми на кремнію.
  6. Крім того, процесор повинен скидати шматки, і це призведе до втрати енергії, оскільки вони ніколи не використовуються

Короткий зміст: Ворота Фредкіна виробляють багато обчислень відходів при впровадженні реальних алгоритмів. обчислення відходів = витрачена енергія. Через це збільшуються розміри шин, які поширюють речі і сповільнюють. Крім того, фізична реалізація воріт Фредкіна викликає більшу стурбованість сучасними технологіями. Поточна реалізація розширює все більше, вимагаючи більшої потужності та наземних ліній, щоб компенсувати втрати в ланцюзі (що набагато більше турбує втрати енергії) та використовує набагато більше нерухомості на кремнію (що набагато більше турбує про швидкість )

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.