ECE 497NC: Unconventional Computer Architecture Lecture 12: Quantum Computers II – Implementation Issues Nicholas Carter.
Published byModified over 4 years ago
Presentation on theme: "ECE 497NC: Unconventional Computer Architecture Lecture 12: Quantum Computers II – Implementation Issues Nicholas Carter."— Presentation transcript:
ECE 497NC: Unconventional Computer Architecture Lecture 12: Quantum Computers II – Implementation Issues Nicholas Carter
Outline Hurdles to building quantum computers –Decoherence –Error Correction Requirements for workable quantum computers NMR quantum computers Complete architecture proposal
Decoherence Quantum computations rely on being able to operate on a set of qubits in an entangled/superimposed state –Allows computation on all possible inputs to a computation in parallel Problem: Interaction of qubits with environment affects their state, causing them to not be entangled/superimposed –Can partially address this by designing computer to reduce interaction with environment, but this may make it impractical (for example, running at very low temperatures) General result: a quantum computation can only proceed for a limited period of time before a measurement must be performed –Measurement forces the system into a more-stable classical state –Measurement destroys superposition –System limited by ratio of decoherence time to operation latency
Quantum Errors Digital systems provide noise protection by mapping an analog signal onto two discrete states –Any error/noise that doesn’t cause the system to mis-interpret a signal gets corrected by the next circuit that reads the signal Problem: qubits are analog –Need to be able to operate on qubits that are superpositions of multiple states –Observation of qubits collapses them into one state or another –Also, operations on qubits are unlikely to be perfect, another source of error Need error correction
Classic Error Correction Basic idea: encode n bits of data as n + m bits of error- detecting data. –For codes where the original n bits remain unchanged, the m bits are called the syndrome. –Example: Hamming codes –Well-understood trade-off between m and number of errors that can be corrected/detected Whenever data is read, regenerate the m syndrome bits –Compare to syndrome from data to determine if error has occurred –Depending on the code, may be able to correct errors as well as just detect
Quantum Error Correction Problem: reading qubits in a superimposed state collapses them to one state or the other. –Can’t use coding algorithms that require examining the data bits to detect errors Solution: use codes based on measurements that only determine information about errors, not about data –Theoretical best code uses 5 qubits to encode 1 –Commonly-used code uses 7 qubits for each data qubit. –Can recursively apply encoding technique to tolerate higher error probabilities –For some codes, can build gates that operate on encoded data directly, without decoding Code used in paper requires “about 153” physical gates to implement a fault-tolerant operation Implementation parameter: error rate of technology determines how much logic can be done between error corrections, and thus overhead of error correction.
Requirements for Quantum Computer Need to have something to represent qubits –Lots of physical phenomena that have two states Must be able to address individual qubits, and qubits must be able to interact –Must be able to apply individual qubits as inputs to gates –Need to have gates with >1 input Must be able to initialize qubits to a known state –Hard to write programs if you can’t set inputs Must be able to observe/extract result from system –Yep, the answer’s in there somewhere, just can’t get it out Coherence time must be long compared to gate delay –This basically determines how many operations we can do on a superposition before we have to do an observation –Implementation detail visible to programmer
NMR-Based Quantum Computers Most advanced demonstrated technology for quantum computation Use nuclei with spin ½ as qubits –Spin straight up = |0> –Spin straight down = |1> –Other directions indicate superpositions of |0> and |1> –Long coherence times (seconds) Electron spins (alternate technology) have coherence times of nanoseconds –In a magnetic field, spin direction precesses about the field’s axis at a rate that is proportional to the field strength
NMR-Based Computers II Bond atoms that represent qubits into molecules –Inter-atomic bonds provide mechanism for different qubits to interact. –Each molecule becomes an n-qubit computing system Can operate on multiple molecules in parallel to reduce errors –Asymmetry of molecule causes different atoms to precess at different frequencies Individual addressability
Structure of System Tube Static field coils RF Coils
Implementing Operations Key ideas: –Radio energy applied perpendicular to magnetic field causes spins to rotate around axis of RF field if RF frequency is a resonant frequency of the precession frequency Pulses of different durations cause different amounts of rotation –Position of spin of atom A affects precession rate of nearby atom B by altering the magnetic field seen by B –Differences between precession frequencies of different atoms in the molecule >> effect of nearby atom spins
Implementing Operations I Can flip state of bit with appropriately-timed RF pulse, or set into superposition with shorter pulse Can create multi-input gates by sending pulses at the frequency that the atom will precess at if appropriate other bits are in a given state. –CNOT operation CNOT operation + set of operations on individual qubits = universal set of gates “Machine language” is now set of frequency of RF pulses, duration of pulses, and time between pulses Read state out by rotating qubit spins into horizontal plane, sensing the time-varying magnetic field they create as they precess
Results Used NMR technology to implement the core of Shor’s algorithm on permutations of a four-element set. Duration: 50-500ms, depending on permutation
Full System Architecture Goal: extend thoughts on ways to do computation with quantum to something like a full system Issues –Data storage –Communication/signalling –Error correction overhead Basic idea: Couple quantum computing system with classical computer –Classical computer sequences operations through quantum computer, does dynamic compilation –Classical computer also does checking of results for probabilistic computations System aimed at NP-complete problems where computing answer is hard but checking answer is easy.
Programming/Compiling Two-phase process Pre-compiler generates code that executes the algorithm with a specified error probability on an ideal quantum computer Dynamic compiler creates instruction stream to meet the error probability on the actual computer –This compiler needs to know about the technology –Also needs estimate of program run time #errors is proportional to run time. Estimate either provided by user or generated using profiling –For example, can start with very conservative (strong) error correction and use lower levels once the running time is known
Error Correction Problem: 7-bit codes only tolerate certain amounts of error –Can tolerate greater errors by recursive coding, at greatly increased cost –“Sawtooth” overhead as error rates cross critical thresholds Solution: Cluster operations –Rather than performing error correction on each operation, group operations into clusters and only do error correction after each cluster. –Allows “fractional” levels of recursion, bringing error correction cost much closer to ideal.
Architecture Quantum ALU/Ancilla generator –Performs actual computations and error correction –Implements set of universal quantum operations Quantum Memories –Storage locations for qubits –Assumed to have 2 orders of magnitude lower error rates than CPU Entropy Exchange Unit –Source of qubits in |0> or CAT state –Important, because many algorithms require many qubits in one of these states or the other Inter-unit communication via quantum teleportation –Allows exact state of qubits to be transmitted –Extension to quantum teleportation allows conversion from one error- correcting code to another as part of teleportation
Conclusions/Thoughts Quantum computing is still way out there, though people are starting to demonstrate actual systems One issue: current designs expose implementation issues to programmer –Time that computation can run before decoherence becomes an issue –Number of steps that can be performed before need to do a measurement Still big gaps between demonstrated results and the theoretical predictions people are using to do designs My gut feelings: –We’ll see quantum computers being built for specific problems in the next decade or two –Quantum computing won’t move into the mainstream unless a vastly better implementation technology is developed and a much larger set of problems that are good for quantum are discovered