Abstract
In recent years, microprocessor vendors aiming for dramatic performance improvement have introduced manycore processors with over 100 cores on a single chip. To take advantage of this in database and storage systems, it is necessary for B-trees and their concurrency control to reduce the number of latch collisions and interactions among the cores. Concurrency control methods such as physiological partitioning (PLP), which assigns cores to partitions in a value–range partition, have been studied. These methods perform effectively for nearly static and uniform workloads using multicore processors. However, their performance deteriorates significantly if there is major restructuring of B-trees against skew and for changing workloads. The manycore approach has a high likelihood of causing workload skew, given the lower power of each core, with an accompanying severe degradation in performance. This issue is critical for database and storage systems, which demand consistent high performance even against dynamic workloads. To address this problem, we propose an efficient new concurrency control method suitable for manycore processor platforms, called the selecting accessible replicated pages (SARP) B-tree concurrency control method. SARP achieves a consistent high performance with robustness against workload skew by distributing the workload to many cores on manycore processors, while reducing latch collisions and interactions among the cores. By applying parallel B-trees to shared-everything environments, SARP selects execution cores and access paths that distribute workloads widely to cores with appropriate processor characteristics. Experimental results using a Linux server with an Intel Xeon Phi manycore processor demonstrated that the proposed system could achieve a throughput of 44 times that for PLP in the maximum-skew case and could maintain the throughput at 66% of a throughput for uniform workloads.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Intel 64 and ia-32 architectures optimization reference manual. http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf
Intel 64 and ia-32 architectures software developers manual. http://download.intel.com/design/processor/manuals/253668.pdf
Apache: Hadoop. http://hadoop.apache.org/
Cha, S.K., Hwang, S., Kim, K., Kwon, K.: Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In: Proceedings of VLDB 2001, pp. 181–190 (2001)
Graefe, G.: Write-optimized B-trees. In: Proceedings of VLDB 2004, pp. 672–683 (2004)
Graefe, G., Kimura, H., Kuno, H.A.: Foster b-trees. ACM Trans. Database Syst. 37(3), 17 (2012)
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo (1992)
Jeffers, J., Reinders, J.: Intel Xeon Phi Coprocessor High Performance Programming, 1st edn. Morgan Kaufmann, San Francisco (2013)
Jeffers, J., Reinders, J., Sodani, A.: Intel Xeon Phi Processor High Performance Programming, 2nd edn. Morgan Kaufmann, San Francisco (2016)
Johnson, T., Shasha, D.: Utilization of B-trees with inserts, deletes and modifies. In: Proceedings of PODS 1989, pp. 235–246 (1989)
Jung, H., Han, H., Fekete, A.D., Heiser, G., Yeom, H.Y.: A scalable lock manager for multicores. In: Proceedings of ACM SIGMOD 2013, pp. 73–84 (2013)
Karnagel, T., Dementiev, R., Rajwar, R., Lai, K., Legler, T., Schlegel, B., Lehner, W.: Improving in-memory database index performance with intel\(^{\textregistered }\) transactional synchronization extensions. In: Proceedings of HPCA 2014, pp. 476–487 (2014)
Kimura, H.: FOEDUS: OLTP engine for a thousand cores and NVRAM. In: Proceedings of ACM SIGMOD 2015, pp. 691–706 (2015)
Kissinger, T., Schlegel, B., Habich, D., Lehner, W.: KISS-Tree: smart latch-free in-memory indexing on modern architectures. In: Proceedings of DaMoN 2012, pp. 16–23 (2012)
Leis, V., Kemper, A., Neumann, T.: Exploiting hardware transactional memory in main-memory databases. In: Proceedings of ICDE 2014, pp. 580–591 (2014)
Levandoski, J.J., Lomet, D.B., Sengupta, S.: The bw-tree: a b-tree for new hardware platforms. In: Proceedings of ICDE 2013, pp. 302–313 (2013)
Love, R.: Linux J. 2003(111), 8 (2003)
Mao, Y., Kohler, E., Morris, R.T.: Cache craftiness for fast multicore key-value storage. In: Proceedings of EuroSys 2012, pp. 183–196 (2012)
Pandis, I., TözĂ¼n, P., Johnson, R., Ailamaki, A.: PLP: page latch-free shared-everything OLTP. PVLDB 4(10), 610–621 (2011)
Porobic, D., Liarou, E., TözĂ¼n, P., Ailamaki, A.: Atrapos: adaptive transaction processing on hardware islands. In: Proceedings of ICDE 2014, pp. 688–699 (2014)
Sewall, J., Chhugani, J., Kim, C., Satish, N., Dubey, P.: PALM: parallel architecture-friendly latch-free modifications to B+ trees on many-core processors. PVLDB 4(11), 795–806 (2011)
Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: Proceedings of ACM SIGOPS 2013, pp. 18–32 (2013)
Yokota, H., Kanemasa, Y., Miyazaki, J.: Fat-Btree: an update-conscious parallel directory structure. In: Proceedings of ICDE 1999, pp. 448–457 (1999)
Yoshihara, T., Dai, K., Yokota, H.: A concurrency control protocol for parallel b-tree structures without latch-coupling for explosively growing digital content. In: Proceedings of EDBT 2008, pp. 133–144 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Yoshihara, T., Yokota, H. (2017). A Concurrency Control Protocol that Selects Accessible Replicated Pages to Avoid Latch Collisions for B-Trees in Manycore Environments. In: Benslimane, D., Damiani, E., Grosky, W., Hameurlain, A., Sheth, A., Wagner, R. (eds) Database and Expert Systems Applications. DEXA 2017. Lecture Notes in Computer Science(), vol 10439. Springer, Cham. https://doi.org/10.1007/978-3-319-64471-4_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-64471-4_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-64470-7
Online ISBN: 978-3-319-64471-4
eBook Packages: Computer ScienceComputer Science (R0)