  Crosstalk is a major source of noise in Noisy Intermediate-Scale Quantum
(NISQ) systems and is a fundamental challenge for hardware design. When
multiple instructions are executed in parallel, crosstalk between the
instructions can corrupt the quantum state and lead to incorrect program
execution. Our goal is to mitigate the application impact of crosstalk noise
through software techniques. This requires (i) accurate characterization of
hardware crosstalk, and (ii) intelligent instruction scheduling to serialize
the affected operations. Since crosstalk characterization is computationally
expensive, we develop optimizations which reduce the characterization overhead.
On three 20-qubit IBMQ systems, we demonstrate two orders of magnitude
reduction in characterization time (compute time on the QC device) compared to
all-pairs crosstalk measurements. Informed by these characterization, we
develop a scheduler that judiciously serializes high crosstalk instructions
balancing the need to mitigate crosstalk and exponential decoherence errors
from serialization. On real-system runs on three IBMQ systems, our scheduler
improves the error rate of application circuits by up to 5.6x, compared to the
IBM instruction scheduler and offers near-optimal crosstalk mitigation in
practice.
  In a broader picture, the difficulty of mitigating crosstalk has recently
driven QC vendors to move towards sparser qubit connectivity or disabling
nearby operations entirely in hardware, which can be detrimental to
performance. Our work makes the case for software mitigation of crosstalk
errors.
