  Parallel implementations of linear iterative solvers generally alternate
between phases of data exchange and phases of local computation. Increasingly
large problem sizes on more heterogeneous systems make load balancing and
network layout very challenging tasks. In particular, global communication
patterns such as inner products become increasingly limiting at scale. We
explore the use of asynchronous communication based on one-sided MPI primitives
in a multitude of domain decomposition solvers. In particular, a scalable
asynchronous two-level method is presented. We discuss practical issues
encountered in the development of a scalable solver and show experimental
results obtained on state-of-the-art supercomputer systems that illustrate the
benefits of asynchronous solvers in load balanced as well as load imbalanced
scenarios. Using the novel method, we can observe speed-ups of up to 4x over
its classical synchronous equivalent.
