380 likes | 540 Views
A New Scheduling Problem Motivated by Quantum Computation. Robert Carr Anand Ganti Cynthia A. Phillips Sandia National Laboratories. Quantum Computation. Use a machine motivated by quantum mechanics to solve problems that are difficult for traditional computers
E N D
A New Scheduling Problem Motivated by Quantum Computation Robert Carr Anand Ganti Cynthia A. Phillips Sandia National Laboratories
Quantum Computation Use a machine motivated by quantum mechanics to solve problems that are difficult for traditional computers Known benefits include faster: • Factoring • Search • Simulating quantum physics To date, theoretical algorithms and a few early physical experiments
Sandia National Laboratories Project • Sandia basic quantum information sciences • Advanced computing architectures • Future engineered systems will require increased understanding of quantum effects. • Current three-year project to • Build physical qubit • Will test current understanding of quantum mechanics • Design a logical qubit • There are scheduling problems critical for quantum architecture design
Quantum Bits • Classical bits: 0 or 1 • Quantum bits (qubits): • Superposition • Measurement destroys superposition, makes
Gates (examples) 1-bit gates: 2-bit gates:
Quantum Errors Interaction with environment decoherence Errors act like X,Y,Z gates Errors are continuous
Quantum Error Correction • Consider just flip errors • Idea similar to classical error correction • Encode a single bit with more bits • Define a set of legal codewords • Ensure that all illegal codewords that result from a single error are closest to unique legal codeword • Simple example: • Use majority to correct any single flip error. • Real Example Steane [7,3,3], Calderbank-Shor-Steane codes
Quantum Complication 1 • Have to encode as without knowing or . • Only 2 of the 8 possible states have positive probability • This circuit creates the appropriate (entangled) states: }
Quantum Complication 2 • Measurement destroys information • Ancilla bits • Interact with real qbits • Pattern of ancilla values encodes single errors uniquely • Measure the ancilla
Quantum Error Correction • Critical for quantum computing • Cannot completely isolate qubits from the world (e.g. components of the computer itself) • Error correction happens often • Essentially after every operation • Error correction vastly dominates operations • Error correction is worth doing quickly/well • Throughput • Error threshold • Burn error correction into silicon, kind of like microcode • The precise nature depends on • General quantum architecture • Precise code
Our Architecture: Bilinear Array Hollenberg et al } Gate node Gate Rail Gate entry node Measurement Gate = location that can hold a qubit/information
Bilinear Array: Legal Movement • Move wherever there is an edge, including across gate • Multiple possible transport mechanisms such at CTAP (teleportation) • One edge per step (full to empty) • Bits cannot pass through each other
Error Correction is a Program Three types of operations • Single bit • 2 bit • Measurement PREPAREPLUS 7 CNOT(7,9) MEASUREX 8 MEASUREZ 9 CNOT (0,3) CNOT (3,8) … } Executed in gates
Scheduling Problem • Select initial placement (cyclic) • Schedule location and timing of operations • Schedule legal movements • Obey precedence constraints • (Usually) two operations that share a bit done serially • Possible parallelism limits • Minimize makespan • Avoid unnecessary movement
Example • 3 encoding bits, 2 ancilla • 4 measurements, 4 CNOTs (2-bit gates)
m Example Step 0
CNOT m Example Step 1
CNOT Example Step 2
Step 3 Example
CNOT Step 4 Example
CNOT Step 5 Example
Step 6 Example
Example Step 7
m m Step 8 Example
Integer Programming Variables • xbnt, binary, 1 if bit b in node n at start of time t • y(1)git binary, 1 if 1-bit instruction i executes in gatenode g, time t • y(2)git binary, 1 if 2-bit instruction i executes at full gate g, time t • y(2f)git same as y(2)git but flip control bit top to bottom • y(m)mit binary, 1 if measurement instruction executes in measurement gate m at time t • fbvwt implicit binary flow variables. Bit b moves v->w during time t
Some simple Special Ordered Sets • Bit locations (0 is empty) • Performing all operations
Movement Control • Flow conservation • Full->empty • Cyclic
Precedence Constraints • 9 sets depending on i,j in I1, I2, Im • = minimum time between operations (usually 1) • Enforce only for nearest neighbors • EST = earliest start time • LAST = last start time
Matching Computation with Transportation • ci = control bit • di = data bit • g1 = top gatenode of gate g • g2 = bottom gatenode of gate g
Stronger Transportation/Computation Coupling • If a bit is not in a gatenode at the proper time, none of the associated gate-firing variables can be 1. • Over 20x faster (similar constraints for bottom gates and measurement gates)
Objective Generally none. Can add a relaxation variable z, relaxing all coupling constraints: Minimize z Strange phenomenon: When z is integral, cplex 11 can require 4x as long to solve as when z and y’s are continuous. When y’s are integral, having no z is better (tiny examples)
LP cheating Steps 0 and 3 • Half-bits can pass each other Steps 1 and 2 m CNOT CNOT m
Comments and Issues • LP example motivates forcing initial placements • Considerably faster • Have to enumerate over placements • Need to understand structure • How to determine time? Number of rails • Recursive doubling • Better to understand/compute bounds • LP time grows quickly with both • Heuristics • LP based? • Constraint programming?
m CNOT CNOT m Example Step 1 Step 0 Step 2
Example CNOT CNOT Step 4 Step 3 Step 5
Example m m Step 7 Step 6 Step 8