Advertisement

Distributed Transaction and Self-healing System of DAOS

Conference paper
  • 185 Downloads
Part of the Communications in Computer and Information Science book series (CCIS, volume 1315)

Abstract

The Distributed Asynchronous Object Storage (DAOS) is an open source scale-out storage system designed from the ground up to support Storage Class Memory (SCM) and NVMe storage in user space. DAOS uses an optimized two-phase commit protocol to guarantee atomicity of distributed I/O. This protocol is tightly coupled with the self-healing system of DAOS, in contrast with traditional two-phase commit protocol that is blocking when coordinator fails, this protocol can proceed in presence of failure, and it also has shorter transaction response time than the traditional protocol, these characteristics are important for massively distributed and low latency storage system like DAOS. This paper introduces the distributed transaction and self-healing system of DAOS, and presents the performance benefits of the transaction protocol.

Keywords

DAOS Distributed storage system Distributed transaction Two-phase commit SCM Self-healing Data recovery Rebuild 

References

  1. 1.
    Breitenfeld, M.: DAOS for Extreme-scale Systems in Scientific Applications (2017) https://arxiv.org/pdf/1712.00423.pdf
  2. 2.
    Abhinandan, D., Indranil, G., Ashish, M.: SWIM: Scalable weakly-consistent infection-style process group membership protocol. In: DSN 2002 Proceedings of the 2002 International Conference on Dependable Systems and Networks. pp. 303–312 (2002)Google Scholar
  3. 3.
    Diego, O., John, O.: In Search of an Understandable Consensus Algorithm (2014) https://www.usenix.org/system/files/conference/atc14/atc14-paper-ongaro.pdf
  4. 4.
    Sage, A., Weil, S., Brandt, Ethan, A., Miller, L., Carlos, M.: CRUSH: controlled, scalable, decentralized placement of replicated data. In: SC’06: Proceedings of the 2006 ACM/IEEE Conference on Supercomputing. (2006)  https://doi.org/10.1109/sc.2006.19
  5. 5.
    Butler, L., David, L.: A new presumed commit optimization for two phase commit. In: VLDB 1993: Proceedings of the 19th International Conference on Very Large Data Bases. pp. 630–640 (1993)Google Scholar
  6. 6.
    Suyash, G., Sadoghi, M.: EasyCommit: a non-blocking two-phase commit protocol. In: International Conference on Extending Database Technologies, At Vienna, Austria (2018)  https://doi.org/10.5441/002/edbt.2018.15
  7. 7.
    Yousef, J.A., George S.: Three-Phase Commit. Encyclopedia of Database Systems. Springer, Boston, MA (2009)  https://doi.org/10.1007/978-0-387-39940-9
  8. 8.
    George, S., Kathryn, B., Andrew, C., Mohan, C.: Two-phase commit optimizations and tradeoffs in the commercial environment. In: Proceedings of IEEE 9th International Conference on Data Engineering (1993)  https://doi.org/10.1109/icde.1993.344028
  9. 9.
    Liu, M.L., Agrawal, D., El Abbadi, A.: The performance of two phase commit protocols in the presence of site failures. Distr. Parallel Databases 6, 157–182 (1998) https://doi.org/10.1023/a:1008639314265
  10. 10.
    Andy, R.: APIs for persistent memory programming (2018). https://storageconference.us/2018/Presentations/Rudoff.pdf
  11. 11.
  12. 12.
  13. 13.
    SPDK Homepage: https://spdk.io/
  14. 14.
    PMDK Homepage: https://pmem.io/pmdk/
  15. 15.
  16. 16.

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Intel China Ltd. GTCBeijingChina
  2. 2.Intel CorporationSanta ClaraUSA
  3. 3.Intel Corporation SASMeudon CedexFrance

Personalised recommendations