A scalable architecture for ordered parallelism


We present Swarm, a novel architecture that exploits <i>ordered irregular parallelism</i>, which is abundant but hard to mine with current software and hardware techniques. In this architecture, programs consist of short tasks with programmer-specified timestamps. Swarm executes tasks speculatively and out of order, and efficiently speculates thousands of tasks ahead of the earliest active task to uncover ordered parallelism. Swarm builds on prior TLS and HTM schemes, and contributes several new techniques that allow it to scale to large core counts and speculation windows, including a new execution model, speculation-aware hardware task management, selective aborts, and scalable ordered commits. We evaluate Swarm on graph analytics, simulation, and database benchmarks. At 64 cores, Swarm achieves 51--122&#215; speedups over a single-core system, and out-performs software-only parallel algorithms by 3--18&#215;.

DOI: 10.1145/2830772.2830777
View Slides

Extracted Key Phrases

19 Figures and Tables

Cite this paper

@inproceedings{Jeffrey2015ASA, title={A scalable architecture for ordered parallelism}, author={Mark C. Jeffrey and Suvinay Subramanian and Cong Yan and Joel S. Emer and Daniel S{\'a}nchez}, booktitle={MICRO}, year={2015} }