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.
- 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 Scholar
- 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 ScholarDigital Library
- L. A. Barroso, K. Gharachorloo, and E. Bugnion. Memory system characterization of commercial workloads. In ISCA, pages 3--14, 1998. Google ScholarDigital Library
- 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 ScholarDigital Library
- B. M. Beckmann and D. A. Wood. Managing wire delay in large chip-multiprocessor caches. In MICRO, pages 319--330, 2004. Google ScholarDigital Library
- P. A. Bernstein and N. Goodman. Multiversion concurrency control---theory and algorithms. ACM TODS, 8(4):465--483, 1983. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- E. A. Brewer. Towards robust distributed systems (abstract). In PODC, pages 7--7, 2000. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- P. Helland. Life beyond distributed transactions: an apostate's opinion. In CIDR, pages 132--141, 2007.Google Scholar
- R. Johnson, I. Pandis, and A. Ailamaki. Improving OLTP scalability using speculative lock inheritance. PVLDB, 2(1):479--489, 2009. Google ScholarDigital Library
- 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 ScholarDigital Library
- R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, and A. Ailamaki. Aether: a scalable approach to logging. PVLDB, 3(1):681--692, 2010. Google ScholarDigital Library
- E. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In SIGMOD, pages 603--614, 2010. Google ScholarDigital Library
- 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 ScholarDigital Library
- H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM TODS, 6(2):213--226, 1981. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1):928--939, 2010. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Stonebraker. The case for shared nothing. IEEE Database Eng. Bull., 9(1):4--9, 1986.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- TPC. TPC benchmark C (OLTP) standard specification, revision 5.9, 2007. Available at http://www.tpc.org/tpcc.Google Scholar
- W. Vogels. Eventually consistent. Commun. ACM, 52(1):40--44, 2009. Google ScholarDigital Library
- M. Wilson. Disabling NUMA parameter, 2011. http://www.michaelwilsondba.info/2011/05/disabling-numa-parameter.html.Google Scholar
Recommendations
Characterization of the Impact of Hardware Islands on OLTP
Modern hardware is abundantly parallel and increasingly heterogeneous. The numerous processing cores have non-uniform access latencies to the main memory and processor caches, which causes variability in the communication costs. Unfortunately, database ...
GaccO - A GPU-accelerated OLTP DBMS
SIGMOD '22: Proceedings of the 2022 International Conference on Management of DataIn this paper, we present GaccO - a main memory DBMS for GPU-accelerated OLTP. For executing OLTP workloads, GaccO implements a novel scheme that splits the execution across the CPU and the GPU. Using such a co-execution scheme GaccO can thus not only ...
Comments