CIKM '93 Proceedings of the second international conference on Information and knowledge management
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)
Optimizing multidimensional index trees for main memory access
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
Improving index performance through prefetching
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
Fractal prefetching B+-Trees: optimizing both cache and disk performance
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
R-trees: a dynamic index structure for spatial searching
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Concurrency Control in B-Trees with Batch Updates
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
A Novel Index Supporting High Volume Data Warehouse Insertion
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
GBI: A Generalized R-Tree Bulk-Insertion Strategy
SSD '99 Proceedings of the 6th International Symposium on Advances in Spatial Databases
The Bulk Index Join: A Generic Approach to Processing Non-Equijoins
ICDE '99 Proceedings of the 15th International Conference on Data Engineering
Buffering databse operations for enhanced instruction cache performance
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Cache-Conscious Automata for XML Filtering
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Batched Processing for Information Filters
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Improving database performance on simultaneous multithreading processors
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Handling frequent updates of moving objects
Proceedings of the 14th ACM international conference on Information and knowledge management
Cache-Conscious Automata for XML Filtering
IEEE Transactions on Knowledge and Data Engineering
Cache-oblivious nested-loop joins
CIKM '06 Proceedings of the 15th ACM international conference on Information and knowledge management
Efficient execution of multiple queries on deep memory hierarchy
Journal of Computer Science and Technology
A general framework for improving query processing performance on multi-level memory hierarchies
DaMoN '07 Proceedings of the 3rd international workshop on Data management on new hardware
Vectorized data processing on the cell broadband engine
DaMoN '07 Proceedings of the 3rd international workshop on Data management on new hardware
Cache-oblivious databases: Limitations and opportunities
ACM Transactions on Database Systems (TODS)
An Extended R-Tree Indexing Method Using Selective Prefetching in Main Memory
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part I: ICCS 2007
DSM vs. NSM: CPU performance tradeoffs in block-oriented query processing
Proceedings of the 4th international workshop on Data management on new hardware
Dictionary-based order-preserving string compression for main memory column stores
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Cache-conscious buffering for database operators with state
Proceedings of the Fifth International Workshop on Data Management on New Hardware
Indexing Moving Objects Using Short-Lived Throwaway Indexes
SSTD '09 Proceedings of the 11th International Symposium on Advances in Spatial and Temporal Databases
Trees or grids?: indexing moving objects in main memory
Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems
Database architecture evolution: mammals flourished long before dinosaurs became extinct
Proceedings of the VLDB Endowment
Lazy-Adaptive Tree: an optimized index structure for flash devices
Proceedings of the VLDB Endowment
MCC-DB: minimizing cache conflicts in multi-core processors for databases
Proceedings of the VLDB Endowment
An efficient compression technique for a multi-dimensional index in main memory
VISUAL'07 Proceedings of the 9th international conference on Advances in visual information systems
FAST: fast architecture sensitive tree search on modern CPUs and GPUs
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
MOVIES: indexing moving objects by shooting index images
Geoinformatica
Designing fast architecture-sensitive tree search on modern multicore/many-core processors
ACM Transactions on Database Systems (TODS)
MiniTasking: improving cache performance for multiple query workloads
WAIM '06 Proceedings of the 7th international conference on Advances in Web-Age Information Management
Efficient main-memory algorithms for set containment join using inverted lists
ADBIS'05 Proceedings of the 9th East European conference on Advances in Databases and Information Systems
Foundations and Trends in Databases
VAST-Tree: a vector-advanced and compressed structure for massive data tree traversal
Proceedings of the 15th International Conference on Extending Database Technology
Hi-index | 0.00 |
Recent studies have shown that cache-conscious indexes outperform conventional main memory indexes. Cache-conscious indexes focus on better utilization of each cache line for improving search performance of a single lookup. None has exploited cache spatial and temporal locality between consecutive lookups. We show that conventional indexes, even "cache-conscious" ones, suffer from significant cache thrashing between accesses. Such thrashing can impact the performance of applications such as stream processing and query operations such as index-nested-loops join. We propose techniques to buffer accesses to memory-resident tree-structured indexes to avoid cache thrashing. We study several alternative designs of the buffering technique, including whether to use fixed-size or variable-sized buffers, whether to buffer at each tree level or only at some of the levels, how to support bulk access while there are concurrent updates happening to the index, and how to preserve the order of the incoming lookups in the output results. Our methods improve cache performance for both cache-conscious and conventional index structures. Our experiments show that buffering techniques enable a probe throughput that is two to three times higher than traditional methods.