Skip to main content

SwingDB: An Embedded In-memory DBMS Enabling Instant Snapshot Sharing

  • Conference paper
  • First Online:
Book cover Data Management on New Hardware (ADMS 2016, IMDM 2016)

Abstract

Data transmission between an in-memory DBMS and a data analytical program is usually slow, partially due to the inadequate IPC support of modern operating systems. In this paper, we present SWING, a novel inter-process data sharing mechanism of OS, which allows processes to share physical memory through an instant system call. Based on SWING, we develop an embedded in-memory DBMS called SwingDB, which enables data analytical applications to access databases in their own memory space, instead of resorting to traditional inter-process communication. Extensive experiments were conducted to demonstrate the advantage of such a DBMS-OS co-design.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

    Source code: http://swinglinux.github.io/swing/.

  2. 2.

    https://code.google.com/archive/p/supersonic/.

References

  1. Intel\({\textregistered }\) 64 and IA-32 architectures software developer’s manual. Basic Architecture, vol. 1. Intel Corporation, August 2012

    Google Scholar 

  2. Aviram, A., Weng, S.-C., Hu, S., Ford, B.: Efficient system-enforced deterministic parallelism. Commun. ACM 55(5), 111–119 (2012)

    Article  Google Scholar 

  3. Beck, F., Diehl, S.: On the congruence of modularity and code coupling. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 2011, pp. 354–364. ACM, New York (2011)

    Google Scholar 

  4. Castellano, G.V.: System object model (SOM) and Ada: an example of CORBA at work. In: ACM Sigada Ada Letters XVI, pp. 39–51 (1996)

    Google Scholar 

  5. Chaudhuri, S.: Review - integrating mining with relational database systems: alternatives and implications. In: ACM SIGMOD Digital Review, vol. 2 (2000)

    Google Scholar 

  6. Curcin, V., Ghanem, M.: Scientific workflow systems - can one size fit all? In: 2008 Cairo International Biomedical Engineering Conference, pp. 1–9, December 2008

    Google Scholar 

  7. Färber, F., Cha, S.K., Primsch, J., Bornhövd, C., Sigg, S., Lehner, W.: SAP HANA database: data management for modern business applications. ACM SIGMOD Rec. 40(4), 45–51 (2012)

    Article  Google Scholar 

  8. Garlan, D., Schmerl, B., Garlan, D., Schmerl, B.: Component-based software engineering in pervasive computing environments. In: Proceedings of the 4th ICSE Conference (2001)

    Google Scholar 

  9. Kemper, A., Neumann, T.: Hyper: a hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In: Proceedings of 27th ICDE, pp. 195–206. IEEE (2011)

    Google Scholar 

  10. Leipzig, J.: A review of bioinformatic pipeline frameworks. Brief. Bioinform. (2016). doi:10.1093/bib/bbw020

  11. Liu, T., Curtsinger, C., Berger, E.D.: Dthreads: efficient deterministic multithreading. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, pp. 327–336. ACM (2011)

    Google Scholar 

  12. Majer, K.: Linux Kernel Internals, 2nd edn. Addison-Wesley, US (1998)

    Google Scholar 

  13. McCracken, D.: Sharing page tables in the Linux kernel. In: Linux Symposium, p. 315 (2003)

    Google Scholar 

  14. Merrifield, T., Eriksson, J.: Conversion: multi-version concurrency control for main memory segments. In: Proceedings of the 8th ACM European Conference on Computer Systems, pp. 127–139. ACM (2013)

    Google Scholar 

  15. Sikka, V., Färber, F., Goel, A.K., Lehner, W.: SAP HANA: the evolution from a modern main-memory data platform to an enterprise application platform. PVLDB 6(11), 1184–1185 (2013)

    Google Scholar 

  16. Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pp. 18–32. ACM (2013)

    Google Scholar 

  17. Yu, J., Buyya, R.: A taxonomy of scientific workflow systems for grid computing. SIGMOD Rec. 34(3), 44–49 (2005)

    Article  Google Scholar 

  18. Zaharia, M., Chowdhury, M., Das, T., Dave, A., Ma, J., Mccauley, M., Franklin, M., Shenker, S., Stoica, I.: Fast and interactive analytics over hadoop data with spark. USENIX Login 37(4), 45–51 (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qingzhong Meng .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Meng, Q., Zhou, X., Chen, S., Wang, S. (2017). SwingDB: An Embedded In-memory DBMS Enabling Instant Snapshot Sharing. In: Blanas, S., Bordawekar, R., Lahiri, T., Levandoski, J., Pavlo, A. (eds) Data Management on New Hardware. ADMS IMDM 2016 2016. Lecture Notes in Computer Science(), vol 10195. Springer, Cham. https://doi.org/10.1007/978-3-319-56111-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-56111-0_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-56110-3

  • Online ISBN: 978-3-319-56111-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics