MacroDB: Scaling Database Engines on Multicores

  • João Soares
  • João Lourenço
  • Nuno Preguiça
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8097)

Abstract

Multicore processors are available for over a decade, but general purpose database management systems (DBMS) still cannot fully explore the computational resources of these platforms. This paper explores a simple and easy to deploy approach for improving DBMS performance in multicore platforms, by maintaining multiple database engines running in parallel, rather than a single instance, thus circumventing the increase in contention due to load interactions. Unlike previous works, we focus on in-memory DBMS, exploring different design solutions that combine distributed systems and concurrent programming techniques. We show that we are able to improve performance over standalone solutions, without modifying either database or application code, by up to 3 times while minimizing response times.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baumann, A., Barham, P., Dagand, P.E., Harris, T., Isaacs, R., Peter, S., Roscoe, T., Schüpbach, A., Singhania, A.: The multikernel: a new os architecture for scalable multicore systems. In: Proc. SOSP 2009 (2009)Google Scholar
  2. 2.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency control and recovery in database systems. Addison-Wesley Longman (1986)Google Scholar
  3. 3.
    Blanas, S., Li, Y., Patel, J.M.: Design and evaluation of main memory hash join algorithms for multi-core cpus. In: Proc. SIGMOD 2011 (2011)Google Scholar
  4. 4.
    Camargos, L., Pedone, F., Wieloch, M.: Sprint: a middleware for high-performance transaction processing. In: Proc. EuroSys 2007 (2007)Google Scholar
  5. 5.
    Cecchet, E., Candea, G., Ailamaki, A.: Middleware-based database replication: the gaps between theory and practice. In: Proc. SIGMOD 2008 (2008)Google Scholar
  6. 6.
    Chekuri, C., Hasan, W., Motwani, R.: Scheduling problems in parallel query optimization. In: Proc. PODS 1995 (1995)Google Scholar
  7. 7.
    Cieslewicz, J., Ross, K.A., Satsumi, K., Ye, Y.: Automatic contention detection and amelioration for data-intensive operations. In: Proc. SIGMOD 2010 (2010)Google Scholar
  8. 8.
    Elnikety, S., Dropsho, S., Pedone, F.: Tashkent: uniting durability with transaction ordering for high-performance scalable database replication. In: Proc. EuroSys 2006 (2006)Google Scholar
  9. 9.
    Giannikis, G., Alonso, G., Kossmann, D.: Shareddb: killing one thousand queries with one stone. In: Proc. VLDB 2012 (2012)Google Scholar
  10. 10.
    Hardavellas, N., Pandis, I., Johnson, R., Mancheril, N., Ailamaki, A., Falsafi, B.: Database servers on chip multiprocessors: Limitations and opportunities. In: Proc. CIDR 2007 (2007)Google Scholar
  11. 11.
    Harizopoulos, S., Abadi, D.J., Madden, S., Stonebraker, M.: Oltp through the looking glass, and what we found there. In: Proc. SIGMOD 2008 (2008)Google Scholar
  12. 12.
    Helal, A.A., Bhargava, B.K., Heddaya, A.A.: Replication Techniques in Distributed Systems. Kluwer Academic Publishers (1996)Google Scholar
  13. 13.
    Intel: Xenon processor e7 family (2012), http://www.intel.com/
  14. 14.
    Kallman, R., Kimura, H., Natkins, J., Pavlo, A., Rasin, A., Zdonik, S., Jones, E.P.C., Madden, S., Stonebraker, M., Zhang, Y., Hugg, J., Abadi, D.J.: H-store: a high-performance, distributed main memory transaction processing system. In: Proc. VLDB 2008 (2008)Google Scholar
  15. 15.
    Mariano, P., Soares, J., Preguiça, N.: Replicated software components for improved performance. In: Proc. InForum 2010 (2010)Google Scholar
  16. 16.
    Mishima, T., Nakamura, H.: Pangea: an eager database replication middleware guaranteeing snapshot isolation without modification of database servers. In: Proc. VLDB 2009 (August 2009)Google Scholar
  17. 17.
    Papadopoulos, K., Stavrou, K., Trancoso, P.: Helpercoredb: Exploiting multicore technology for databases. In: Proc. PACT 2007 (2007)Google Scholar
  18. 18.
    Plattner, C., Alonso, G.: Ganymed: scalable replication for transactional web applications. In: Jacobsen, H.-A. (ed.) Middleware 2004. LNCS, vol. 3231, pp. 155–174. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Salomie, T.I., Subasu, I.E., Giceva, J., Alonso, G.: Database engines on multicores, why parallelize when you can distribute? In: Proc. EuroSys 2011 (2011)Google Scholar
  20. 20.
    Song, X., Chen, H., Chen, R., Wang, Y., Zang, B.: A case for scaling applications to many-core with os clustering. In: Proc. EuroSys 2011 (2011)Google Scholar
  21. 21.
    Unterbrunner, P., Giannikis, G., Alonso, G., Fauser, D., Kossmann, D.: Predictable performance for unpredictable workloads. In: Proc. VLDB 2009 (2009)Google Scholar
  22. 22.
    Vandiver, B., Balakrishnan, H., Liskov, B., Madden, S.: Tolerating byzantine faults in transaction processing systems using commit barrier scheduling. In: Proc. SOSP 2007 (2007)Google Scholar
  23. 23.
    Wiesmann, M., Schiper, A., Pedone, F., Kemme, B., Alonso, G.: Database replication techniques: A three parameter classification. In: Proc. SRDS 2000 (2000)Google Scholar
  24. 24.
    Wiesmann, M., Schiper, A.: Comparison of database replication techniques based on total order broadcast. IEEE Trans. on Knowledge and Data Engineering 17 (2005)Google Scholar
  25. 25.
    Ye, Y., Ross, K.A., Vesdapunt, N.: Scalable aggregation on multicore processors. In: Proc. DaMoN 2011 (2011)Google Scholar
  26. 26.
    Zhou, J., Cieslewicz, J., Ross, K.A., Shah, M.: Improving database performance on simultaneous multithreading processors. In: Proc. VLDB 2005 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • João Soares
    • 1
  • João Lourenço
    • 1
  • Nuno Preguiça
    • 1
  1. 1.CITI/DI-FCTUniv. Nova de LisboaPortugal

Personalised recommendations