Query optimization in a memory-resident domain relational calculus database system
ACM Transactions on Database Systems (TODS)
Generating functionology
Efficient main memory data management using the DBgraph storage model
Proceedings of the sixteenth international conference on Very large databases
Predicate migration: optimizing queries with expensive predicates
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
A general approach for run-time specialization and its application to C
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making B+- trees cache conscious in main memory
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
ACM Computing Surveys (CSUR)
Filtering algorithms and implementation for very fast publish/subscribe systems
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
Main Memory Database Systems: An Overview
IEEE Transactions on Knowledge and Data Engineering
An Evaluation of Starburst's Memory Resident Storage Component
IEEE Transactions on Knowledge and Data Engineering
Cache Conscious Indexing for Decision-Support in Main Memory
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Database Architecture Optimized for the New Bottleneck: Memory Access
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
DBMSs on a Modern Processor: Where Does Time Go?
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Publish/Subscribe on the Web at Extreme Speed
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
What Happens During a Join? Dissecting CPU and Memory Optimization Effects
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
Weaving Relations for Cache Performance
Proceedings of the 27th International Conference on Very Large Data Bases
Cache Conscious Algorithms for Relational Query Processing
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Rules of Thumb in Data Engineering
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Automatic, Template-Based Run-Time Specialization: Implementation and Experimental Study
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Design of the UltraSPARC Instruction Fetch Unit
Design of the UltraSPARC Instruction Fetch Unit
Implementing database operations using SIMD instructions
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Fast computation of database operations using graphics processors
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Adaptive ordering of pipelined stream filters
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Branch elimination by condition merging
Software—Practice & Experience
A portal for access to complex distributed information about energy
dg.o '02 Proceedings of the 2002 annual national conference on Digital government research
Architecture-conscious hashing
DaMoN '06 Proceedings of the 2nd international workshop on Data management on new hardware
GPUTeraSort: high performance graphics co-processor sorting for large database management
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Fast computation of database operations using graphics processors
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
Staircase join: teach a relational DBMS to watch its (axis) steps
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Vectorized data processing on the cell broadband engine
DaMoN '07 Proceedings of the 3rd international workshop on Data management on new hardware
Breaking the memory wall in MonetDB
Communications of the ACM - Surviving the data deluge
A Query Index for Stream Data Using Interval Skip Lists Exploiting Locality
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part I: ICCS 2007
k-ary search on modern processors
Proceedings of the Fifth International Workshop on Data Management on New Hardware
Predictable performance for unpredictable workloads
Proceedings of the VLDB Endowment
WT-heuristics: a heuristic method for efficient operator ordering
DASFAA'07 Proceedings of the 12th international conference on Database systems for advanced applications
Vectorization vs. compilation in query execution
Proceedings of the Seventh International Workshop on Data Management on New Hardware
Efficiently compiling efficient query plans for modern hardware
Proceedings of the VLDB Endowment
The pipelined set cover problem
ICDT'05 Proceedings of the 10th international conference on Database Theory
Hi-index | 0.00 |
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.