The University of Southampton
University of Southampton Institutional Repository

SynADT: dynamic data structures in high level synthesis

SynADT: dynamic data structures in high level synthesis
SynADT: dynamic data structures in high level synthesis

Data Types (ADTs) such as dictionaries and lists are essential for many embedded computing applications such as network stacks. However, in heterogeneous systems, code using ADTs can usually only run in CPUs, because components written in HLS do not support dynamic data structures. HLS tools cannot be used to synthesise dynamic data structures directly because the use of pointers is very restricted, such as not supporting pointers to pointers or pointer casting. Consequently, it is unclear what the API should look like and how to express dynamic data structures in HLS so that the tools can compile them. We propose SynADT, which consists of a methodology and a benchmark. The methodology provides classic data structures (linked lists, binary trees, hash tables and vectors) using relativeaddresses instead of pointers in Vivado HLS. The benchmark can be used to evaluate the performance of data structures in HLS, ARM processors and soft processors such as MicroBlaze, CPUs can utilise either the default C memory allocator or a hardware memory allocator. We evaluate the data structures in a Zynq FPGA demonstrating scaling to approximately 10MB memory usage and 1M data items. With a workload that utilises 10MB memory, the HLS data structures operating at 150MHz are on average 1.35× faster than MicroBlaze data structures operating at 150MHz with the default C allocator and 7.97× slower than ARM processor data structures operating at 667MHz with the default C allocator.

Data structures, Dynamic memory, High Level Synthesis
64-71
IEEE
Xue, Zeping
5dff2a90-fd64-41cb-ad31-6600e05a33a7
Thomas, David B.
5701997d-7de3-4e57-a802-ea2bd3e6ab6c
Xue, Zeping
5dff2a90-fd64-41cb-ad31-6600e05a33a7
Thomas, David B.
5701997d-7de3-4e57-a802-ea2bd3e6ab6c

Xue, Zeping and Thomas, David B. (2016) SynADT: dynamic data structures in high level synthesis. In Proceedings - 24th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2016. IEEE. pp. 64-71 . (doi:10.1109/FCCM.2016.26).

Record type: Conference or Workshop Item (Paper)

Abstract

Data Types (ADTs) such as dictionaries and lists are essential for many embedded computing applications such as network stacks. However, in heterogeneous systems, code using ADTs can usually only run in CPUs, because components written in HLS do not support dynamic data structures. HLS tools cannot be used to synthesise dynamic data structures directly because the use of pointers is very restricted, such as not supporting pointers to pointers or pointer casting. Consequently, it is unclear what the API should look like and how to express dynamic data structures in HLS so that the tools can compile them. We propose SynADT, which consists of a methodology and a benchmark. The methodology provides classic data structures (linked lists, binary trees, hash tables and vectors) using relativeaddresses instead of pointers in Vivado HLS. The benchmark can be used to evaluate the performance of data structures in HLS, ARM processors and soft processors such as MicroBlaze, CPUs can utilise either the default C memory allocator or a hardware memory allocator. We evaluate the data structures in a Zynq FPGA demonstrating scaling to approximately 10MB memory usage and 1M data items. With a workload that utilises 10MB memory, the HLS data structures operating at 150MHz are on average 1.35× faster than MicroBlaze data structures operating at 150MHz with the default C allocator and 7.97× slower than ARM processor data structures operating at 667MHz with the default C allocator.

This record has no associated files available for download.

More information

Published date: 16 August 2016
Additional Information: Publisher Copyright: © 2016 IEEE. Copyright: Copyright 2017 Elsevier B.V., All rights reserved.
Venue - Dates: 24th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2016, , Washington, United States, 2016-05-01 - 2016-05-03
Keywords: Data structures, Dynamic memory, High Level Synthesis

Identifiers

Local EPrints ID: 453659
URI: http://eprints.soton.ac.uk/id/eprint/453659
PURE UUID: a4ad8bed-c6b0-4679-8be1-056660b37dc2
ORCID for David B. Thomas: ORCID iD orcid.org/0000-0002-9671-0917

Catalogue record

Date deposited: 20 Jan 2022 17:45
Last modified: 17 Mar 2024 04:10

Export record

Altmetrics

Contributors

Author: Zeping Xue
Author: David B. Thomas ORCID iD

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×