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}