Skip to main content

H3: An Application-Level, Low-Overhead Object Store

  • Conference paper
  • First Online:
High Performance Computing (ISC High Performance 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12761))

Included in the following conference series:

Abstract

H3 is an embedded object store, backed by a high-performance key-value store. H3 provides a user-friendly object API, similar to Amazon’s S3, but is especially tailored for use in “converged” Cloud-HPC environments, where HPC applications expect from the underlying storage services to meet strict latency requirements—even for high-level object operations. By embedding the object store in the application, thus avoiding the REST layer, we show that data operations gain significant performance benefits, especially for smaller sized objects. Additionally, H3’s pluggable back-end architecture allows adapting the object store’s scale and performance to a variety of deployment requirements. H3 supports several key-value stores, ranging from in-memory services to distributed, RDMA-based implementations. The core of H3 is H3lib, a C library with Python and Java bindings. The H3 ecosystem also includes numerous utilities and compatibility layers: The H3 FUSE filesystem allows object access using file semantics, the CSI H3 implementation uses H3 FUSE for attaching H3-backed persistent volumes in Docker and Kubernetes, while an S3proxy plug-in offers an S3 protocol-compatible endpoint for legacy applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The 1 MB limit is used here as an example. The maximum part size is configurable.

References

  1. Amazon S3. https://aws.amazon.com/s3/

  2. Apache jclouds. http://jclouds.apache.org

  3. Apache Spark. https://spark.apache.org/

  4. Apache Zookeeper. https://zookeeper.apache.org

  5. Argo Workflows. https://argoproj.github.io/projects/argo

  6. CSI H3: CSI driver for H3. https://github.com/CARV-ICS-FORTH/csi-h3

  7. DigitalOcean Spaces. https://www.digitalocean.com/products/spaces/

  8. FUSE (Filesystem in USErspace). https://www.kernel.org/doc/html/latest/filesystems/fuse.html

  9. Google Cloud Storage. https://cloud.google.com/storage

  10. H3: An embedded object store. https://github.com/CARV-ICS-FORTH/H3

  11. H3 Benchmark: Performance test for H3. https://github.com/CARV-ICS-FORTH/h3-benchmark

  12. Hepnos. https://xgitlab.cels.anl.gov/sds/hep/HEPnOS

  13. Java Native Access. https://github.com/java-native-access/jna

  14. Kubernetes: Production-Grade Container Orchestration. https://kubernetes.io

  15. Microsoft Azure Blob Storage. https://azure.microsoft.com/en-us/services/storage/blobs/

  16. MinIO. https://min.io/

  17. Redis. https://redis.io/

  18. RocksDB. https://rocksdb.org/

  19. s3-benchmark. https://github.com/wasabi-tech/s3-benchmark

  20. S3Proxy. https://github.com/gaul/s3proxy

  21. TensorFlow. https://www.tensorflow.org/

  22. Wasabi. https://wasabi.com

  23. Aghayev, A., Weil, S., Kuchnik, M., Nelson, M., Ganger, G.R., Amvrosiadis, G.: File systems unfit as distributed storage backends: lessons from 10 years of ceph evolution. In: Proceedings of the 27th ACM Symposium on Operating Systems Principles, SOSP ’19, pp. 353–369. Association for Computing Machinery, New York (2019). https://doi.org/10.1145/3341301.3359656

  24. Chandrasekar, R.R., Evans, L., Wespetal, R.: An exploration into object storage for exascale supercomputers. In: Proceedings of the 2017 Cray User Group. CUG2017 (2017)

    Google Scholar 

  25. Duwe, K., Kuhn, M.: Using ceph’s bluestore as object storage in HPC storage framework. In: Proceedings of the Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems, CHEOPS ’21. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3439839.3458734

  26. Lofstead, J., Jimenez, I., Maltzahn, C., Koziol, Q., Bent, J., Barton, E.: Daos and friends: a proposal for an exascale storage system. In: SC ’16: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 585–596 (2016). https://doi.org/10.1109/SC.2016.49

  27. O’Neil, P., Cheng, E., Gawlick, D., O’Neil, E.: The log-structured merge-tree (LSM-tree). Acta Inf. 33(4), 351–385 (1996). https://doi.org/10.1007/s002360050048

    Article  MATH  Google Scholar 

  28. Papagiannis, A., Saloustros, G., González-Férez, P., Bilas, A.: An efficient memory-mapped key-value store for flash storage. In: Proceedings of the ACM Symposium on Cloud Computing, SoCC ’18, pp. 490–502. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3267809.3267824

  29. Vangoor, B.K.R., Tarasov, V., Zadok, E.: To fuse or not to fuse: performance of user-space file systems. In: Proceedings of the 15th Usenix Conference on File and Storage Technologies, FAST’17. pp. 59–72. USENIX Association, USA (2017)

    Google Scholar 

  30. Weil, S.A., Brandt, S.A., Miller, E.L., Long, D.D.E., Maltzahn, C.: Ceph: A scalable, high-performance distributed file system. In: Proceedings of the 7th Symposium on Operating Systems Design and Implementation, OSDI ’06, pp. 307–320. USENIX Association, USA (2006)

    Google Scholar 

Download references

Acknowledgements

We thankfully acknowledge the support of the European Commission under the Horizon 2020 Framework Programme for Research and Innovation through the project EVOLVE (Grant Agreement No. 825061).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antony Chazapis .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chazapis, A., Politis, E., Kalaentzis, G., Kozanitis, C., Bilas, A. (2021). H3: An Application-Level, Low-Overhead Object Store. In: Jagode, H., Anzt, H., Ltaief, H., Luszczek, P. (eds) High Performance Computing. ISC High Performance 2021. Lecture Notes in Computer Science(), vol 12761. Springer, Cham. https://doi.org/10.1007/978-3-030-90539-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-90539-2_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-90538-5

  • Online ISBN: 978-3-030-90539-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics