The gap between theory and practice
Projective splitting decomposes a difficult nonsmooth convex optimization problem into evaluations of individual proximal operators. The Combettes–Eckstein algorithm supports block activation and bounded asynchronous updates under established convergence assumptions.
The manuscript addresses a practical gap: general-purpose open-source implementations and computational studies of the fully asynchronous algorithm were scarce. Our contribution is an implementation and empirical investigation of the existing algorithm, rather than a new convergence theorem.
Implementation
I contributed to a Julia implementation using Distributed.jl to assign proximal computations across worker processes. The implementation interoperates with ProximalOperators.jl and supports custom proximal operators, variables of different dimensions, and linear operators supplied as matrices or functions with their adjoints.
Users can configure full or cyclic block activation, maximum delay bounds, and iteration-dependent hyperparameters. Instrumentation tracks objective values, iterate differences, convergence proxies, epochs, iterations, and proximal-operator calls. Experiments ran on a Linux HPC system with Slurm.
Two application settings
Sparse linear classifier training
Studied latent group lasso with overlapping groups: a 10,000-dimensional classifier, 1,000 measurements, 1,429 groups, and 25% simulated label noise. A compressed representation stored only each group’s ten active coordinates, avoiding unnecessary dense storage.
Stereoscopic image recovery
Formulated recovery of multiple blurred, noisy images using wavelet sparsity, a quadratic data-fidelity term, and consistency between horizontally shifted views. The setup used a 5 × 5 averaging blur and additive Gaussian noise, with image recovery run for 300 iterations.
Synchrony versus asynchrony
The classifier experiment compared delay bound D = 0 with D = 5, using artificial proximal-computation latencies and averaging ten runs. These timings measure the stated simulated-latency setup.
| Processors | Synchronous | Asynchronous | Runtime reduction |
|---|---|---|---|
| 2 | 881.144 s | 728.214 s | 17.4% |
| 3 | 923.442 s | 701.419 s | 24.0% |
The asynchronous runs reduced wall-clock time with comparable or better reported convergence proxies in these experiments. A processor sweep from two to eight workers found the fastest asynchronous runtime at three workers; additional workers introduced enough overhead to increase total time.
Hyperparameter investigation
Used logarithmic grid search followed by ternary search to study the proximal parameters. Compared constant, linearly decreasing, nonlinearly decreasing, and random schedules. The parameter μ had a particularly strong effect on the attained objective; decreasing schedules outperformed constant ones in the reported classifier study.
The experiments found similar improvements from selected hyperparameters in synchronous and asynchronous settings. The best settings and processor counts depend on the problem and machine architecture.
Contribution and scope
Co-authored A note on asynchronous Projective Splitting in Julia, available on Optimization Online since April 2025, with the public record updated May 2026. The repository record lists Utkarsh Sharma, Kashish Goel, Aryan Dua, Sebastian Pokutta, and Zev Woodstock. The PDF credits the principal work to Sharma, Goel, and Dua, under primary supervision by Woodstock and secondary supervision by Pokutta. This is an openly available preprint; the repository listing does not establish journal acceptance.
The work bridges convex optimization, distributed execution, and empirical ML methodology. Its evidence is application-specific: the reported speedups should not be interpreted as universal parallel scaling guarantees.