  A dynamic partial order reduction (DPOR) algorithm is optimal when it always
explores at most one representative per Mazurkiewicz trace. Existing literature
suggests that the reduction obtained by the non-optimal, state-of-the-art
Source-DPOR (SDPOR) algorithm is comparable to optimal DPOR. We show the first
program with $\mathop{\mathcal{O}}(n)$ Mazurkiewicz traces where SDPOR explores
$\mathop{\mathcal{O}}(2^n)$ redundant schedules and identify the cause of the
blow-up as an NP-hard problem. Our main contribution is a new approach, called
Quasi-Optimal POR, that can arbitrarily approximate an optimal exploration
using a provided constant k. We present an implementation of our method in a
new tool called Dpu using specialised data structures. Experiments with Dpu,
including Debian packages, show that optimality is achieved with low values of
k, outperforming state-of-the-art tools.
