Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1596550.1596581acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

OXenstored: an efficient hierarchical and transactional database using functional programming with reference cell comparisons

Published: 31 August 2009 Publication History

Abstract

We describe in this paper our implementation of the Xenstored service which is part of the Xen architecture. Xenstored maintains a hierarchical and transactional database, used for storing and managing configuration values.
We demonstrate in this paper that mixing functional data-structures together with reference cell comparison, which is a limited form of pointer comparison, is: (i) safe; and (ii) efficient. This demonstration is based, first, on an axiomatization of operations on the tree-like structure we used to represent the Xenstored database. From this axiomatization, we then derive an efficient algorithm for coalescing concurrent transactions modifying that structure. Finally, we experimentally compare the performance of our implementation, that we called OXenstored, and the C implementation of the Xenstored service distributed with the Xen hypervisor sources: the results show that Oxenstored is much more efficient than its C counterpart.
As a direct result of this work, OXenstored will be included in future releases of Xenserver, the virtualization product distributed by Citrix Systems, where it will replace the current implementation of the Xenstored service.

Supplementary Material

JPG File (oxenstoredanecienthierarchicalandtransactionaldatabaseusing.jpg)
MP4 File (oxenstoredanecienthierarchicalandtransactionaldatabaseusing.mp4)

References

[1]
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the Art of Virtualization. In SOSP '03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 164--177. ACM Press, 2003.
[2]
Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[3]
Debmalya Biswas. Compensation in the World of Web Services Composition. In SWSWPC, pages 69--80. LNCS 3387, 2004.
[4]
Debmalya Biswas, Thomas Gazagnaire, and Blaise Genest. Small logs for transactional services: Distinction is much more accurate than (positive) discrimination. IEEE International Symposium on High-Assurance Systems Engineering, pages 97--106, 2008.
[5]
Paul Butterworth, Allen Otis, and Jacob Stein. The gemstone object database management system. Commun. ACM, 34 (10): 64--77, 1991.
[6]
Koen Claessen and David Sands. Observable Sharing for Functional Circuit Description. In In Asian Computing Science Conference, pages 62--73. Springer-Verlag, 1999.
[7]
Robert J. Creasy. The Origin of the VM/370 Time-Sharing System. IBM Journal of Research and Development, 25 (5): 483--490, 1981.
[8]
Robert Ennals. Efficient software transactional memory. Technical Report IRC-TR-05-051, Intel Research Cambridge Tech Report, 2005.
[9]
J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst., 29 (3): 17, 2007.
[10]
Edward Fredkin. Trie memory. Commun. ACM, 3 (9): 490--499, 1960.
[11]
Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., 1992.
[12]
Theo Harder and Andreas Reuter. Principles of transaction-oriented database recovery. ACM Comput. Surv., 15 (4): 287--317, 1983.
[13]
Tim Harris and Keir Fraser. Language Support for Lightweight Transactions. In OOPSLA, 2003.
[14]
Xavier Leroy, Jérôme Vouillon, Damien Doligez, et al. The Objective Caml system. http://caml.inria.fr/ocaml/, 1996.
[15]
Chris Okasaki. Purely Functional Data Structures. Cambridge University Press, 1999.
[16]
Andrew Pitts and Ian Stark. Observable properties of higher order functions that dynamically create local names, or: What's new. In Mathematical Foundations of Computer Science, Proc. 18th Int. Symp., pages 122--141. Springer-Verlag, 1993.
[17]
Torvald Riegel, Christof Fetzer, and Pascal Felber. Snapshot Isolation for Software Transactional Memory. In Proceedings of the First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006.
[18]
Manuel Serrano. Bee: an integrated development environment for the Scheme programming language. Journal of Functional Programming, 10 (4): 353--395, 2000.
[19]
Nir Shavit and Dan Touitou. Software Transactional Memory. In Symposium on Principles of Distributed Computing, pages 204--213, 1995.
[20]
Phil Trinder. A functional database. PhD thesis, 1989.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
August 2009
364 pages
ISBN:9781605583327
DOI:10.1145/1596550
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 44, Issue 9
    ICFP '09
    September 2009
    343 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1631687
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. databases
  3. prefix trees
  4. transactions

Qualifiers

  • Research-article

Conference

ICFP '09
Sponsor:
ICFP '09: ACM SIGPLAN International Conference on Functional Programming
August 31 - September 2, 2009
Edinburgh, Scotland

Acceptance Rates

Overall Acceptance Rate 333 of 1,064 submissions, 31%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2018)An architecture for interspatial communicationIEEE INFOCOM 2018 - IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS)10.1109/INFCOMW.2018.8406931(716-723)Online publication date: Apr-2018
  • (2017)CatalystACM SIGPLAN Notices10.1145/3140607.305076052:7(44-59)Online publication date: 8-Apr-2017
  • (2017)Swift Birth and Quick DeathACM SIGPLAN Notices10.1145/3140607.305075852:7(1-14)Online publication date: 8-Apr-2017
  • (2017)MigVisorACM SIGPLAN Notices10.1145/3140607.305075352:7(30-43)Online publication date: 8-Apr-2017
  • (2017)ReRanzACM SIGPLAN Notices10.1145/3140607.305075252:7(143-156)Online publication date: 8-Apr-2017
  • (2017)Swift Birth and Quick DeathProceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3050748.3050758(1-14)Online publication date: 8-Apr-2017
  • (2015)Not-quite-so-broken TLSProceedings of the 24th USENIX Conference on Security Symposium10.5555/2831143.2831158(223-238)Online publication date: 12-Aug-2015
  • (2015)Optimizing Optimistic Concurrency Control for Tree-Structured, Log-Structured DatabasesProceedings of the 2015 ACM SIGMOD International Conference on Management of Data10.1145/2723372.2737788(1295-1309)Online publication date: 27-May-2015
  • (2013)SIGMM award for outstanding PhD thesis in multimedia computing, communications and applications 2013ACM SIGMultimedia Records10.1145/2552972.25529875:3(9-10)Online publication date: 1-Sep-2013
  • (2013)Opencast MatterhornACM SIGMultimedia Records10.1145/2552972.25529845:3(6-9)Online publication date: 1-Sep-2013
  • Show More Cited By

View Options

Get Access

Login options

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