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.
- Agarwal 2007 A. Agarwal and M. Levy. The kill rule for multicore. In IEEE DAC '07, pages 750--753, San Diego, California, 2007. Google ScholarDigital Library
- 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 Scholar
- Apache Mina Apache Mina. http://mina.apache.org/.Google Scholar
- 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 ScholarDigital Library
- Bettina 2003 K. Bettina. Future directions in distributed computing. Springer-Verlag, 2003.Google Scholar
- Borkar 2007 S. Borkar. Thousand core chips: a technology perspective. In IEEE DAC '07, pages 746--749, San Diego, California, 2007. Google ScholarDigital Library
- 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 ScholarDigital Library
- Bryant 2003 R. Bryant and J. Hawkes. Linux Scalability for Large NUMA Systems. In Linux Symposium, pages 83--96, Ottawa, Canada, 2003.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Daudjee 2006 K. Daudjee and K. Salem. Lazy Database Replication with Snapshot Isolation. In VLDB '06, pages 715--726, Seoul, Korea, 2006. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- OProfile OProfile. http://oprofile.sourceforge.net/.Google Scholar
- 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 Scholar
- Peterson 2000 L. Peterson and B.S. Davie. Computer networks: a systems approach. Morgan Kaufmann Publishers Inc., 2000. Google ScholarDigital Library
- Plattner 2004 C. Plattner and G. Alonso. Ganymed: Scalable Replication for Transactional Web Applications. In ACM Middleware, pages 155--174, Toronto, Canada, 2004. Google ScholarDigital Library
- Plattner 2008 C. Plattner, G. Alonso, and M. Tamer Özsu. Extending DBMSs with satellite databases. The VLDB Journal, 17 (4): 657--682, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Xkoto Xkoto. http://www.xkoto.com/.Google Scholar
Index Terms
- Database engines on multicores, why parallelize when you can distribute?
Recommendations
Studying inter-core data reuse in multicores
SIGMETRICS '11: Proceedings of the ACM SIGMETRICS joint international conference on Measurement and modeling of computer systemsMost of existing research on emerging multicore machines focus on parallelism extraction and architectural level optimizations. While these optimizations are critical, complementary approaches such as data locality enhancement can also bring significant ...
All-pairs computations on many-core graphics processors
Developing high-performance applications on emerging multi- and many-core architectures requires efficient mapping techniques and architecture-specific tuning methodologies to realize performance closer to their peak compute capability and memory ...
Studying inter-core data reuse in multicores
Performance evaluation reviewMost of existing research on emerging multicore machines focus on parallelism extraction and architectural level optimizations. While these optimizations are critical, complementary approaches such as data locality enhancement can also bring significant ...
Comments