Related articles |
---|
Paper: Portability of Optimizations from SC to TSO johnl@taugh.com (John R Levine) (2025-05-04) |
From: | John R Levine <johnl@taugh.com> |
Newsgroups: | comp.compilers |
Date: | Sun, 04 May 2025 17:42:30 -0400 |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="3157"; mail-complaints-to="abuse@iecc.com" |
Keywords: | optimize, parallel |
Posted-Date: | 04 May 2025 17:42:54 EDT |
This paper looks at ways to optimize parallel code that assumes Total
Store Order rather than the stricter Sequential Consistency.
Abstract
It is well recognized that the safety of compiler optimizations is at risk
in a concurrent context. Existing approaches primarily rely on
context-free thread-local guarantees, and prohibit optimizations that
introduce a data-race. However, compilers utilize global context-specific
information, exposing safe optimizations that may violate such guarantees
as well as introduce a race. Such optimizations need to individually be
proven safe for each language model. An alternate approach to this would
be proving them safe for an intuitive model (like interleaving semantics),
and then determine their portability across other concurrent models. In
this paper, we address this problem of porting across models of
concurrency. We first identify a global guarantee on optimizations
portable from Sequential Consistency (SC) to Total Store Order (TSO). Our
guarantee is in the form of constraints specifying the syntactic changes
an optimization must not incur. We then show these constraints correlate
to prohibiting the introduction of triangular races, a subset of data-race
relevant to TSO. We conclude by showing how such race inducing
optimizations relate to porting across Strong Release Acquire (SRA), a
known causally consistent memory model.
https://arxiv.org/abs/2504.17646
Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly
Return to the
comp.compilers page.
Search the
comp.compilers archives again.