SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Wed 20 Oct 2021 07:40 - 07:55 at Zurich D - Shared Memory - mirror Chair(s): Sebastian Burckhardt
Wed 20 Oct 2021 15:40 - 15:55 at Zurich D - Shared Memory Chair(s): Doug Lea

Heterogeneous CPU/FPGA devices, in which a CPU and an FPGA can execute together while sharing memory, are becoming popular in several computing sectors. In this paper, we study the shared-memory semantics of these devices, with a view to providing a firm foundation for reasoning about the programs that run on them. Our focus is on Intel platforms that combine an Intel FPGA with a multicore Xeon CPU. We describe the weak-memory behaviours that are allowed (and observable) on these devices when CPU threads and an FPGA thread access common memory locations in a fine-grained manner through multiple channels. Some of these behaviours are familiar from well-studied CPU and GPU concurrency; others are weaker still. We encode these behaviours in two formal memory models: one operational, one axiomatic. We develop executable implementations of both models, using the CBMC bounded model-checking tool for our operational model and the Alloy modelling language for our axiomatic model. Using these, we cross-check our models against each other via a translator that converts Alloy-generated executions into queries for the CBMC model. We also validate our models against actual hardware by translating 583 Alloy-generated executions into litmus tests that we run on CPU/FPGA devices; when doing this, we avoid the prohibitive cost of synthesising a hardware design per litmus test by creating our own 'litmus-test processor' in hardware. We expect that our models will be useful for low-level programmers, compiler writers, and designers of analysis tools. Indeed, as a demonstration of the utility of our work, we use our operational model to reason about a producer/consumer buffer implemented across the CPU and the FPGA. When the buffer uses insufficient synchronisation – a situation that our model is able to detect – we observe that its performance improves at the cost of occasional data corruption.

Wed 20 Oct

Displayed time zone: Central Time (US & Canada) change

07:40 - 09:00
Shared Memory - mirrorOOPSLA at Zurich D
Chair(s): Sebastian Burckhardt Microsoft Research
07:40
15m
Talk
The Semantics of Shared Memory in Intel CPU/FPGA SystemsVirtual
OOPSLA
Dan Iorga Imperial College London, Alastair F. Donaldson Imperial College London, Tyler Sorensen University of California at Santa Cruz, John Wickerson Imperial College London
DOI
07:55
15m
Talk
SecRSL: Security Separation Logic for C11 Release-Acquire ConcurrencyVirtual
OOPSLA
Pengbo Yan University of Melbourne, Toby Murray University of Melbourne
DOI
08:10
15m
Talk
The Reads-From Equivalence for the TSO and PSO Memory ModelsVirtual
OOPSLA
Truc Lam Bui Comenius University Bratislava, Krishnendu Chatterjee IST Austria, Tushar Gautam IIT Bombay, Andreas Pavlogiannis Aarhus University, Viktor Toman IST Austria
DOI
08:25
15m
Talk
Making Weak Memory Models FairDistinguished PaperVirtual
OOPSLA
Ori Lahav Tel Aviv University, Egor Namakonov St. Petersburg University; JetBrains Research, Jonas Oberhauser Huawei, Anton Podkopaev HSE University; JetBrains Research, Viktor Vafeiadis MPI-SWS
DOI
08:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

15:40 - 17:00
Shared MemoryOOPSLA at Zurich D -8h
Chair(s): Doug Lea State University of New York (SUNY) Oswego
15:40
15m
Talk
The Semantics of Shared Memory in Intel CPU/FPGA SystemsVirtual
OOPSLA
Dan Iorga Imperial College London, Alastair F. Donaldson Imperial College London, Tyler Sorensen University of California at Santa Cruz, John Wickerson Imperial College London
DOI
15:55
15m
Talk
SecRSL: Security Separation Logic for C11 Release-Acquire ConcurrencyVirtual
OOPSLA
Pengbo Yan University of Melbourne, Toby Murray University of Melbourne
DOI
16:10
15m
Talk
The Reads-From Equivalence for the TSO and PSO Memory ModelsVirtual
OOPSLA
Truc Lam Bui Comenius University Bratislava, Krishnendu Chatterjee IST Austria, Tushar Gautam IIT Bombay, Andreas Pavlogiannis Aarhus University, Viktor Toman IST Austria
DOI
16:25
15m
Talk
Making Weak Memory Models FairDistinguished PaperVirtual
OOPSLA
Ori Lahav Tel Aviv University, Egor Namakonov St. Petersburg University; JetBrains Research, Jonas Oberhauser Huawei, Anton Podkopaev HSE University; JetBrains Research, Viktor Vafeiadis MPI-SWS
DOI
16:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA