The need for scalable solvers for massive optimization problems has motivated the development of asynchronous-parallel algorithms, where a set of nodes runs in parallel with little or no synchronization, thus computing with delayed information. This paper develops powerful Lyapunov-functions techniques, and uses them to study the convergence of the asynchronous-parallel algorithm ARock under potentially unbounded delays.ARock is a very general asynchronous algorithm, that takes many popular algorithms as special cases: For instance, asynchronous block gradient descent, forward backward, ADMM, etc. Therefore our results have broad implications, and a range of applications. ARock parallelizes a fixed-point iterations by letting a set of nodes randomly choose solution coordinates to update in an asynchronous parallel fashion. The existing analysis of ARock assumes the delays to be bounded, and uses this bound to set a step size that is important to both convergence and efficiency. Other works, though allowing unbounded delays, impose strict conditions on the underlying fixed-point operator, resulting in limited applications.In this paper, convergence is established under unbounded delays, which can be either stochastic or deterministic. The proposed step sizes are more practical and larger than those in the existing work. The step size adapts to the delay distribution or the current delay being experienced in the system, instead of being limited by worst-case scenario delays. New Lyapunov functions, which are the key to analyzing asynchronous algorithms, are generated to obtain our results. A general strategy for generating Lyapunov functions is presented, which may find application in convergence analyses of other algorithms. A set of applicable optimization algorithms with large-scale applications are given, including machine learning and scientific computing algorithms.1.1 Motivation and importance of asynchronous algorithms since 2005. Before this point, running the same serial algorithm on the same problem would become faster year-over-year because of the increasing power of individual cores, however this is no longer the case. Moving forward, CPUs will only become faster through the addition of more cores rather than more powerful cores (see [1], [2]). Therefore the only way to utilize more powerful processors is to exploit parallelism. The trade off is that parallel algorithms are difficult to analyze and implement. However, the rewards for success are great: breakthroughs in parallel computing have implications for many other scientific fields.
Motivation and importance of asynchronous algorithmsThe vast majority of parallel algorithms are synchronous algorithms. For instance the synchronous-parallel Gauss-Jacobi algorithm divides the problem space R N into p coordinate blocks. At every iteration, these blocks are updated by a corresponding set of p processors, and each processor's update is communicated to every other processor. Synchronous algorithms are simpler to analyze and implement; however, they have...