Breaking RSA Using Shor's Algorithm
Future work
Distribute the computation
An interesting consequence of how we parallelize addition, by segmenting registers into pieces terminated by carry runways, is that there is limited interaction between the different pieces. In fact, the additions themselves require no communication between the pieces; it is only the lookup procedure preparing the input of the additions that requires communication. If we place each piece on a separate quantum computer, only a small amount of communication is needed to seed the lookups and keep the computation progressing.
Given the parameters we chose for our construction, each lookup is controlled by ten address qubits. Five of those qubits come from the exponent and are re-used hundreds of times. The other five come from the factor register, which is being iterated over during multiplication. If the computation was to be distributed over multiple machines, the communication cost would be dominated by broadcasting the successive groups of five qubits from the factor register.
Recall from Section 2 that each lookup addition takes approximately 37 milliseconds. Five qubits must be broadcast per lookup addition. Therefore, if each quantum computer had a 150 qb/s quantum channel, the necessary qubits could be communicated quickly enough to keep up with the lookup additions. This would distribute the factoring computation.
For example, a network topology where the computers were arranged into a linear chain and
were constantly forwarding the next set of factor qubits to each other would be sufficient. Each
quantum computer in the distributed computation would have a computational layout basically
equivalent to the left half (or right half) of Figure 7. Factoring an bit number could be performed with two machines each having perhaps 11 million physical qubits, instead of one
machine with 20 million physical qubits.
We can decrease the size of each individual quantum computer by decreasing the piece size
we use for the additions. For example, suppose we used an addition piece size of
and distributed an
RSA factoring computation over 8 machines. Normally using smaller
pieces would proportionally accelerate the addition, but the number of magic state factories has not
changed (they have simply been distributed) so each lookup addition will still take approximately
the same amount of time. So a 150 qb/s quantum channel per computer should still be sufficient.
One caveat here is that each of these much smaller machines has to run its own copy of the
lookup operation, and because there are so few factories per machine the lookup will take much
longer. The optimal windows sizes of the lookups will decrease, and the total computation time
will approximately double.
Based on this surface analysis it seems that, instead of using 1 machine with 20 million qubits,
we could use 8 machines each with perhaps 4 million qubits, as long as they were connected by
quantum channels with bandwidths of 150qb/s. But we have not carefully explored the question
of how to distribute a quantum computation structured in this way and, although there has been
significant previous work done on distributing quantum computations, we think
the piecewise nature of carry runway adders makes them well suited to a specialized analysis.