Spandex
A flexible coherence interface for heterogeneous CPU/GPU systems in the DeNovo lineage that lets devices with diverse coherence properties and memory demands interoperate efficiently by directly translating between request types rather than forcing a single protocol on every device. It assumes a sequential-consistency-for-data-race-free (SC-for-DRF) consistency model, so on the race-free fragment it admits exactly the SC behaviours; the choice of coherence request type affects only performance, never the consistency guarantee. It is reported to reduce execution time by 16% on average (max 29%) and network traffic by 27% (max 58%) versus a hierarchical baseline.
Properties
Property vector author-extrapolated — set only where the model’s definition pins the cell down (unknown cells are omitted); cells citing a specific source are marked.
- Other local transformations
- yes Inverse roach motel Poetzl & Kroening 2015
- Reasoning guarantees
- yes External DRF
- yes Coherence
- yes In-order execution
- yes No out-of-thin-air
- Atomicity guarantees
- yes Multicopy atomic
Ordering relationships
- Equivalent to
- Sequential Consistency (SC) — Alsop, Sinclair & Adve (Spandex, ISCA 2018) state they assume a sequential-consistency-for-data-race-free (SC-for-DRF) model, so on the race-free fragment it admits exactly the SC outcomes; the flexible coherence request types affect only performance, not the consistency guarantee.
References
- Johnathan Alsop, Matthew D. Sinclair, Sarita V. Adve. Spandex: A Flexible Interface for Efficient Heterogeneous Coherence. ISCA 2018, 2018. doi:10.1109/ISCA.2018.00031
- Daniel Poetzl, Daniel Kroening. Formalizing and Checking Thread Refinement for Data-Race-Free Execution Models. arXiv:1510.07171, 2015. arxiv.org/abs/1510.07171