Parallel Algorithm Design for Branch and Bound - ID-IMAG

A New Scheduling Problem Motivated by
Quantum Computation
Robert Carr
Anand Ganti
Cynthia A. Phillips
Sandia National Laboratories
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company,
for the United States Department of Energy’s National Nuclear Security Administration
under contract DE-AC04-94AL85000.
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
Slide 2
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
Slide 3
Quantum Bits
• Classical bits: 0 or 1
• Quantum bits (qubits):
0 or 1
  0   1
• Superposition
,  complex
 numbers
2
2
   1
2
    *  Probability of finding
 in state 0
    *  Probability of finding
 in state 1
2
• Measurement destroys superposition, makes 0 or 1

Slide 4

Gates (examples)
1-bit gates:
preparation - create 0 or 1
X (not) : X 0  1 , X 1  0
Z
: Z 0  0 , Z 1  1
Y
: Y 0  i 1 , Y 1  i 0
measurement
2-bit gates:

swap :
s xy  yx
CNOT: c xy  c x y  x
if x  0 , y unchanged
if x  1 , y flipped
Slide 5
Quantum Errors
Interaction with environment  decoherence
Errors act like X,Y,Z gates
X bit flip
 0   1  1   0
Z phase flip
 0   1  0  1
Y phase and bit flip
Errors are continuous

Slide 6
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:
0  000
1  111
• Use majority to correct any single flip error.
• Real Example Steane [7,3,3], Calderbank-Shor-Steane codes

Slide 7
Quantum Complication 1
• Have to encode  0   1 as  000   111 without knowing 
or .
– Only 2 of the 8 possible states have positive probability
• This circuit creates the appropriate (entangled) states:


 0 1
}
0
0



Slide 8
 000   111
Quantum Complication 2
• Measurement destroys information
• Ancilla bits
– Interact with real qbits
– Pattern of ancilla values encodes single errors uniquely
– Measure the ancilla
Slide 9
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
Slide 10
Our Architecture: Bilinear Array
Hollenberg et al
Gate node
}
Gate
Rail
Measurement Gate
Gate entry node
= location that can hold a qubit/information
Slide 11
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
Slide 12
Error Correction is a Program
PREPAREPLUS 7
CNOT(7,9)
MEASUREX 8
MEASUREZ 9
CNOT (0,3)
CNOT (3,8)
…
Three types of operations
• Single bit
Executed in gates
• 2 bit
• Measurement
}
Slide 13
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
Slide 14
Example
• 3 encoding bits, 2 ancilla
• 4 measurements, 4 CNOTs (2-bit gates)
Slide 15
Example
m
Step 0
Slide 16
Example
CNOT
m
Slide 17
Step 1
Example
CNOT
Step 2
Slide 18
Example
Step 3
Slide 19
Example
CNOT
Step 4
Slide 20
Example
CNOT
Step 5
Slide 21
Example
Step 6
Slide 22
Example
Step 7
Slide 23
Example
m
m
Step 8
Slide 24
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
Slide 25
Some simple Special Ordered Sets
x
bnt
 1,
b  0,t
bnt
 1,
n,t
(m )
git
 1,
i  Im
 1,
i  I1
n
x
b
y
gt
y
(1)
git
gt
 y
(2)
git
f)
 y (2
git ,
gt
• Bit locations (0 is empty)
• Performing all operations

Slide 26
i  I2
Movement Control
f
buvt
 f bvvt  x bv,t 1 v,t
f
buvt
 f buut  x but
u,t
f
buvt
 x 0vt
v,t
u,v E
u,v E
b0
u,v E
x bnT  x bn1
• Flow conservation
• Full->empty

• Cyclic
Slide 27
b,n
Precedence Constraints
t
 y
gj
g   EST  j 

g
min( LAST(i),t )
y
gi
  EST  j 
i, j  I1 : i
j,EST  j   t  LAST  j 
• 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
Slide 28
Matching Computation with Transportation
y (1)
git  x d i gt
g,i  I1,t
)
y (m
mit  x d i mt m,i  I m ,t
y (2)
git  x c i g1 t g,i  I 2 ,t
y (2)
git  x d i g 2 t g,i  I 2 ,t
f)
y (2
git  x d i g1 t g,i  I 2 ,t
f)
y (2
git  x c i g 2 t g,i  I 2 ,t
• ci = control bit
• di = data bit

• g1 = top gatenode
of gate g
• g2 = bottom gatenode of gate g
Slide 29
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
y
b d i
(1)
git

y
g=c i
(2)
git

y
(2 f )
git
 x bgt
b,g  topgates,t
g d i
(similar constraints for bottom gates and measurement gates)

Slide 30
Objective
Generally none.
Can add a relaxation variable z, relaxing all coupling constraints:
y
(1)
git
b d i

y
g=c i
(2)
git

y
(2 f )
git
 x bgt - z b,g  topgates,t
g d i
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)
Slide 31
LP cheating
Steps 0 and 3
Steps 1 and 2
m
CNOT
m
• Half-bits can pass each other
Slide 32
CNOT
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?
Slide 33
Extra Slides
Slide 34
Error Corrected Logical Qubit
Slide 35
Example
m
CNOT
Step 0
Slide 36
m
Step 1
CNOT
Step 2
Example
CNOT
Step 3
Slide 37
Step 4
CNOT
Step 5
Example
m
Step 6
Slide 38
Step 7
m
Step 8