Skip to main navigation Skip to search Skip to main content

Sorting large data sets with FPGA-Accelerated samplesort

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

11 Scopus citations

Abstract

Sorting is a fundamental operation in many applications such as databases, search, and social networks. Although FPGAs have been shown effective at sorting data sizes that fit on chip, systems that sort larger data sets by shuffling data on and off chip are typically bottlenecked by costly merge operations or data transfer time. We propose a new approach to sorting large data sets by accelerating the samplesort algorithm using a server with a PCIe-connected FPGA. Samplesort works by randomly sampling to determine how to partition data into approximately equal-sized non-overlapping 'buckets,' sorting each bucket, and concatenating the results. Although samplesort can partition a large problem into smaller ones that fit in the FPGA's on-chip memory, partitioning in software is slow. Our system uses a novel parallel hardware partitioner that is only limited in data set size by available FPGA hardware resources. After partitioning, each bucket is sorted using parallel sorting hardware. The CPU is responsible for sampling data, cleaning up any potential problems caused by variation in bucket size, and providing scalability by performing an initial coarse-grained partitioning when the input set is larger than the FPGA can sort. We prototype our design using Amazon Web Services FPGA instances, which pair a Xilinx Virtex UltraScale+ FPGA with a high-performance server. Our experiments demonstrate a 17.1x speedup over GNU parallel sort when sorting 223 key-value records and a speedup of 4.2x when sorting 230 records.

Original languageEnglish
Title of host publicationProceedings - 27th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages326
Number of pages1
ISBN (Electronic)9781728111315
DOIs
StatePublished - Apr 2019
Event27th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019 - San Diego, United States
Duration: Apr 28 2019May 1 2019

Publication series

NameProceedings - 27th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019

Conference

Conference27th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2019
Country/TerritoryUnited States
CitySan Diego
Period04/28/1905/1/19

Keywords

  • FPGA
  • partitioning
  • Samplesort
  • Sorting

Fingerprint

Dive into the research topics of 'Sorting large data sets with FPGA-Accelerated samplesort'. Together they form a unique fingerprint.

Cite this