0928960776f67251.tex
1: \begin{abstract} 
2:   Stochastic Dual Coordinate Descent (\sdcd) has become one of the most efficient
3:   ways to solve the family of $\ell_2$-regularized empirical risk minimization problems, 
4:   including linear SVM, logistic regression, 
5:   and many others. 
6:   The vanilla implementation of \sdcd is quite slow; however, 
7:   by maintaining primal variables while updating dual variables, 
8:   the time complexity of \sdcd can be significantly reduced. Such a strategy forms the core algorithm in the 
9:   widely-used  LIBLINEAR package. 
10: %  the time complexity of SDCD can be reduced to be the same with SGD, but with a faster convergence
11: %  speed. 
12: %  With this trick, SDCD has been implemented in LIBLINEAR for solving a wide class of problems.
13:   In this paper, we parallelize the \sdcd algorithms in LIBLINEAR. 
14:   In recent research, several synchronized parallel \sdcd algorithms have been proposed, 
15:   however, they fail to achieve good speedup in the shared memory multi-core setting. 
16:   In this paper, we propose a family of asynchronous stochastic dual coordinate descent algorithms (\asdcd).
17:   Each thread repeatedly selects a random dual variable and conducts coordinate updates using 
18:   the primal variables that are stored
19:   in the shared memory. 
20:   We analyze the convergence properties when different locking/atomic mechanisms are applied. 
21:   For implementation with atomic operations, we show linear convergence under 
22:   mild conditions. 
23:   For implementation without any atomic operations or locking, we present the first {\it backward error analysis}
24:   for \asdcd under the multi-core environment, showing that the converged solution is the exact solution for 
25:   a primal problem with perturbed regularizer. 
26:   Experimental results show that our methods are much faster than previous parallel coordinate
27:   descent solvers.  
28: \end{abstract}