NASCENT: Near-Storage Acceleration of Database Sort on SmartSSD

As the size of data generated every day grows dramatically, the computational bottleneck of computer systems has been shifted toward the storage devices. Thanks to recent developments in storage devices, the interface between the storage and the computational platforms has become the main limitation as it provides limited bandwidth which does not scale when the number of storage devices increases. Interconnect networks limit the performance of the system when independent operations are executing on different storage devices since they do not provide simultaneous accesses to all the storage devices. Offloading the computations to the storage devices eliminates the burden of data transfer from the interconnects. Emerging as a nascent computing trend, near storage computing offloads a portion of computation to the storage devices to accelerate the big data applications. In this paper, we propose a near storage accelerator for database sort, NASCENT, which utilizes Samsung SmartSSD, an NVMe flash drive with an on-board FPGA chip that processes data in-situ. We propose, to the best of our knowledge, the first near storage database sort based on bitonic sort which considers the specifications of the storage devices to increase the scalability of computer systems as the number of storage devices increases. NASCENT improves both performance and energy efficiency as the number of storage devices increases. With 12 SmartSSDs, NASCENT is 7.6x (147.2x) faster and 5.6x (131.4x) more energy efficient than the FPGA (CPU) baseline.

[1]  Sangyeun Cho,et al.  YourSQL: A High-Performance Database System Leveraging In-Storage Computing , 2016, Proc. VLDB Endow..

[2]  Yannis Papakonstantinou,et al.  HippogriffDB: Balancing I/O and GPU Bandwidth in Big Data Analytics , 2016, Proc. VLDB Endow..

[3]  Aaron J. Elmore,et al.  Mostly Order Preserving Dictionaries , 2019, 2019 IEEE 35th International Conference on Data Engineering (ICDE).

[4]  Ionut Boicu Adaptive onthe-fly compressed execution in Spark , 2019 .

[5]  Ruhul Amin,et al.  Exploiting parallelism for faster implementation of Bubble sort algorithm using FPGA , 2016, 2016 2nd International Conference on Electrical, Computer & Telecommunication Engineering (ICECTE).

[6]  Jim Tørresen,et al.  FPGASort: a high performance sorting architecture exploiting run-time reconfiguration on fpgas for large problem sorting , 2011, FPGA '11.

[7]  Gustavo Alonso,et al.  Sorting networks on FPGAs , 2012, The VLDB Journal.

[8]  Jason Cong,et al.  Analyzing and Modeling In-Storage Computing Workloads On EISC — An FPGA-Based System-Level Emulation Platform , 2019, 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[9]  Tajana Simunic,et al.  Workload-Aware Opportunistic Energy Efficiency in Multi-FPGA Platforms , 2019, 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[10]  Viktor K. Prasanna,et al.  Energy and Memory Efficient Mapping of Bitonic Sorting on FPGA , 2015, FPGA.

[11]  Anahita Shayesteh,et al.  Modeling Analytics for Computational Storage , 2020, ICPE.

[12]  Michael Ferdman,et al.  FPGA-Accelerated Samplesort for Large Data Sets , 2020, FPGA.

[13]  Kiyoung Choi,et al.  ExtraV: Boosting Graph Processing Near Storage with a Coherent Accelerator , 2017, Proc. VLDB Endow..

[14]  Qing Yang,et al.  REGISTOR: A Platform for Unstructured Data Processing Inside SSD Storage , 2018, SYSTOR.

[15]  Jason Cong,et al.  End-to-End Optimization of Deep Learning Applications , 2020, FPGA.

[16]  S. Swanson,et al.  Gullfoss : Accelerating and Simplifying Data Movement among Heterogeneous Computing and Storage Resources , 2015 .

[17]  Babak Falsafi,et al.  FPGAs versus GPUs in Data centers , 2017, IEEE Micro.

[18]  André DeHon,et al.  The Density Advantage of Configurable Computing , 2000, Computer.

[19]  Raghu Ramakrishnan,et al.  Database Management Systems , 1976 .

[20]  Yannis Papakonstantinou,et al.  SSD in-storage computing for list intersection , 2016, DaMoN '16.

[21]  Goetz Graefe,et al.  Implementing sorting in database systems , 2006, CSUR.

[22]  David J. DeWitt,et al.  Query processing on smart SSDs: opportunities and challenges , 2013, SIGMOD '13.

[23]  Mihir Narayan Mohanty,et al.  A Survey: Classification of Big Data , 2019 .

[24]  Steven Swanson,et al.  Summarizer: Trading Communication with Computing Near Storage , 2017, 2017 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[25]  Suriayati Chuprat,et al.  Zero-delay FPGA-based odd-even sorting network , 2013, 2013 IEEE Symposium on Computers & Informatics (ISCI).

[26]  Jason Cong,et al.  INSIDER: Designing In-Storage Computing System for Emerging High-Performance Drive , 2019, USENIX Annual Technical Conference.

[27]  Mohsen Imani,et al.  FPGA Energy Efficiency by Leveraging Thermal Margin , 2019, 2019 IEEE 37th International Conference on Computer Design (ICCD).

[28]  Hui Zhang,et al.  SmartSSD: FPGA Accelerated Near-Storage Data Analytics on SSD , 2020, IEEE Computer Architecture Letters.

[29]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[30]  Tajana Simunic,et al.  RNSnet: In-Memory Neural Network Acceleration Using Residue Number System , 2018, 2018 IEEE International Conference on Rebooting Computing (ICRC).