  As NISQ devices have several physical limitations and unavoidable noisy
quantum operations, only small circuits can be executed on a quantum machine to
get reliable results. This leads to the quantum hardware under-utilization
issue. Here, we address this problem and improve the quantum hardware
throughput by proposing a multiprogramming approach to execute multiple quantum
circuits on quantum hardware simultaneously. We first introduce a parallelism
manager to select an appropriate number of circuits to be executed at the same
time. Second, we present two different qubit partitioning algorithms to
allocate reliable partitions to multiple circuits-a greedy and a heuristic.
Third, we use the Simultaneous Randomized Benchmarking protocol to characterize
the crosstalk properties and consider them in the qubit partition process to
avoid crosstalk effect during simultaneous executions. Finally, we enhance the
mapping transition algorithm to make circuits executable on hardware using
decreased number of inserted gates. We demonstrate the performance of our
multi-programming approach by executing circuits of different size on IBM
quantum hardware simultaneously. We also investigate this method on VQE
algorithm to reduce its overhead.
