PM-DB: Partition-based Multi-instance Database System for Multicore Platforms

Fang Xi, Takeshi Mishima, Haruo Yokota

Abstract

The continued evolution of modern hardware has brought several new challenges to database management systems (DBMSs). Multicore CPUs are now mainstream, while the future lies in massively parallel computing performed on many-core processors. However, because they were developed originally for single-core processors, DBMSs cannot take full advantage of the parallel computing that uses so many cores. Several components in the traditional database engines become new bottlenecks on multicore platforms. In this paper, we analyze the bottlenecks in existing database engines on a modern multicore platform using the mixed workload of the TPC-W benchmark and describe strategies for higher scalability and throughput for existing DBMSs on multicore platforms. First, we show how to overcome the limitations of the database engine by introducing a partition-based multi-instance database system on a single multicore platform without any modification of existing DBMSs. Second, we analyze the possibility of further improving the performance by optimizing the cache performance of concurrent queries. Implemented by middleware, our proposed PM-DB can avoid the challenging work of modifying existing database engines. Performance evaluation using the TPC-W benchmark revealed that our proposal can achieve at most 2.5 times higher throughput than the existing engine of PostgreSQL.

References

  1. Ailamaki, A., DeWitt, D. J., Hill, M. D., and Wood, D. A. (1999). DBMSs on a modern processor: Where does time go? In VLDB, pages 266-277.
  2. Boyd-Wickizer, S., Clements, A. T., Mao, Y., Pesterev, A., Kaashoek, M. F., Morris, R., and Zeldovich, N. (2010). An analysis of linux scalability to many cores.
  3. Chen, S., Ng, A., and Greenfield, P. (2013). A performance evaluation of distributed database architectures. Concurrency and Computation: Practice and Experience, 25(11):1524-1546.
  4. Cieslewicz, J. and Ross, K. A. (2008). Database optimizations for modern hardware. Proceedings of the IEEE, 96(5):863-878.
  5. de Melo, A. C. (2010). The new linux perf tools. In Slides from Linux Kongress.
  6. DeWitt, D. and Gray, J. (1992). Parallel Database Systems: The Future of High Performance Database Systems. Communications of the ACM, 35(6):85-98.
  7. DeWitt, D. J., Ghandeharizadeh, S., Schneider, D. A., Bricker, A., Hsiao, H.-I., and Rasmussen, R. (1990). The gamma database machine project. Knowledge and Data Engineering, IEEE Transactions on, 2(1):44-62.
  8. Giannikis, G., Alonso, G., and Kossmann, D. (2012). SharedDB: killing one thousand queries with one stone. In VLDB, pages 526-537.
  9. Hardavellas, N., Pandis, I., Johnson, R., Mancheril, N. G., Ailamaki, A., and Falsafi, B. (2007). Database servers on chip multiprocessors: Limitations and opportunities. In CIDR, pages 79-87.
  10. Intel, I. (64). IA-32 architectures software developers manual volume 3b: System programming guide. Part, 1:2007.
  11. Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., and Falsafi, B. (2009). Shore-MT: A scalable storage manager for the multicore era. In EDBT, pages 24-35.
  12. Kim, C., Kaldewey, T., Lee, V. W., Sedlar, E., Nguyen, A. D., Satish, N., Chhugani, J., Blas, A. D., and Dubey, P. (2009). Sort vs. hash revisited: fast join implementation on modern multi-core cpus. In VLDB, pages 1378-1389.
  13. Levon, J. and Elie, P. (2004). Oprofile: A system profiler for linux.
  14. Mehta, M. and DeWitt, D. J. (1997). Data placement in shared-nothing parallel database systems. The International Journal on Very Large Data Bases, 6(1):53- 72.
  15. Menasce, D. (2002). TPC-W: A benchmark for ecommerce. Internet Computing, IEEE, 6(3):83-87.
  16. Muneeswari, G. and Shunmuganathan, K. L. (2011). A novel hard-soft processor affinity scheduling for multicore architecture using multi agents. European Journal of Scientific Research, 55(3):419-429.
  17. Psaroudakis, I., Athanassoulis, M., and Ailamaki, A. (2013). Sharing data and work across concurrent analytical queries. In VLDB, pages 637-648.
  18. Salomie, T. I., Subasu, I. E., Giceva, J., and Alonso, G. (2011). Database engines on multicores, why parallelize when you can distribute? In EuroSys, pages 17-30.
  19. Samaras, G., Britton, K., Citron, A., and Mohan, C. (1993). Two-phase commit optimizations and tradeoffs in the commercial environment. In Data Engineering, 1993. Proceedings. Ninth International Conference on, pages 520-529. IEEE.
  20. Xi, F., Mishima, T., and Yokota, H. (2014). CARIC-DA: Core affinity with a range index for cache-conscious data access in a multicore environment. In DASFAA, pages 282-296.
  21. Ye, Y., Ross, K. A., and Vesdapunt, N. (2011). Scalable aggregation on multicore processors. In DaMoN, pages 1-9.
Download


Paper Citation


in Harvard Style

Xi F., Mishima T. and Yokota H. (2015). PM-DB: Partition-based Multi-instance Database System for Multicore Platforms . In Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-096-3, pages 128-138. DOI: 10.5220/0005370901280138


in Bibtex Style

@conference{iceis15,
author={Fang Xi and Takeshi Mishima and Haruo Yokota},
title={PM-DB: Partition-based Multi-instance Database System for Multicore Platforms},
booktitle={Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2015},
pages={128-138},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005370901280138},
isbn={978-989-758-096-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 17th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - PM-DB: Partition-based Multi-instance Database System for Multicore Platforms
SN - 978-989-758-096-3
AU - Xi F.
AU - Mishima T.
AU - Yokota H.
PY - 2015
SP - 128
EP - 138
DO - 10.5220/0005370901280138