Perché i cancelli reversibili non vengono utilizzati?


25

Stavo leggendo il libro "La singolarità è vicina" scritto da Kurzweil e ha menzionato i cancelli reversibili come ad esempio il cancello di Fredkin . Il vantaggio di utilizzare tali gate è che potremmo eliminare i rifiuti termici relativi al calcolo in cui i bit scompaiono semplicemente nel calore e il calcolo non avrà bisogno di alcun input di energia. Questi presupposti fanno sembrare queste porte una soluzione miracolosa. Quindi la domanda è: quali ostacoli tecnici stanno ancora impedendo il loro uso su larga scala.

Penso anche che sia un peccato non aver mai sentito parlare di quelle porte nel mio corso di laurea in ingegneria elettrica e studi di master in una delle migliori università tedesche ...


5
Si noti che il calcolo quantistico riguarda molto le porte reversibili (fa parte di ciò che significa "unitario").
David Richerby,

1
@DavidRicherby Non tutti i calcoli quantistici sono reversibili; alla fine si verifica la decoerenza.
Alice

Si noti che qualsiasi computer pratico che utilizza porte reversibili genererà ancora calore, poiché è necessario eseguire la correzione degli errori per mantenere il computer in pista. La correzione degli errori richiede intrinsecamente operazioni irreversibili (o una fornitura continua di bit zero; stessa differenza).
Craig Gidney,

Risposte:


18

Non sono affatto un esperto su questo argomento, ma solo leggendo casualmente Wikipedia:

si basa sul movimento di palle da biliardo sferiche in un ambiente privo di attrito fatto di respingenti contro i quali le palle rimbalzano perfettamente

... sembra molto realistico.

Nessuno ha ancora capito come realizzare effettivamente queste porte, sono solo di interesse teorico. Ciò potrebbe spiegare perché non ne hai mai sentito parlare poiché l'ingegneria di solito si occupa della pratica.

La premessa del Reversible Computing è che quando un po 'scompare, viene generata una certa quantità di calore. Usando cancelli reversibili, nessun bit appare o scompare, quindi il calcolo presumibilmente potrebbe essere molto più efficiente con i cancelli reversibili.

Il limite teorico Il calcolo reversibile afferma di aggirare il fatto che la cancellazione di 1 bit di informazioni genera almeno energia in calore. Per un computer che funziona con un toast con transistor, ognuno dei quali fa scomparire i bit alla velocità di , che corrisponde a di generazione di calore. Ciò rappresenta solo una piccola parte ( ) del consumo di energia di un computer.60kTln210 9 560C109 165GHz 1 / 1000016mW1/10000

I nostri computer attuali non sono limitati dalla generazione di calore associata alla scomparsa dei bit. Sono limitati dall'inefficienza intrinseca nel muovere gli elettroni in giro su minuscole tracce di rame.


5
-1. Alcune persone hanno realizzato cancelli reversibili e ne hanno costruito un'intera CPU. C'è una fotografia di quella CPU a logica reversibile su cise.ufl.edu/research/revcomp .
David Cary,

2
@DavidCary ma non sono (o trascurabilmente) più efficienti dei computer realizzati con cancelli non reversibili.
user253751

3
@immibis Contrassegnatamente falso; non sono soggetti alle stesse leggi dei computer realizzati con cancelli non reversibili, e quindi drasticamente più efficienti.
Alice,

3
@DavidCary Per favore, mostrami alcuni dati su quanto sia efficiente la CPU a cui sei collegato. Tutto quello che vedo è l'immagine di una CPU con su scritto "adiabatic", ma nessuna informazione su quanto sia più efficiente dei computer tradizionali.
Tom van der Zanden,

1
@TomvanderZanden Misurare l'efficienza è un po 'inutile se non si specifica quale tipo di efficienza. I chip RISC sono più efficienti di quelli CISC, in termini di dimensioni dei chip, ma non in termini di quante istruzioni sono necessarie per specificare un determinato algoritmo. Qualsiasi circuito reversibile è immediatamente più efficiente di un circuito tradizionale perché non è soggetto al principio di Landauer ; è già una grande vittoria.
Alice

15

Il problema con i pratici cancelli reversibili (cancelli che possono (e sono stati) fabbricati in silicio) è che i risparmi energetici effettivi sono linearmente proporzionali a quanto lentamente li si esegue.

So che il gruppo di ricerca di Tom Knight al MIT ha fabbricato un piccolo processore adiabatico alla fine degli anni '90. La famiglia di logiche pratiche che hanno sviluppato si chiama logica di recupero della carica a livello diviso e può essere implementata usando tecniche di fabbricazione standard (CMOS). Credo che il lavoro sia stato continuato da Michael P Frank alla Florida State University. Un esempio del lavoro nel gruppo di Tom Knight è la seguente tesi di master (che ha una sezione abbastanza decente sul lavoro correlato nei primi anni '90). Vieri, CJ: Pendulum: A Reversible Computer Architecture , Master's Thesis, MIT EECS dept, 1995.

I circuiti reversibili devono essere adiabatici (non possono esserci scambi di calore tra il circuito e il suo ambiente), il che significa che devono essere sempre in equilibrio. Per qualsiasi processo che deve cambiare qualcosa, puoi solo approssimare l'equilibrio facendo sì che il cambiamento avvenga il più lentamente possibile.

Se ricordo correttamente la mia termodinamica, puoi rendere l' energia di un calcolo reversibile arbitrariamente piccola, ma l' azione minima (energia per tempo) deve essere una piccola costante.


2
Non ricordi correttamente la termodinamica; Il principio di Landauer non deve essere supportato da un circuito reversibile (in quanto non cancella i bit), e quindi l'energia necessaria può teoricamente essere zero (e non verrebbe rilasciato calore). Inoltre, i circuiti reversibili non devono essere adiabatici; sono stati realizzati pratici cancelli reversibili che non sono più lenti dei chip non reversibili (tenendo conto del fatto che i chip reversibili sono generalmente più grandi e quindi hanno una velocità di aumento della latenza della luce).
Alice

"una velocità di aumento della latenza della luce": ti riferisci a chip ottici reversibili ? La maggior parte dei chip sono elettronici.
Zylstra,

6

L'ostacolo più grande che impedisce il loro uso su larga scala è lo stesso dei circuiti asincroni e praticamente qualsiasi altro progetto di circuito non standard: la legge di Moore.

La legge di Moore è diventata una specie di profezia che si autoavvera; come visto dal programma di rilascio di Tick Tock , i produttori di chip considerano il rispetto della legge di Moore una sfida. A causa della necessità di rispettare la legge di Moore, siamo diventati sempre più abili nel ridurre le dimensioni dei chip facendo avanzare la litografia (e spesso usando trucchi, come il multipatterning).

Cosa c'entra tutto ciò con cancelli reversibili? Mentre le fonderie corrono per rilasciare dimensioni di transistor più recenti e più piccole, le aziende che vogliono stampare nuovi chip vedono un percorso facile verso l'aumento della velocità semplicemente aggiungendo più cache e rielaborando i loro progetti convenzionali per utilizzare meglio quella cache.

L'assassino del meglio non è sfrenato tecnologico; è il successo di abbastanza buono .


1
Spero che un giorno abbastanza buono non sarà più abbastanza buono.
Mehdi,

@Mehdi Non lo desideriamo tutti. Ma non ne sarei così sicuro; l'energia è attualmente economica e ci sono percorsi per continuare l'attuale ciclo per almeno altri 5 anni (forse 10, se troviamo un modo per far funzionare determinate tecnologie . Successivamente, alcune nuove tecnologie dovranno prendere il posto della litografia, ma questo non significa che debba essere non convenzionale. La litografia 3D potrebbe fornire chip molto più densi costruendo nella stessa tonalità, ma in direzioni diverse. Ciò potrebbe farci guadagnare fino al 2050.
Alice

3

Dispositivi di elaborazione utili richiedono feedback, il che rende possibile che un elemento di circuito esegua un numero essenzialmente illimitato di calcoli sequenziali. I circuiti di feedback utilizzabili devono contenere sezioni il cui numero totale di ingressi (contando sia quelli alimentati dalle uscite che quelli che non lo sono) supera il numero di uscite che vengono restituite all'input (l'unico modo in cui il numero di ingressi non sarebbe ' t eccedere il numero di uscite di feedback sarebbe se i circuiti non rispondessero in alcun modo a stimoli esterni). Poiché le funzioni logiche perfettamente reversibili non possono avere più input che output, non è possibile costruire da esse nessuna delle strutture di feedback necessarie per eseguire ripetutamente attività di calcolo non banali. Si noti che con la tecnologia CMOS utilizzata nei computer di oggi, è necessario un feedback per garantire che i risultati riportati dai calcoli in diverse parti di un circuito siano resi disponibili contemporaneamente ad altre parti, poiché se non fossero i tempi relativi con cui arrivano i segnali sarebbero costituire "informazioni" che non possono essere perfettamente trasmesse a valle; altre tecnologie potrebbero consentire a molti gate di propagare segnali esattamente alla stessa velocità pur mantenendo la reversibilità, ma non conosco alcuna tecnologia pratica per questo.

Si noti che dal punto di vista CS, è banale rendere reversibile un processo di elaborazione se si ha un supporto di memoria inizialmente vuoto le cui dimensioni sono essenzialmente proporzionali al numero di passaggi per la quantità di stato che potrebbe cambiare in ogni passaggio. Questa affermazione non contraddice l'affermazione del paragrafo precedente, poiché la memorizzazione proporzionale al numero di passaggi richiederà un circuito proporzionale al numero di passaggi, il che implica un circuito proporzionale alla quantità che sarebbe richiesta se tutto il feedback fosse eliminato.

Se si può avere uscite che vengono ignorate se, date le condizioni di input adeguate, non andranno mai in alto, allora potrebbe essere possibile progettare un sistema che, in teoria, trarrebbe beneficio da una logica reversibile. Ad esempio, se uno avesse un algoritmo che operava su un blocco di RAM di 256 parole e si volesse utilizzare una "CPU a logica reversibile" che eseguiva 1.000.000 di operazioni al secondo e ogni operazione aggiornasse un registro, il contatore del programma o uno parola di RAM, si potrebbe usare una "CPU reversibile" che dovrebbe:

  • ha eseguito un mucchio di istruzioni e, su ognuna, invia tutto ciò che è stato sovrascritto a un buffer LIFO
  • dopo l'esecuzione di un gruppo di istruzioni, copiare la RAM in un buffer di "inoltro" inizialmente vuoto
  • usando i valori nel LIFO, eseguire tutti i calcoli al contrario
  • sovrascrivere il contenuto della RAM principale con il buffer di inoltro, che verrebbe cancellato nel processo.

La ricetta sopra potrebbe essere ripetuta un numero qualsiasi di volte per eseguire l'algoritmo per un numero arbitrario di passaggi; solo l'ultimo passaggio della ricetta non sarebbe reversibile. La quantità di energia spesa per fase algoritmica in operazioni non reversibili sarebbe inversamente proporzionale alla dimensione del LIFO, e quindi potrebbe essere arbitrariamente ridotta se si stesse costruendo un LIFO abbastanza grande.

Affinché tale capacità si traduca in qualsiasi tipo di risparmio energetico, tuttavia, sarebbe necessario disporre di un LIFO in grado di immagazzinare energia quando venivano inserite le informazioni e restituire utilmente quell'energia quando veniva letta. Inoltre, il LIFO dovrebbe essere abbastanza grande da contenere i dati statali per un numero sufficiente di passaggi che l'eventuale costo energetico dell'uso era inferiore alla quantità di energia risparmiata utilmente. Dato che la quantità di energia persa nell'archiviazione e nel recupero di N byte da qualsiasi FIFO pratico è improbabile che sia O (1), non è chiaro che l'aumento di N ridurrà significativamente il consumo di energia.


1
@LoganMayfield: Penso che tu ignori il requisito che la lunghezza del nastro richiesta sia proporzionale al numero di passaggi da eseguire in modo reversibile. Se lancio una cartuccia nel mio Atari 2600 e la accendo per un po ', funzionerà per circa 100 miliardi di cicli al giorno. Poiché il sistema (incluse tutte le cartucce tranne quelle più grandi) avrebbe meno di 100.000 transistor, si tratta di oltre un milione di cicli al giorno per transistor. Se si volesse progettare una macchina equivalente che potesse funzionare per un giorno in modo completamente reversibile, anche con la possibilità di realizzare un LIFO reversibile con un transistor per bit ...
supercat

1
... sarebbe necessario aumentare il numero di transistor di oltre un milione di volte. Se fosse necessario eseguire poche migliaia di cicli alla volta in modo reversibile, acquisire i risultati, riavvolgere i cicli e quindi sostituire lo stato iniziale precedente con i risultati acquisiti, che potrebbe essere quasi praticabile, ma mostruosamente complesso. Con qualcosa che assomigli alla tecnologia odierna, qualsiasi riduzione delle perdite "teoricamente inevitabili" che si otterrebbero usando il calcolo reversibile sarebbe sommersa da un aumento della potenza persa per cause che erano evitabili solo in teoria.
supercat

1
Mi preoccupavo solo dell'affermazione che la tua risposta originale aveva fatto che diceva: "La tecnologia reversibile non può calcolare le stesse cose della tecnologia irreversibile". Non intendevo implicare che fosse pratico.
Logan Mayfield,

1
@LoganMayfield: la domanda iniziale era "perché non vengono utilizzate queste cose". Suggerirei che quasi tutti i dispositivi di calcolo pratici utilizzino il feedback in modo tale che una quantità fissa di hardware sarà in grado di eseguire un numero illimitato di calcoli se viene concesso un tempo illimitato. Questo è qualcosa che la logica reversibile non può proprio fare . Questa è una grande differenza qualitativa tra elaborazione reversibile e non reversibile. Può darsi che anche un computer in grado di eseguire solo un numero limitato di operazioni prima del "riavvolgimento" potrebbe essere ancora utile, quindi ...
supercat

1
... Ho modificato il post per dire cosa sarebbe necessario per usare una cosa del genere per fare un lavoro significativo. Penso che il problema pratico fondamentale derivi, tuttavia, da ciò che ho detto originariamente: i computer ottengono la maggior parte del loro vantaggio per la loro capacità di riutilizzare gli elementi del circuito un numero arbitrario di volte per eseguire calcoli diversi e l'incapacità di logica reversibile da gestire che lo metterà in grave svantaggio proprio fuori dal cancello.
supercat

2

Il calcolo reversibile applicato pratico è un'area attiva di ricerca e probabilmente diventerà più importante in futuro. Si può vedere che la maggior parte dell'informatica quantistica sta tentando di creare porte qubit reversibili ed è molto difficile sperimentalmente abbinare le proprietà teoriche del formalismo QM, ma si stanno facendo progressi costanti.

Un altro punto fondamentale è che ogni volta che la dissipazione di energia viene ridotta su un chip, si sta essenzialmente spostando il sistema di gate su "più reversibile", e la dissipazione di chip a bassa energia è stata una priorità per molto tempo nel mobile computing (che rappresenta una sorta di cambiamento di paradigma in tutto il settore). Per decenni i guadagni in termini di prestazioni del chip (simili alla legge di Moore) sono stati ottenuti in qualche modo "rilassati" o addirittura "sciatti" con la dissipazione di energia, ma che ha raggiunto un punto di rendimenti decrescenti alcuni anni fa. Il principale produttore mondiale di chip Intel sta cercando di orientarsi verso chip a bassa potenza per competere con Arm, che ha un vantaggio dopo non aver mai costruito altro.

Esistono probabilmente ricerche recenti rivoluzionarie che utilizzano la tecnologia superconduttiva (giugno 2014) e ci sono altri progetti di ricerca attivi in ​​questo settore.

Vedi ad es. Porta logica reversibile che utilizza dispositivi superconduttori adiabatici / Takeuchi, Yamanashi, Yoshikawa, Natura:

Il calcolo reversibile è stato studiato da quando Rolf Landauer ha avanzato l'argomento che è diventato noto come il principio di Landauer. Questo principio afferma che non esiste una dissipazione minima di energia per le operazioni logiche nel calcolo reversibile, poiché non è accompagnata da riduzioni dell'entropia delle informazioni. Tuttavia, fino ad ora, non sono state dimostrate porte logiche reversibili pratiche. Uno dei problemi è che le porte logiche reversibili devono essere costruite utilizzando dispositivi logici estremamente efficienti dal punto di vista energetico. Un'altra difficoltà è che le porte logiche reversibili devono essere sia logicamente che fisicamente reversibili. Qui proponiamo il primo gate logico reversibile pratico usando dispositivi adiabatici superconduttori e dimostriamo sperimentalmente la reversibilità logica e fisica del gate. Inoltre, stimiamo la dissipazione di energia del cancello, e discutere la minima dissipazione di energia richiesta per operazioni logiche reversibili. Si prevede che i risultati di questo studio consentiranno al calcolo reversibile di passare dalla fase teorica all'utilizzo pratico.


1

Le porte di Fredkin sono realistiche e molte sono state implementate. Ci sono intere schede FPGA che utilizzano rigorosamente gate logici reversibili che sono implementate usando i gate LU di Fredkin e Toffoli.

Esistono diversi problemi che incidono sul loro uso diffuso nell'architettura del computer. Ci sono molti vantaggi "pubblicizzati" sui cancelli di Fredkin che non funzionano necessariamente come previsto nei circuiti reali. Il risparmio energetico delle porte logiche reversibili è dovuto principalmente al fatto che non richiedono la creazione di entropia quando viene eseguita un'operazione. Come affermato da Tom van der Zanden, questa è la ragione principale per cui la logica reversibile può essere molto più efficiente. Perché non è così nei circuiti reali:

  1. Attualmente la tecnologia a transistor è più ciò che limita la velocità del computer e il consumo di energia e, sfortunatamente, sono necessari più transistor per realizzare una porta fredkin rispetto alle tradizionali porte né porte. Ciò significa che i cancelli Fredkin sprecano più energia a causa della perdita di transistor e richiedono più spazio sul silicio (il che significa più costoso). Questo da solo è sufficiente per giustificare l'utilizzo di nand / nor over fredkin gates
  2. Poiché la forma primaria di perdita di potenza è dovuta ai transistor e non alla creazione di entropia a causa dell'effettivo calcolo, è ancora necessario eseguire linee di alimentazione e di terra verso le porte di Fredkin per compensare questa perdita di potenza. Questi bus di grandi dimensioni sono fan-in, che occupano anche molto spazio sul silicio. Dato che ci sono più transistor in un gate fredkin, questo porta a più fan-in, e quindi più spazio sprecato sul silicio.
  3. Sebbene abbiamo porte fredkin reversibili, queste sono costruite da dispositivi non reversibili (transistor). Ciò significa che alcuni dei guadagni energetici non sono realizzati con la tecnologia attuale del gate (al di fuori dei circuiti quantistici).
  4. Le dimensioni e la velocità sono correlate al silicio, più vicine sono le cose, generalmente più velocemente puoi realizzarle. Poiché i cancelli fredkin utilizzano più transistor e hanno più connessioni per l'alimentazione, ecc., Tendono ad essere significativamente più lenti.
  5. I vantaggi del consumo energetico e della velocità sono realizzati solo quando i bit vengono riutilizzati correttamente. La maggior parte degli algoritmi che abbiamo sono orribilmente non conservativi. Puoi vederlo ricercando un'implementazione di un sommatore completo o registro a scorrimento usando fredkin gates. Poiché la logica reversibile non consente il fan-in e il fan-out logici, questo porta a molti calcoli di bit che non finiscono per essere utilizzati per ottenere un'operazione utile. Qualcosa come l'aggiunta di due numeri a 8 bit produrrà 9 bit o informazioni utili (risultato a 8 bit, 1 bit di trasporto), ma richiederà un bus di input con molte costanti 1 e 0 e produrrà molti bit di output di dati spazzatura. Dato che hai un bus più ampio, questo porta a un circuito ancora più esteso sul silicio.
  6. Inoltre, i junk bit devono essere scaricati dal processore e quindi porterebbero comunque a una perdita di energia perché non vengono mai utilizzati

Riepilogo: I cancelli Fredkin producono molti calcoli sui rifiuti durante l'implementazione di algoritmi reali. calcolo dei rifiuti = energia sprecata. Per questo motivo, aumentano le dimensioni degli autobus che diffondono le cose e le rallentano. Inoltre, l'implementazione fisica dei cancelli fredkin è la preoccupazione maggiore per la tecnologia attuale. L'attuale implementazione distribuisce di più le cose richiedendo più potenza e linee di terra per compensare le perdite nel circuito (che è una preoccupazione molto maggiore per la perdita di energia) e utilizza molto più beni immobili sul silicio (che è una preoccupazione molto maggiore per la velocità )

Mi rendo conto che questo è un vecchio filo, ma molte delle risposte si concentrano sul fatto che i transistor sono inefficienti. Il mio obiettivo è mostrare che i nostri algoritmi sono anche inefficienti e non gestiscono bene il calcolo reversibile. Sono un ingegnere informatico che si diverte a ricercare il calcolo quantistico e reversibile

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.