ABSTRACT
We consider the fundamental operation of applying a conjunction of selection conditions to a set of records. With large main memories available cheaply, systems may choose to keep the data entirely in main memory, in order to improve query and/or update performance.The design of a data-intensive algorithm in main memory needs to take into account the architectural characteristics of modern processors, just as a disk-based method needs to consider the physical characteristics of disk devices. An important architectural feature that influences the performance of main memory algorithms is the branch misprediction penalty. We demonstrate that branch misprediction has a substantial impact on the performance of an algorithm for applying selection conditions.We describe a space of "query plans" that are logically equivalent, but differ in terms of performance due to variations in their branch prediction behavior. We propose a cost model that takes branch prediction into account, and develop a query optimization algorithm that chooses a plan with optimal estimated cost. We also develop an efficient heuristic optimization algorithm.We provide experimental results for a case study based on an event notification system. Our results show the effectiveness of the proposed optimization techniques. Our results also demonstrate that significant improvements in performance can be obtained by applying a methodology that takes branch misprediction latency into account.
- A. Ailamaki, D. DeWitt, M. Hill, and D. Wood. DBMSs on a modern processor: Where does time go. In VLDB 1999, pages 266-277, 1999. Google ScholarDigital Library
- A. Ailamaki, D. J. DeWitt, M. D. Hill, and M. Skounakis. Weaving relations for cache performance. In Proceedings of VLDB Conference, 2001. Google ScholarDigital Library
- P. A. Boncz, S. Manegold, and M. L. Kersten. Database architecture optimized for the new bottleneck: Memory access. In Proceedings of the 25th VLDB Conference, pages 54-65, 1999. Google ScholarDigital Library
- A. Cayley. On the theory of the analytical forms called trees ii. Phil. Mag., 18:374-378, 1859.Google ScholarCross Ref
- C. Consel and F. Noel. A general approach for run-time specialization and its application to C. In Symposium on Principles of Programming Languages, pages 145-156, 1996. Google ScholarDigital Library
- I. Corp. Intel Architecture Optimization: Reference Manual, February 1999.Google Scholar
- I. Corp. Intel IA-64 Architecture Software Developer's Manual, Volume 1 Rev. 1.0, 2000. Available at http://developer.intel.com/design/ia-64/manuals/.Google Scholar
- F. Fabret, H.-A. Jacobsen, F. LLirbat, J. Pereira, K. A. Ross, and D. Shasha. Filtering algorithms and implementation for very fast publish/subscribe. In Proceedings of the ACM SIGMOD Conference, May 2001. Google ScholarDigital Library
- H. Garcia-Molina and K. Salem. Main memory database systems: An overview. IEEE Transactions on Knowledge and Data Engineering, 4(6):509-516, 1992. Google ScholarDigital Library
- J. Gray and P. J. Shenoy. Rules of thumb in data engineering. In International Conference on Data Engineering, pages 3-12, 2000. Google ScholarDigital Library
- D. Heller. Rabbit: A performance counters library for intel/amd processors and linux., 2000. http://www.scl.ameslab.gov/Projects/Rabbit/.Google Scholar
- J. M. Hellerstein and M. Stonebraker. Predicate migration: Optimizing queries with expensive predicates. In Proceedings of the ACM SIGMOD Conference, 1993. Google ScholarDigital Library
- T. J. Lehman, E. J. Shekita, and L.-F. Cabrera. An evaluation of starburst's memory resident storage component. IEEE Transactions on knowledge and data enginnering, 4(6):555-566, 1992. Google ScholarDigital Library
- S. Manegold, P. A. Boncz, and M. L. Kersten. What happens during a join? Dissecting CPU and memory optimization effects. In Proceedings of the VLDB Conference, pages 339-350, 2000. Google ScholarDigital Library
- F. Noel, L. Hornof, C. Consel, and J. L. Lawall. Automatic, template-based run-time specialization: Implementation and experimental study. In International Conference on Computer Languages, pages 132-142, 1998. Google ScholarDigital Library
- J. Pereira, F. Fabret, F. Llirbat, R. Preotiuc-Pietro, K. A. Ross, and D. Shasha. Publish/subscribe on the web at extreme speed. In Proceedings of the VLDB Conference, pages 627-630, 2000. Google ScholarDigital Library
- P. Pucheral, J.-M. Thevenin, and P. Valduriez. Efficient main memory data management using the DBGraph storage model. In International Conference on Very Large Databases, pages 683-695, 1990. Google ScholarDigital Library
- J. Rao and K. A. Ross. Cache conscious indexing for decision-support in main memory. In Proceedings of the 25th VLDB Conference, pages 78-89, 1999. Google ScholarDigital Library
- J. Rao and K. A. Ross. Making B+-trees cache conscious in main memory. In Proceedings ACM SIGMOD Conference, pages 475-486, 2000. Google ScholarDigital Library
- A. Shatdal, C. Kant, and J. F. Naughton. Cache conscious algorithms for relational query processing. In Proceedings of the 20th VLDB Conference, pages 510-521, 1994. Google ScholarDigital Library
- N. J. A. Sloane. The on-line encyclopedia of integer sequences, 2000. published electronically at http://www.research.att.com/~njas/sequences.Google Scholar
- S. P. Vanderwiel and D. J. Lilja. Data prefetch mechanisms. ACM Computing Surveys, 32(2):174-199, 2000. Google ScholarDigital Library
- K.-Y. Whang and R. Krishnamurthy. Query optimization in a memory-resident domain relational calculus database system. ACM Transactions on Database Systems, 15(1):67-95, 1990. Google ScholarDigital Library
- H. S. Wilf. Generatingfunctionology. Academic Press, NY, 1990. Google ScholarDigital Library
- R. Yung. Design of the UltraSPARC instruction fetch unit. Technical Report SMLI TR-96-59, Sun Microsystems Laboratories, 1996. Google Scholar
Index Terms
- Conjunctive selection conditions in main memory
Recommendations
Selection conditions in main memory
We consider the fundamental operation of applying a compound filtering condition to a set of records. With large main memories available cheaply, systems may choose to keep the data entirely in main memory, in order to improve query and/or update ...
Register allocation for write activity minimization on non-volatile main memory
ASPDAC '11: Proceedings of the 16th Asia and South Pacific Design Automation ConferenceNon-volatile memories are good candidates for DRAM replacement as main memory in embedded systems and they have many desirable characteristics. Nevertheless, the disadvantages of non-volatile memory co-exist with its advantages. First, the lifetime of ...
Redesign the Memory Allocator for Non-Volatile Main Memory
Special Issue on Hardware and Algorithms for Learning On-a-chip and Special Issue on Alternative Computing SystemsThe non-volatile memory (NVM) has the merits of byte-addressability, fast speed, persistency and low power consumption, which make it attractive to be used as main memory. Commonly, user process dynamically acquires memory through memory allocators. ...
Comments