• DocumentCode
    2731975
  • Title

    Efficient Hash Probes on Modern Processors

  • Author

    Ross, Kenneth A.

  • Author_Institution
    Columbia Univ., New York, NY
  • fYear
    2007
  • fDate
    15-20 April 2007
  • Firstpage
    1297
  • Lastpage
    1301
  • Abstract
    Bucketized versions of Cuckoo hashing can achieve 95-99% occupancy, without any space overhead for pointers or other structures. However, such methods typically need to consult multiple hash buckets per probe, and have therefore been seen as having worse probe performance than conventional techniques for large tables. We consider workloads typical of database and stream processing, in which keys and payloads are small, and in which a large number of probes are processed in bulk. We show how to improve probe performance by (a) eliminating branch instructions from the probe code, enabling better scheduling and latency-hiding by modern processors, and (b) using SIMD instructions to process multiple keys/payloads in parallel. We show that on modern architectures, probes to a bucketized Cuckoo hash table can be processed much faster than conventional hash table probes, for both small and large memory-resident tables. On a Pentium 4, a probe is two to four times faster, while on the Cell SPE processor a probe is ten times faster.
  • Keywords
    file organisation; parallel processing; processor scheduling; Cell SPE processor; Pentium 4; SIMD instructions; branch instructions; bucketized Cuckoo hash table; database; latency-hiding; modern processor scheduling; stream processing; Aggregates; Bandwidth; Data structures; Database systems; Delay; Indexing; Out of order; Payloads; Probes; Processor scheduling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Data Engineering, 2007. ICDE 2007. IEEE 23rd International Conference on
  • Conference_Location
    Istanbul
  • Print_ISBN
    1-4244-0802-4
  • Electronic_ISBN
    1-4244-0803-2
  • Type

    conf

  • DOI
    10.1109/ICDE.2007.368997
  • Filename
    4221787