Near-term quantum computers can hold only a small number of qubits. One way
to facilitate large-scale quantum computations is through a distributed network
of quantum computers. In this work, we consider the problem of distributing
quantum programs represented as quantum circuits across a quantum network of
heterogeneous quantum computers, in a way that minimizes the overall
communication cost required to execute the distributed circuit. We consider two
ways of communicating: cat-entanglement that creates linked copies of qubits
across pairs of computers, and teleportation. The heterogeneous computers
impose constraints on cat-entanglement and teleportation operations that can be
chosen by an algorithm. We first focus on a special case that only allows
cat-entanglements and not teleportations for communication. We provide a
two-step heuristic for solving this specialized setting: (i) finding an
assignment of qubits to computers using Tabu search, and (ii) using an
iterative greedy algorithm designed for a constrained version of the set cover
problem to determine cat-entanglement operations required to execute gates
locally.
For the general case, which allows both forms of communication, we propose
two algorithms that subdivide the quantum circuit into several portions and
apply the heuristic for the specialized setting on each portion. Teleportations
are then used to stitch together the solutions for each portion. Finally, we
simulate our algorithms on a wide range of randomly generated quantum networks
and circuits, and study the properties of their results with respect to several
varying parameters