Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. FlexiMem: Flexible Shared Virtual Memory for PCIe-attached FPGAs
 
conference paper

FlexiMem: Flexible Shared Virtual Memory for PCIe-attached FPGAs

Sönmez, Canberk  
•
Shahawy, Mohamed  
•
Belentepe, Cemalettin Cem  
Show more
2024
Proceedings - 2024 34th International Conference on Field-Programmable Logic and Applications, FPL 2024
34 International Conference on Field-Programmable Logic and Applications

Shared Virtual Memory (SVM) is a mechanism that allows host-side applications and FPGA accelerators to access the same virtual address space. It enables accelerating algorithms with unpredictable memory access patterns by making transparent pointer sharing possible. Even for applications with predictable memory access patterns, SVM helps by eliminating manual data movement. FlexiMem is a customizable SVM system that uses FPGA-addressable memory resources to store virtual memory pages, rather than directly accessing the host memory, to achieve high throughput and low latency. On the FPGA side, FlexiMem features a highly-flexible interconnect that, for the first time, allows for configuring address and payload data paths independently for SVM systems. It supports multiple master and slave devices sharing the same address space, such as accelerators issuing many memory requests in parallel to multiple memory banks. With our interconnect design, we provide numerous specialization dimensions to optimize the SVM system for a given workload. For example, irregular applications with short accesses to memory require an address translation for each data transfer. Such applications can take advantage of a highly parallelized address data path and an increased number of TLBs working in parallel. In contrast, regular and bursting applications transfer a small number of address packets per many data packets, and they can tolerate a lightweight address data path with a single translation unit. FlexiMem also provides address translation units with reconfigurable capacities and page sizes to be tailored to the needs of the application. On the host side, FlexiMem leverages the Linux userfaultfd API and vendor-provided IPs and drivers for automatic data movement initiated by software. Blocks of memory allocated by the FlexiMem API can be passed freely to the FPGA or other host-side libraries, without requiring any kind of explicit data movement. We evaluate several experimental setups with various FlexiMem configurations to showcase the effect of customizability on performance.

  • Details
  • Metrics
Type
conference paper
DOI
10.1109/FPL64840.2024.00020
Scopus ID

2-s2.0-85207850883

Author(s)
Sönmez, Canberk  

École Polytechnique Fédérale de Lausanne

Shahawy, Mohamed  

École Polytechnique Fédérale de Lausanne

Belentepe, Cemalettin Cem  

École Polytechnique Fédérale de Lausanne

Ienne, Paolo  

École Polytechnique Fédérale de Lausanne

Date Issued

2024

Publisher

Institute of Electrical and Electronics Engineers Inc.

Published in
Proceedings - 2024 34th International Conference on Field-Programmable Logic and Applications, FPL 2024
ISBN of the book

9798331530075

Start page

78

End page

86

Subjects

FPGA

•

Shared Virtual Memory

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAP  
Event nameEvent acronymEvent placeEvent date
34 International Conference on Field-Programmable Logic and Applications

Torino, Italy

2024-09-02 - 2024-09-06

Available on Infoscience
January 26, 2025
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/245054
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés