Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Caribou: intelligent distributed storage

Published: 01 August 2017 Publication History

Abstract

The ever increasing amount of data being handled in data centers causes an intrinsic inefficiency: moving data around is expensive in terms of bandwidth, latency, and power consumption, especially given the low computational complexity of many database operations.
In this paper we explore near-data processing in database engines, i.e., the option of offloading part of the computation directly to the storage nodes. We implement our ideas in Caribou, an intelligent distributed storage layer incorporating many of the lessons learned while building systems with specialized hardware. Caribou provides access to DRAM/NVRAM storage over the network through a simple key-value store interface, with each storage node providing high-bandwidth near-data processing at line rate and fault tolerance through replication. The result is a highly efficient, distributed, intelligent data storage that can be used to both boost performance and reduce power consumption and real estate usage in the data center thanks to the micro-server architecture adopted.

References

[1]
A. Acharya, M. Uysal, and J. Saltz. Active disks: Programming model, algorithms and evaluation. ACM SIGPLAN Notices, 33(11), 1998.
[2]
J. Ahn, S. Hong, S. Yoo, et al. A scalable processing-in-memory accelerator for parallel graph processing. In ACM SIGARCH Computer Architecture News, volume 43, pages 105--117, 2015.
[3]
D. G. Andersen, J. Franklin, M. Kaminsky, et al. FAWN: A fast array of wimpy nodes. In SOSP'09. ACM.
[4]
B. Atikoglu, Y. Xu, E. Frachtenberg, et al. Workload analysis of a large-scale key-value store. In SIGMETRICS'12.
[5]
P. A. Bernstein, C. W. Reid, and S. Das. Hyder: A transactional record manager for shared flash. In CIDR, volume 11, pages 9--20, 2011.
[6]
M. Bjorling, P. Bonnet, L. Bouganim, and N. Dayan. The necessary death of the block device interface. In CIDR'13.
[7]
M. Blott, K. Karras, L. Liu, et al. Achieving 10gbps line-rate key-value stores with FPGAs. In HotCloud'13.
[8]
M. Blott, L. Liu, K. Karras, and K. Vissers. Scaling out to a single-node 80gbps memcached server with 40Terabytes of memory. In Usenix HotStorage'15.
[9]
L. Braun, T. Etter, G. Gasparis, et al. Analytics in motion: High performance event-processing and real-time analytics in the same database. In SIGMOD'15.
[10]
A. De, M. Gokhale, R. Gupta, et al. Minerva: Accelerating data analysis in next-generation SSDs. In FCCM'13.
[11]
C. Dennl, D. Ziener, and J. Teich. Acceleration of SQL restrictions and aggregations through FPGA-based dynamic partial reconfiguration. In FCCM'13.
[12]
C. Dennl, D. Ziener, and J. Teich. On-the-fly composition of FPGA-based SQL query accelerators using a partially reconfigurable module library. In FCCM'12.
[13]
C. Diaconu, C. Freedman, E. Ismert, et al. Hekaton: SQL server's memory-optimized OLTP engine. In SIGMOD'13.
[14]
J. Do, Y.-S. Kee, J. M. Patel, et al. Query processing on smart SSDs: opportunities and challenges. In SIGMOD'13.
[15]
A. Dragojević, D. Narayanan, O. Hodson, and M. Castro. Farm: Fast remote memory. In NSDI'14.
[16]
B. Fan, D. G. Andersen, and M. Kaminsky. Memc3: Compact and concurrent memcache with dumber caching and smarter hashing. In NSDI'13.
[17]
M. Gao and C. Kozyrakis. Hrl: Efficient and flexible reconfigurable logic for near-data processing. In HPCA'16.
[18]
Z. István, G. Alonso, M. Blott, and K. Vissers. A hash table for line-rate data processing. ACM TRETS, 8(2), Mar. 2015.
[19]
Z. István, G. Alonso, M. Blott, and K. A. Vissers. A flexible hash table design for 10Gbps key-value stores on FPGAs. In FPL'13.
[20]
Z. István, D. Sidler, and G. Alonso. Runtime parameterizable regular expression operators for databases. In FCCM'16.
[21]
Z. Istvan, D. Sidler, G. Alonso, and M. Vukolic. Consensus in a box: Inexpensive coordination in hardware. In NSDI'16.
[22]
Z. István, L. Woods, and G. Alonso. Histograms as a side effect of data movement for big data. In SIGMOD'14.
[23]
I. Jo, D.-H. Bae, A. S. Yoon, et al. YourSQL: a high-performance database system leveraging in-storage computing. VLDB'16.
[24]
S.-W. Jun, M. Liu, K. E. Fleming, et al. Scalable multi-access flash store for big data analytics. In FPGA'14.
[25]
S.-W. Jun, M. Liu, S. Lee, et al. BlueDBM: an appliance for big data analytics. In ISCA'15.
[26]
F. P. Junqueira, B. C. Reed, et al. Zab: High-performance broadcast for primary-backup systems. In DSN'11.
[27]
R. Kallman, H. Kimura, J. Natkins, et al. H-store: a high-performance, distributed main memory transaction processing system. VLDB'08.
[28]
Y. Kaneta, S.-i. Minato, and H. Arimura. Fast bit-parallel matching for network and regular expressions. In Proc. 17th SPIRE. Springer, 2010.
[29]
K. Kara and G. Alonso. Fast and robust hashing for database operators. In FPL'16.
[30]
K. Kara, J. Giceva, and G. Alonso. FPGA based data partitioning. In SIGMOD'17.
[31]
F. Klein, K. Beineke, and M. Schöttner. Memory management for billions of small objects in a distributed in-memory storage. In IEEE CLUSTER'14.
[32]
J. J. Levandoski, D. B. Lomet, and S. Sengupta. The bw-tree: A b-tree for new hardware platforms. In ICDE'13.
[33]
J. J. Levandoski, D. B. Lomet, S. Sengupta, et al. High performance transactions in Deuteronomy. In CIDR'15.
[34]
S. Li, H. Lim, V. W. Lee, et al. Architecting to achieve a billion requests per second throughput on a single key-value store server platform. In ACM SIGARCH Computer Architecture News, volume 43. ACM, 2015.
[35]
H. Lim, D. Han, D. G. Andersen, and M. Kaminsky. MICA: a holistic approach to fast in-memory key-value storage. In NSDI'14.
[36]
S. Loesing, M. Pilman, T. Etter, and D. Kossmann. On the design and scalability of distributed shared-data databases. In SIGMOD'15.
[37]
D. Makreshanski, J. Giceva, C. Barthels, and G. Alonso. BatchDB: Efficient isolated execution of hybrid OLTP+OLAP workloads for interactive applications. SIGMOD'17.
[38]
M. Najafi, M. Sadoghi, and H.-A. Jacobsen. Flexible query processor on FPGAs. VLDB'13.
[39]
M. Oskin, F. T. Chong, and T. Sherwood. Active pages: a computation model for intelligent memory, volume 26. IEEE Computer Society, 1998.
[40]
J. Ousterhout, P. Agrawal, D. Erickson, et al. The case for RAMClouds: scalable high-performance storage entirely in DRAM. ACM SIGOPS Operating Systems Review, 2010.
[41]
R. Pagh and F. F. Rodler. Cuckoo hashing. In European Symposium on Algorithms. Springer, 2001.
[42]
M. Pilman. Tell: An elastic database system for mixed workloads (PhD Dissertation No. 24147), ETH Zürich, Switzerland, 2017. https://www.systems.ethz.ch/sites/default/files/file/UpcomingPublications/PilmanMarkus2016.pdf.
[43]
C. Plattner and G. Alonso. Ganymed: Scalable replication for transactional web applications. In Middleware, 2004.
[44]
M. Poke and T. Hoefler. DARE: high-performance state machine replication on RDMA networks. In HPDC'15.
[45]
B. Salami, G. A. Malazgirt, O. Arcas-Abella, et al. AxleDB: A novel programmable query processing platform on FPGA. Elsevier Microprocessors and Microsystems, 51, 2017.
[46]
S. Seshadri, M. Gahagan, S. Bhaskaran, et al. Willow: a user-programmable SSD. In OSDI'14.
[47]
J. Shute, M. Oancea, S. Ellner, et al. F1-the fault-tolerant distributed RDBMS supporting Google's Ad business. In SIGMOD'12.
[48]
D. Sidler, G. Alonso, M. Blott, et al. Scalable 10Gbps TCP/IP stack architecture for reconfigurable hardware. In FCCM'15.
[49]
D. Sidler, Z. István, and G. Alonso. Low-latency TCP/IP stack for data center applications. In FPL'16.
[50]
D. Sidler, Z. István, M. Owaida, and G. Alonso. Accelerating pattern matching queries in hybrid CPU-FPGA architectures. In SIGMOD'17.
[51]
B. Sukhwani, H. Min, M. Thoennes, et al. Database analytics acceleration using FPGAs. In PACS'12.
[52]
Y. Sun, Z. Wang, S. Huang, et al. Accelerating frequent item counting with FPGA. In FPGA'14.
[53]
S. Tanaka and C. Kozyrakis. High performance hardware-accelerated flash key-value store. In Non-volatile Memories Workshop (NVMW), 2014.
[54]
J. Teubner and L. Woods. Data processing on FPGAs. Morgan & Claypool Synthesis Lectures on Data Management, 2013.
[55]
J. Teubner, L. Woods, and C. Nie. Skeleton automata for FPGAs: reconfiguring without reconstructing. In SIGMOD'12.
[56]
D. Tong and V. Prasanna. High throughput sketch based online heavy hitter detection on FPGA. ACM SIGARCH Computer Architecture News, 43, 2016.
[57]
A. Trivedi, P. Stuedi, B. Metzler, et al. Rstore: A direct-access DRAM-based data store. In ICDCS'15. IEEE.
[58]
R. van Renesse and F. B. Schneider. Chain replication for supporting high throughput and availability. In OSDI'04.
[59]
Z. Wang, B. He, and W. Zhang. A study of data partitioning on opencl-based fpgas. In FPL'15.
[60]
Z. Wang, J. Paul, H. Y. Cheah, B. He, and W. Zhang. Relational query processing on opencl-based fpgas. In FPL'16, 2016.
[61]
M. Wei, J. D. Davis, T. Wobber, et al. Beyond block I/O: implementing a distributed shared log in hardware. In Proceedings of the 6th International Systems and Storage Conference. ACM, 2013.
[62]
R. Weiss. A technical overview of the oracle exadata database machine and exadata storage server. Oracle White Paper. Oracle Corporation, Redwood Shores, 2012.
[63]
L. Woods, G. Alonso, and J. Teubner. Parallelizing data processing on FPGAs with shifter lists. ACM Transactions on Reconfigurable Technology and Systems (TRETS), 8(2), 2015.
[64]
L. Woods, Z. István, and G. Alonso. Ibex - an intelligent storage engine with support for advanced SQL off-loading. PVLDB, 7(11), July 2014.
[65]
L. Woods, J. Teubner, and G. Alonso. Complex event detection at wire speed with FPGAs. VLDB'10.
[66]
S. L. Xi, O. Babarinsa, M. Athanassoulis, and S. Idreos. Beyond the wall: Near-data processing for databases. In DAMoN'15. ACM.
[67]
S. Xu, S. Lee, S.-W. Jun, et al. Bluecache: A scalable distributed flash-based key-value store. In VLDB'16.
[68]
J. Ziv and A. Lempel. A universal algorithm for sequential data compression. IEEE Transactions on information theory, 23(3), 1977.

Cited By

View all
  • (2024)SmartNICs in the Cloud: The Why, What and How of In-network Processing for Data-Intensive ApplicationsCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3654690(556-560)Online publication date: 9-Jun-2024
  • (2024)Optimizing LSM-based indexes for disaggregated memoryThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-024-00863-y33:6(1813-1836)Online publication date: 1-Nov-2024
  • (2023)Strega: An HTTP Server for FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/361131217:1(1-27)Online publication date: 10-Oct-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 10, Issue 11
August 2017
432 pages
ISSN:2150-8097
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 August 2017
Published in PVLDB Volume 10, Issue 11

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)53
  • Downloads (Last 6 weeks)5
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)SmartNICs in the Cloud: The Why, What and How of In-network Processing for Data-Intensive ApplicationsCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3654690(556-560)Online publication date: 9-Jun-2024
  • (2024)Optimizing LSM-based indexes for disaggregated memoryThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-024-00863-y33:6(1813-1836)Online publication date: 1-Nov-2024
  • (2023)Strega: An HTTP Server for FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/361131217:1(1-27)Online publication date: 10-Oct-2023
  • (2023)CPU-free Computing: A Vision with a BlueprintProceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595906(1-14)Online publication date: 22-Jun-2023
  • (2023)Serverless FPGA: Work-In-ProgressProceedings of the 1st Workshop on SErverless Systems, Applications and MEthodologies10.1145/3592533.3592804(1-4)Online publication date: 8-May-2023
  • (2023)Non-relational Databases on FPGAs: Survey, Design Decisions, ChallengesACM Computing Surveys10.1145/356899055:11(1-37)Online publication date: 9-Feb-2023
  • (2022)Hardware acceleration of compression and encryption in SAP HANAProceedings of the VLDB Endowment10.14778/3554821.355482215:12(3277-3291)Online publication date: 1-Aug-2022
  • (2022)Near-data processing in database systems on native computational storage under HTAP workloadsProceedings of the VLDB Endowment10.14778/3547305.354730715:10(1991-2004)Online publication date: 7-Sep-2022
  • (2022)Near-memory Computing on FPGAs with 3D-stacked Memories: Applications, Architectures, and OptimizationsACM Transactions on Reconfigurable Technology and Systems10.1145/354765816:1(1-32)Online publication date: 22-Dec-2022
  • (2022)Energy-Efficient Database Systems: A Systematic SurveyACM Computing Surveys10.1145/353822555:6(1-53)Online publication date: 7-Dec-2022
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media