Lasagne: a static binary translator for weak memory model architectures

Rodrigo C. O. Rocha, Dennis Sprokholt, Martin Fink, Redha Gouicem, Tom Spink, Soham Chakraborty, Pramod Bhatotia

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The emergence of new architectures create a recurring challenge to ensure that existing programs still work on them. Manually porting legacy code is often impractical. Static binary translation (SBT) is a process where a program’s binary is automatically translated from one architecture to another, while preserving their original semantics. However, these SBT tools have limited support to various advanced architectural features. Importantly, they are currently unable to translate concurrent binaries. The main challenge arises from the mismatches of the memory consistency model specified by the different architectures, especially when porting existing binaries to a weak memory model architecture.

In this paper, we propose Lasagne, an end-to-end static binary translator with precise translation rules between x86 and Arm concurrency semantics. First, we propose a concurrency model for Lasagne’s intermediate representation (IR) and formally proved mappings between the IR and the two architectures. The memory ordering is preserved by introducing fences in the translated code. Finally, we propose optimizations focused on raising the level of abstraction of memory address calculations and reducing the number offences. Our evaluation shows that Lasagne reduces the number of fences by up to about 65%, with an average reduction of 45.5%, significantly reducing their runtime overhead.
Original languageEnglish
Title of host publicationProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2022)
PublisherACM
Pages888–902
Number of pages15
ISBN (Print)9781450392655
DOIs
Publication statusPublished - 9 Jun 2022
Event43rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2022) - San Diego, United States
Duration: 13 Jun 202217 Jun 2022
Conference number: 43
https://pldi22.sigplan.org/

Conference

Conference43rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2022)
Abbreviated titlePLDI 2022
Country/TerritoryUnited States
CitySan Diego
Period13/06/2217/06/22
Internet address

Keywords

  • Binary translation
  • Memory model
  • Compiler

Fingerprint

Dive into the research topics of 'Lasagne: a static binary translator for weak memory model architectures'. Together they form a unique fingerprint.

Cite this