skip to main content
10.1145/1966445.1966448acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Database engines on multicores, why parallelize when you can distribute?

Published:10 April 2011Publication History

ABSTRACT

Multicore computers pose a substantial challenge to infrastructure software such as operating systems or databases. Such software typically evolves slower than the underlying hardware, and with multicore it faces structural limitations that can be solved only with radical architectural changes. In this paper we argue that, as has been suggested for operating systems, databases could treat multicore architectures as a distributed system rather than trying to hide the parallel nature of the hardware. We first analyze the limitations of database engines when running on multicores using MySQL and PostgreSQL as examples. We then show how to deploy several replicated engines within a single multicore machine to achieve better scalability and stability than a single database engine operating on all cores. The resulting system offers a low overhead alternative to having to redesign the database engine while providing significant performance gains for an important class of workloads.

References

  1. Agarwal 2007 A. Agarwal and M. Levy. The kill rule for multicore. In IEEE DAC '07, pages 750--753, San Diego, California, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alonso 2011 G. Alonso, D. Kossmann, and T. Roscoe. SwissBox: An Architecture for Data Processing Appliances. In CIDR '11, pages 32--37, Asilomar, California, 2011.Google ScholarGoogle Scholar
  3. Apache Mina Apache Mina. http://mina.apache.org/.Google ScholarGoogle Scholar
  4. Baumann 2009 A. Baumann, P. Barham, P. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: a new OS architecture for scalable multicore systems. In ACM SOSP '09, pages 29--44, Big Sky, Montana, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bettina 2003 K. Bettina. Future directions in distributed computing. Springer-Verlag, 2003.Google ScholarGoogle Scholar
  6. Borkar 2007 S. Borkar. Thousand core chips: a technology perspective. In IEEE DAC '07, pages 746--749, San Diego, California, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Boyd-Wickizer 2010 S. Boyd-Wickizer, A. Clements, Y. Mao, A. Pesterev, M.F. Kaashoek, R. Morris, and N. Zeldovich. An Analysis of Linux Scalability to Many Cores. In USENIX OSDI '10), pages 1--8, Vancouver, Canada, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bryant 2003 R. Bryant and J. Hawkes. Linux Scalability for Large NUMA Systems. In Linux Symposium, pages 83--96, Ottawa, Canada, 2003.Google ScholarGoogle Scholar
  9. Bugnion 1997 E. Bugnion, S. Devine, K. Govil, and M. Rosenblum. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. ACM TOCS '97, 15 (4): 412--447, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Campbell 2010 D.G. Campbell, G. Kakivaya, and N. Ellis. Extreme scale with full SQL language support in Microsoft SQL Azure. In ACM SIGMOD Conference, pages 1021--1024, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cecchet 2008 E. Cecchet, G. Candea, and A. Ailamaki. Middleware-based database replication: the gaps between theory and practice. In ACM SIGMOD 08, pages 739--752, Vancouver, Canada, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Daudjee 2006 K. Daudjee and K. Salem. Lazy Database Replication with Snapshot Isolation. In VLDB '06, pages 715--726, Seoul, Korea, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Elnikety 2006 S. Elnikety, S. Dropsho, and F. Pedone. Tashkent: uniting durability with transaction ordering for high-performance scalable database replication. In ACM EuroSys '06, pages 117--130, Leuven, Belgium, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Govil 2000 K. Govil, D. Teodosiu, Y. Huang, and M. Rosenblum. Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors. ACM TOCS 2000, 18 (3): 229--262, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gray 1996 J. Gray, P. Helland, P. O'Neil, and D. Shasha. The dangers of replication and a solution. In ACM SIGMOD '96, pages 173--182, Montreal, Canada, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Han 2009 W.S. Han and J. Lee. Dependency-aware reordering for parallelizing query optimization in multi-core CPUs. In ACM SIGMOD '09, pages 45--58, Providence, Rhode Island, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hardavellas 2007 N. Hardavellas, I. Pandis, R. Johnson, N. Mancheril, A. Ailamaki, and B. Falsafi. Database Servers on Chip Multiprocessors: Limitations and Opportunities. In CIDR '07, pages 79--87, Asilomar, California, 2007.Google ScholarGoogle Scholar
  18. Harizopoulos 2005 S. Harizopoulos and A. Ailamaki. StagedDB: Designing database servers for modern hardware. In IEEE ICDE '05, pages 11--16, Tokyo, Japan, 2005.Google ScholarGoogle Scholar
  19. Hill 2008 M.D. Hill and M.R. Marty. Amdahl's Law in the Multicore Era. In IEEE HPCA '08, volume 41, pages 33--38, Salt Lake City, Utah, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Johnson 2009a R. Johnson, M. Athanassoulis, R. Stoica, and A. Ailamaki. A new look at the roles of spinning and blocking. In DaMoN '09, pages 21--26, Providence, Rhode Island, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Johnson 2009b R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, and B. Falsafi. Shore-MT: a scalable storage manager for the multicore era. In ACM EDBT '09, pages 24--35, Saint Petersburg, Russia, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kemme 2000 B. Kemme and G. Alonso. Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication. In VLDB 2000, pages 134--143, Cairo, Egypt, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kumar 2004 R. Kumar, D.M. Tullsen, P. Ranganathan, N. Jouppi, and K. Farkas. Single-ISA Heterogeneous Multi-Core Architectures for Multithreaded Workload Performance. In IEEE ISCA '04, volume 32, pages 64--75, Munich, Germany, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Liu 2009 R. Liu, K. Klues, S. Bird, S. Hofmeyr, K. Asanović, and J. Kubiatowicz. Tessellation: space-time partitioning in a manycore client OS. In USENIX HotPar'09, pages 10--10, Berkley, California, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Nightingale 2009 E.B. Nightingale, O. Hodson, R. McIlroy, C. Hawblitzel, and G. Hunt. Helios: heterogeneous multiprocessing with satellite kernels. In ACM SOSP '09, pages 221--234, Big Sky, Montana, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. OProfile OProfile. http://oprofile.sourceforge.net/.Google ScholarGoogle Scholar
  27. Papadopoulos 2008 K. Papadopoulos, K. Stavrou, and P. Trancoso. HelperCore DB: Exploiting multicore technology to improve database performance. In IEEE IPDPS '08, pages 1--11, Miami, Florida, 2008.Google ScholarGoogle Scholar
  28. Peterson 2000 L. Peterson and B.S. Davie. Computer networks: a systems approach. Morgan Kaufmann Publishers Inc., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Plattner 2004 C. Plattner and G. Alonso. Ganymed: Scalable Replication for Transactional Web Applications. In ACM Middleware, pages 155--174, Toronto, Canada, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Plattner 2008 C. Plattner, G. Alonso, and M. Tamer Özsu. Extending DBMSs with satellite databases. The VLDB Journal, 17 (4): 657--682, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Stonebraker 2008 M. Stonebraker. Technical perspective - One size fits all: an idea whose time has come and gone. Commun. ACM, 51 (12): 76, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Unterbrunner 2009 P. Unterbrunner, G. Giannikis, G Alonso, D. Fauser, and D. Kossmann. Predictable performance for unpredictable workloads. Proc. VLDB Endow., 2 (1): 706--717, August 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Vandiver 2007 B. Vandiver, H. Balakrishnan, B. Liskov, and S. Madden. Tolerating byzantine faults in transaction processing systems using commit barrier scheduling. In ACM SOSP '07, pages 59--72, Stevenson, Washington, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Veal 2007 B. Veal and A. Foong. Performance scalability of a multi-core web server. In ACM ANCS '07, pages 57--66, Orlando, Florida, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Wentzlaff 2009 D. Wentzlaff and A. Agarwal. Factored operating systems (fos): The case for a scalable operating system for multicores. ACM Operating Systems Review, pages 76--85, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Wickizer 2008 Silas B. Wickizer, H. Chen, Y Mao, M. Frans Kaashoek, R. Morris, A. Pesterev, L. Stein, M. Wu, et al. Corey: An Operating System for Many Cores. In USENIX OSDI '08, San Diego, California, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Xkoto Xkoto. http://www.xkoto.com/.Google ScholarGoogle Scholar

Index Terms

  1. Database engines on multicores, why parallelize when you can distribute?

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      EuroSys '11: Proceedings of the sixth conference on Computer systems
      April 2011
      370 pages
      ISBN:9781450306348
      DOI:10.1145/1966445

      Copyright © 2011 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 10 April 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      EuroSys '11 Paper Acceptance Rate24of161submissions,15%Overall Acceptance Rate241of1,308submissions,18%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader