Back to Search Start Over

Deterministic Atomic Buffering

Authors :
Matthew D. Sinclair
Joseph Devietti
Yuan Hsi Chou
Christopher Ng
Timothy G. Rogers
Jeremy Intan
Tor M. Aamodt
Shaylin Cattell
Source :
MICRO
Publication Year :
2020
Publisher :
IEEE, 2020.

Abstract

Deterministic execution for GPUs is a desirable property as it helps with debuggability and reproducibility. It is also important for safety regulations, as safety critical workloads are starting to be deployed onto GPUs. Prior deterministic architectures, such as GPUDet, attempt to provide strong determinism for all types of workloads, incurring significant performance overheads due to the many restrictions that are required to satisfy determinism. We observe that a class of reduction workloads, such as graph applications and neural architecture search for machine learning, do not require such severe restrictions to preserve determinism. This motivates the design of our system, Deterministic Atomic Buffering (DAB), which provides deterministic execution with low area and performance overheads by focusing solely on ordering atomic instructions instead of all memory instructions. By scheduling atomic instructions deterministically with atomic buffering, the results of atomic operations are isolated initially and made visible in the future in a deterministic order. This allows the GPU to execute deterministically in parallel without having to serialize its threads for atomic operations as opposed to GPUDet. Our simulation results show that, for atomic-intensive applications, DAB performs 4× better than GPUDet and incurs only a 23% slowdown on average compared to a non-deterministic GPU architecture. We also characterize the bottlenecks and provide insights for future optimizations.

Details

Database :
OpenAIRE
Journal :
2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
Accession number :
edsair.doi...........a5d5b70de0666eb583292008c7e53916
Full Text :
https://doi.org/10.1109/micro50266.2020.00083