  This paper considers convex programs with a general (possibly
non-differentiable) convex objective function and Lipschitz continuous convex
inequality constraint functions. A simple algorithm is developed and achieves
an $O(1/t)$ convergence rate. Similar to the classical dual subgradient
algorithm and the ADMM algorithm, the new algorithm has a parallel
implementation when the objective and constraint functions are separable.
However, the new algorithm has a faster $O(1/t)$ convergence rate compared with
the best known $O(1/\sqrt{t})$ convergence rate for the dual subgradient
algorithm with primal averaging. Further, it can solve convex programs with
nonlinear constraints, which cannot be handled by the ADMM algorithm. The new
algorithm is applied to a multipath network utility maximization problem and
yields a decentralized flow control algorithm with the fast $O(1/t)$
convergence rate.
