Skip to main content
Log in

Efficient Execution of Multiple Queries on Deep Memory Hierarchy

  • Short Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

This paper proposes a complementary novel idea, called MiniTasking to further reduce the number of cache misses by improving the data temporal locality for multiple concurrent queries. Our idea is based on the observation that, in many workloads such as decision support systems (DSS), there is usually significant amount of data sharing among different concurrent queries. MiniTasking exploits such data sharing to improve data temporal locality by scheduling query execution at three levels: query level batching, operator level grouping and mini-task level scheduling. The experimental results with various types of concurrent TPC-H query workloads show that, with the traditional N-ary Storage Model (NSM) layout, MiniTasking significantly reduces the L2 cache misses by up to 83, and thereby achieves 24% reduction in execution time. With the Partition Attributes Across (PAX) layout, MiniTasking further reduces the cache misses by 65% and the execution time by 9%. For the TPC-H throughput test workload, MiniTasking improves the end performance up to 20%.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ailamaki A, DeWitt D J, Hill M D et al. DBMSs on a modern processor: Where does time go? In Proc. VLDB’99, Edinburgh, Scotland, UK, 1999, pp.266–277.

    Google Scholar 

  2. Lo J L, Barroso L A, Eggers S J et al. An analysis of database workload performance on simultaneous multithreaded processors. In Proc. ISCA’98, IEEE Computer Society, Barcelona, Spain, 1998, pp.39–50.

    Google Scholar 

  3. Trancoso P, Larriba-Pey J L, Zhang Z et al. The memory performance of DSS commercial workloads in shared-memory multiprocessors. In Proc. HPCA’97, San Antonio, Texas, USA, 1997, pp.250–260.

  4. Ailamaki A, DeWitt D J, Hill M D. Data page layouts for relational databases on deep memory hierarchies. The VLDB Journal, 2002, 11(3): 198–215.

    Article  MATH  Google Scholar 

  5. Hankins R A, Patel J M. Data morphing: An adaptive, cache-conscious storage technique. In Proc. VLDB’03, Berlin, Germany, 2003, pp.417–428.

  6. Chen S, Gibbons P B, Mowry T C. Improving index performance through prefetching. In Proc. SIGMOD’01, Santa Barbara, CA, USA, ACM Press, 2001, pp.235–246.

    Google Scholar 

  7. Wolf M E, Lam M S. A data locality optimizing algorithm. In Proc. PLDI’91, Toronto, Ontario, Canada, 1991, pp.30–44.

  8. Philbin J, Edler J, Anshus O J et al. Thread scheduling for cache locality. In Proc. ASPLOS’96, Cambridge, Massachusetts, USA, ACM Press, 1996, pp.60–71.

    Google Scholar 

  9. Zhou Y, Wang L, Clark D W et al. Thread scheduling for out-of-core applications with memory server on multicomputers. In Proc. IOPADS’99, Atlanta, GA, USA, ACM Press, 1999, pp.57–67.

    Google Scholar 

  10. IBM. Personal communication with IBM, Jan. 2005.

  11. Finkelstein S. Common expression analysis in database applications. In Proc. SIGMOD’82, Orlando, Florida, USA, ACM Press, 1982 pp.235–245.

    Google Scholar 

  12. Sellis T K. Multiple-query optimization. ACM Trans. Database Syst., 1998, 13(1): 23–52.

    Article  Google Scholar 

  13. Sellis T K, Ghosh S. On the multiple-query optimization problem. IEEE TKDE, 1990, 2(2): 262–266.

    Google Scholar 

  14. Gupta A, Sudarshan S, Viswanathan S. Query scheduling in multi query optimization. In Proc. IDEAS’01, Grenoble, France, IEEE Computer Society, 2001, pp.11–19.

    Google Scholar 

  15. Carey M J, e David, J DeWitt. Shoring up persistent applications. In Proc. SIGMOD’94, Minneapolis, USA, ACM Press, 1994, pp.383–394.

    Google Scholar 

  16. Park J, Segev A. Using common subexpressions to optimize multiple queries. In Proc. ICDE’88, Los Angeles, CA, USA, IEEE Computer Society, 1988, pp.311–319.

    Google Scholar 

  17. Dalvi N N, Sanghai S K, Roy P, Sudarshan S. Pipelining in multi-query optimization. In Proc. PODS’01, Santa Barbara, CA, USA, ACM Press, 2001, pp.59–70.

    Google Scholar 

  18. Roy P, Seshadri S, Sudarshan S, Bhobe S. Efficient and extensible algorithms for multi query optimization. In Proc. SIGMOD’00, Dallas, Texas, USA, ACM Press, 2000, pp.249–260.

    Google Scholar 

  19. Harizopoulos S, Shkapenyuk V, Ailamaki A. Qpipe: A simultaneously pipelined relational query engine. In Proc. SIGMOD’05, Baltimore, Maryland, USA, 2005, pp.383–394.

  20. O’Gorman K, Agrawal D, Abbadi A E. Multiple query optimization by cache-aware middleware using query teamwork. In Proc. ICDE02, San Jose, CA, USA, IEEE Computer Society, 2002, p.274.

    Google Scholar 

  21. Boncz P A, Manegold S, Kersten M L. Database architecture optimized for the new bottleneck: Memory access. In Proc. VLDB’99, Edinburgh, Scotland, UK, 1999, pp.54–65.

  22. Chen S, Gibbons P B, Mowry T C et al. Fractal prefetching B +-trees: Optimizing both cache and disk performance. In Proc. SIGMOD’02, Madison, USA, ACM Press, 2002, pp.157–168.

    Google Scholar 

  23. Kim K, Cha S K, Kwon K. Optimizing multidimensional index trees for main memory access. In Proc. SIGMOD’01, Santa Barbara, CA, USA, ACM Press, 2001, pp.139–150.

    Google Scholar 

  24. Ramamurthy R, DeWitt D J, Su Q. A case for fractured mirrors. In Proc. VLDB’02, Hong Kong, China, 2002, pp.430–441.

  25. Zhou J, Ross K A. Buffering accesses to memory-resident index structures. In Proc. VLDB’03, Berlin, Germany, 2003, pp.405–416.

  26. Rao J, Ross K A. Making B +-trees cache conscious in main memory. In Proc. SIGMOD’00, Dallas, Texas, USA, ACM Press, 2000, pp.475–486.

    Google Scholar 

  27. Shatdal A, Kant C, Naughton J F. Cache conscious algorithms for relational query processing. In Proc. VLDB’94, Santiago de Chile, Chile, 1994, pp.510–521.

  28. Transaction processing performance council. http://www.tpc.org.

  29. Zhang Y, Chen Z, Zhou Y. Efficient execution of multiple queries on deep memory hierarchy (full version). http://www.cis.pku.edu.cn/teacher/system/zhangyan/paper /jcst-full.pdf.

  30. Intel Corporation. Intel Vtune performance analyzer. http://www.intel.com/software/products/vtune/, 2004.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yan Zhang.

Additional information

Please contact us if you want a full version.

Dr. Chen contributed to this work during his Ph.D. study in University of Illinois.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhang, Y., Chen, ZF. & Zhou, YY. Efficient Execution of Multiple Queries on Deep Memory Hierarchy. J Comput Sci Technol 22, 273–279 (2007). https://doi.org/10.1007/s11390-007-9034-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-007-9034-6

Keywords

Navigation