skip to main content
research-article

OLTP on hardware islands

Authors Info & Claims
Published:01 July 2012Publication History
Skip Abstract Section

Abstract

Modern hardware is abundantly parallel and increasingly heterogeneous. The numerous processing cores have nonuniform access latencies to the main memory and to the processor caches, which causes variability in the communication costs. Unfortunately, database systems mostly assume that all processing cores are the same and that microarchitecture differences are not significant enough to appear in critical database execution paths. As we demonstrate in this paper, however, hardware heterogeneity does appear in the critical path and conventional database architectures achieve suboptimal and even worse, unpredictable performance.

We perform a detailed performance analysis of OLTP deployments in servers with multiple cores per CPU (multicore) and multiple CPUs per server (multisocket). We compare different database deployment strategies where we vary the number and size of independent database instances running on a single server, from a single shared-everything instance to fine-grained shared-nothing configurations. We quantify the impact of non-uniform hardware on various deployments by (a) examining how efficiently each deployment uses the available hardware resources and (b) measuring the impact of distributed transactions and skewed requests on different workloads. Finally, we argue in favor of shared-nothing deployments that are topology- and workload-aware and take advantage of fast on-chip communication between islands of cores on the same socket.

References

  1. M. J. Accetta, R. V. Baron, W. J. Bolosky, D. B. Golub, R. F. Rashid, A. Tevanian, and M. Young. Mach: A new kernel foundation for UNIX development. In USENIX Summer, pages 93--112, 1986.Google ScholarGoogle Scholar
  2. A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a modern processor: Where does time go? In VLDB, pages 266--277, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. A. Barroso, K. Gharachorloo, and E. Bugnion. Memory system characterization of commercial workloads. In ISCA, pages 3--14, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Baumann, P. Barham, P.-E. 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 SOSP, pages 29--44, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. M. Beckmann and D. A. Wood. Managing wire delay in large chip-multiprocessor caches. In MICRO, pages 319--330, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. A. Bernstein and N. Goodman. Multiversion concurrency control---theory and algorithms. ACM TODS, 8(4):465--483, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Blagodurov, S. Zhuravlev, A. Fedorova, and A. Kamali. A case for NUMA-aware contention management on multicore systems. In PACT, pages 557--558, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Blanas, Y. Li, and J. M. Patel. Design and evaluation of main memory hash join algorithms for multi-core cpus. In SIGMOD, pages 37--48, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. A. Brewer. Towards robust distributed systems (abstract). In PODC, pages 7--7, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. J. Carey, D. J. DeWitt, M. J. Franklin, N. E. Hall, M. L. McAuliffe, J. F. Naughton, D. T. Schuh, M. H. Solomon, C. K. Tan, O. G. Tsatalos, S. J. White, and M. J. Zwilling. Shoring up persistent applications. In SIGMOD, pages 383--394, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Closson. You buy a NUMA system, Oracle says disable NUMA! What gives?, 2009. See http://kevinclosson.wordpress.com/2009/05/14/you-buy-a-numa-system-oracle-says-disable-numa-what-gives-part-ii/.Google ScholarGoogle Scholar
  12. C. Curino, E. Jones, Y. Zhang, and S. Madden. Schism: a workload-driven approach to database replication and partitioning. PVLDB, 3(1):48--57, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. R. Engler, M. F. Kaashoek, and J. O'Toole Jr. Exokernel: an operating system architecture for application-level resource management. In SOSP, pages 251--266, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Hardavellas, M. Ferdman, B. Falsafi, and A. Ailamaki. Reactive NUCA: near-optimal block placement and replication in distributed caches. In ISCA, pages 184--195, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Harizopoulos, D. J. Abadi, S. Madden, and M. Stonebraker. OLTP through the looking glass, and what we found there. In SIGMOD, pages 981--992, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Helland. Life beyond distributed transactions: an apostate's opinion. In CIDR, pages 132--141, 2007.Google ScholarGoogle Scholar
  17. R. Johnson, I. Pandis, and A. Ailamaki. Improving OLTP scalability using speculative lock inheritance. PVLDB, 2(1):479--489, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, and B. Falsafi. Shore-MT: a scalable storage manager for the multicore era. In EDBT, pages 24--35, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, and A. Ailamaki. Aether: a scalable approach to logging. PVLDB, 3(1):681--692, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In SIGMOD, pages 603--614, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Kemper and T. Neumann. HyPer -- a hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In ICDE, pages 195--206, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM TODS, 6(2):213--226, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Lahiri, V. Srihari, W. Chan, N. MacNaughton, and S. Chandrasekaran. Cache fusion: Extending shared-disk clusters with shared caches. In VLDB, pages 683--686, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P.-A. Larson, S. Blanas, C. Diaconu, C. Freedman, J. M. Patel, and M. Zwilling. High-performance concurrency control mechanisms for main-memory databases. PVLDB, 5(4):298--309, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1):928--939, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. I. Pandis, P. Tözün, R. Johnson, and A. Ailamaki. PLP: page latch-free shared-everything OLTP. PVLDB, 4(10):610--621, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. Pavlo, E. P. C. Jones, and S. Zdonik. On predictive modeling for optimizing transaction execution in parallel OLTP systems. PVLDB, 5(2):85--96, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. T.-I. Salomie, I. E. Subasu, J. Giceva, and G. Alonso. Database engines on multicores, why parallelize when you can distribute? In EuroSys, pages 17--30, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Somogyi, T. F. Wenisch, N. Hardavellas, J. Kim, A. Ailamaki, and B. Falsafi. Memory coherence activity prediction in commercial workloads. In WMPI, pages 37--45, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Stonebraker. The case for shared nothing. IEEE Database Eng. Bull., 9(1):4--9, 1986.Google ScholarGoogle Scholar
  31. M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era: (it's time for a complete rewrite). In VLDB, pages 1150--1160, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. L. Tang, J. Mars, N. Vachharajani, R. Hundt, and M. L. Soffa. The impact of memory subsystem resource sharing on datacenter applications. In ISCA, pages 283--294, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. P. Tözün, I. Pandis, R. Johnson, and A. Ailamaki. Scalable and dynamically balanced shared-everything OLTP with physiological partitioning. To appear in The VLDB Journal. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. TPC. TPC benchmark C (OLTP) standard specification, revision 5.9, 2007. Available at http://www.tpc.org/tpcc.Google ScholarGoogle Scholar
  35. W. Vogels. Eventually consistent. Commun. ACM, 52(1):40--44, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. Wilson. Disabling NUMA parameter, 2011. http://www.michaelwilsondba.info/2011/05/disabling-numa-parameter.html.Google ScholarGoogle Scholar

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

Full Access

  • Published in

    cover image Proceedings of the VLDB Endowment
    Proceedings of the VLDB Endowment  Volume 5, Issue 11
    July 2012
    608 pages

    Publisher

    VLDB Endowment

    Publication History

    • Published: 1 July 2012
    Published in pvldb Volume 5, Issue 11

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader