  Parallel implementations of Krylov subspace methods often help to accelerate
the procedure of finding an approximate solution of a linear system. However,
such parallelization coupled with asynchronous and out-of-order execution often
enlarge the non-associativity impact in floating-point operations. These
problems are even amplified when communication-hiding pipelined algorithms are
used to improve the parallelization of Krylov subspace methods. Introducing
reproducibility in the implementations avoids these problems by getting more
robust and correct solutions. This paper proposes a general framework for
deriving reproducible and accurate variants of Krylov subspace methods. The
proposed algorithmic strategies are reinforced by programmability suggestions
to assure deterministic and accurate executions. The framework is illustrated
on the preconditioned BiCGStab method and its pipelined modification, which in
fact is a distinctive method from the Krylov subspace family, for the solution
of non-symmetric linear systems with message-passing. Finally, we verify the
numerical behaviour of the two reproducible variants of BiCGStab on a set of
matrices from the SuiteSparse Matrix Collection and a 3D Poisson's equation.
