Skip to main content

W-Order Scan: Minimizing Cache Pollution by Application Software Level Cache Management for MMDB

  • Conference paper
Book cover Web-Age Information Management (WAIM 2011)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 6897))

Included in the following conference series:

  • 1667 Accesses

Abstract

The utilization of shared LLC(Last Level Cache) is important for efficiency of multi-core processor. Uncontrolled sharing leads to cache pollution i.e. the weak locality data(single-usage data without re-using) continuously evict the strong locality data (frequently re-used data) from LLC in both inner query processing and co-running programs. For analytical MMDB (Main-Memory Database) applications, with skewed star schema of DW, more than 95% memory capacity is occupied by memory-resident fact table with weak locality and there are only small size dimension tables with strong locality. Cache partitioning must manage data with different localities inside query processing to avoid cache pollution by weak locality fact table. The static OS-based cache partitioning suffers from insufficient memory address capacity due to large fact table and the dynamic OS-based cache partitioning also suffers from data movement overhead during cache re-allocation. In order to employ a practical and effective cache partitioning policy, we propose an application software-based W-order scan policy for real analytical MMDB application. The consecutive physical address based W-order policy is proposed to reduce cache misses with high memory utilization by controlling the physical page accessing order within large and consecutive physical pages. Another approach is page-color index i.e. we extract page-color bits from pages of weak locality data and sort the page address by page-color bits, when we perform a page-color index scan, we can control the physical page accessing order too without supporting from OS for large consecutive physical page allocating. We measure the L2 cache miss rate by simulating a typical hash join operation. The experimental results show that DBMSs can improve cache performance through controlling weak locality data accessing pattern by themselves oppose to depending on supports by hardware or OS.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Taylor, G., Davies, P., Farmwald, M.: The TLB slice-a low-cost high-speed address translation mechanism. In: Proceedings of the ISCA 1990, pp. 355–363 (1990)

    Google Scholar 

  2. Lin, J., Lu, Q., Ding, X., Zhang, Z., Zhang, X., Sadayappan, P.: Gaining insights into multi-core cache partitioning: Bridging the gap between simulation and real systems. In: Proceedings of the14th International Symposium on High-Performance Computer Architecture, pp. 367–378 (2008)

    Google Scholar 

  3. Piquet, T., Rochecouste, O., Seznec, A.: Minimizing Single-Usage Cache Pollution for Effective Cache Hierarchy Management. Research report (2006), http://hal.inria.fr/docs/00/11/66/11/PDF/PI-1826.pdf

  4. Piquet, T., Rochecouste, O., Seznec, A.: Exploiting Single-Usage for Effective Memory Management. In: Proceedings of Asia-Pacific Computer Systems Architecture Conference, pp. 90–101 (2007)

    Google Scholar 

  5. Chang, J., Sohi, G.S.: Cooperative cache partitioning for chip multiprocessors. In: Proceedings of the 21st Annual International Conference on Supercomputing, pp. 242–252 (2007)

    Google Scholar 

  6. Kim, S., Chandra, D., Solihin, Y.: Fair cache sharing and partitioning in a chip multiprocessor architecture. In: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, pp. 111–122 (2004)

    Google Scholar 

  7. Qureshi, M.K., Patt, Y.N.: Utility-based cache partitioning: A low-overhead, high-performance, runtime mechanism to partition shared caches. In: Proceedings of the 39th International Symposium on Microarchitecture, pp. 423–432 (2006)

    Google Scholar 

  8. Suh, G.E., Rudolph, L., Devadas, S.: Dynamic partitioning of shared cache memory. The Journal of Supercomputing 28(1), 7–26 (2004)

    Article  MATH  Google Scholar 

  9. Chandra, D., Guo, F., Kim, S., Solihin, Y.: Predicting inter-thread cache contention on a chip multi-processor architecture. In: Proceedings of HPCA (2005)

    Google Scholar 

  10. Guo, F., Solihin, Y.: An analytical model for cache replacement policy performance. In: Proceedings of SIGMETRICS (2006)

    Google Scholar 

  11. Bray, B.K., Lynch, W.L., Flynn, M.: Page allocation to reduce access time of physical caches. Tech. Rep. CSL-TR-90-454, Computer Systems Laboratory, Stanford University (1990)

    Google Scholar 

  12. Taylor, G., Davies, P., Farmwald, M.: The TLB slice – A low-cost high-speed address translation mechanism. In: Proceedings of the 17th Annual International Symposium on Computer Architecture, pp. 355–363 (1990)

    Google Scholar 

  13. Kessler, R.E., Hill, M.D.: Page placement algorithms for large real-indexed caches. ACM Transactions on Computer Systems 10(11), 338–359 (1992)

    Article  Google Scholar 

  14. Sherwood, T., Calder, B., Emer, J.: Reducing cache misses using hardware and software page placement. In: Proceedings of the 13th International Conference on Supercomputing, pp. 155–164 (1999)

    Google Scholar 

  15. Tam, D., Azimi, R., Soares, L., Stumm, M.: Managing shared L2 caches on multicore systems in software. In: Proceedings of WIOSCA 2007 (2007)

    Google Scholar 

  16. Lee, R., Ding, X., Chen, F., Lu, Q., Zhang, X.: MCC-DB: Minimizing Cache Conflicts in Multi-core Processors for Databases. PVLDB 2(1), 373–384 (2009)

    Google Scholar 

  17. Zhang, X., Dwarkadas, S., Shen, K.: Towards practical page coloring-based multicore cache management. In: EuroSys 2009, pp. 89–102 (2009)

    Google Scholar 

  18. Lu, Q., Lin, J., Ding, X., Zhang, Z., Zhang, X., Sadayappan, P.: Soft-OLP: Improving Hardware Cache Performance through Software-Controlled Object-Level Partitioning. In: Proceedings of PACT 2009, pp. 246–257 (2009)

    Google Scholar 

  19. Lin, J., Lu, Q., Ding, X., Zhang, Z., Zhang, X., Sadayappan, P.: Enabling software management for multicore caches with a lightweight hardware support. In: Proceedings of SC 2009 (2009)

    Google Scholar 

  20. Boncz, P.A., Mangegold, S., Kersten, M.L.: Database architecture optimized for the new bottleneck: Memory access. In: Proceedings of the VLDB 1999, pp. 266–277 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhang, Y., Jiao, M., Wang, Z., Wang, S., Zhou, X. (2011). W-Order Scan: Minimizing Cache Pollution by Application Software Level Cache Management for MMDB. In: Wang, H., Li, S., Oyama, S., Hu, X., Qian, T. (eds) Web-Age Information Management. WAIM 2011. Lecture Notes in Computer Science, vol 6897. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23535-1_41

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23535-1_41

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23534-4

  • Online ISBN: 978-3-642-23535-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics