“…These methods must, however, perform a vast number of iterations before an appreciable improvement in the objective is obtained, and due to the sequential nature of these iterations, it can be difficult to parallelize them; see [23,1,10] and the references therein. On the other hand, batch (or mini-batch) algorithms can easily exploit parallelism in the function and gradient evaluation, and are able to yield high accuracy in the solution of the optimization problem [30,2,31], if so desired. Motivated by the potential of function/gradient parallelism, the sole focus of this paper is on batch and mini-batch methods.…”