FPGAs in the Datacenters: the Case of Parallel Hybrid Super Scalar String Sample Sort
String sorting is an important part of database and MapReduce applications; however, it has not been studied as extensively as sorting of fixed-length keys. Handling variable-length keys in hardware is challenging and it is no surprise that no string sorters on FPGA have been proposed yet. In this paper, we present Parallel Hybrid Super Scalar String Sample Sort (pHS(5)) on Intel HARPv2, a heterogeneous CPU-FPGA system with a server-grade multi-core CPU. Our pHS(5) is based on the state-of-the-art string sorting algorithm for multi-core shared memory CPUs, pS(5), which we extended with multiple processing elements (PEs) on the FPGA. Each PE accelerates one instance of the most effectively parallelizable dominant kernel of pS(5) by up to 33% compared to a single Intel Xeon Broadwell core running at 3.4 GHz. Furthermore, we extended the job scheduling mechanism of pS(5) to enable our PEs to compete with the CPU cores for processing the accelerable kernel, while retaining the complex high-level control flow and the sorting of the smaller data sets on the CPU. We accelerate the whole algorithm by up to 10% compared to the 28 thread software baseline running on the 14-core Xeon processor and by up to 36% at lower thread counts.
AsiaticiJul20_FpgasInTheDatacentersTheCaseOfParallelHybridSuperScalarStringSampleSort_ASAP20.pdf
publisher
openaccess
copyright
367.44 KB
Adobe PDF
bf47101bea09b3102fcf6e561f1f2708