Hash tables form a core component
of many algorithms as well as network devices. Because of their large size,
they often require a combined memory model, in which some of the elements are
stored in a fast memory (for example, cache or on-chip SRAM) while others are
stored in much slower memory (namely, the main memory or off-chip DRAM). This
makes the implementation of real-life hash tables particularly delicate, as a
suboptimal choice of the hashing scheme parameters may result in a higher
average query time and therefore in a lower throughput. In this paper, we focus
on multiple-choice hash tables. Given the number of choices, we study the
tradeoff between the load of a hash table and its average lookup time. The
problem is solved by analyzing an equivalent problem the expected maximum
matching size of a random bipartite graph with a fixed left-side vertex degree.
Given two choices, we provide exact results for any finite system, and also
deduce asymptotic results as the fast memory size increases. In addition, we
further consider other variants of this problem and model the impact of several
parameters. Finally, we evaluate the performance of our models on Internet
backbone traces, and illustrate the impact of the memories speed difference on
the choice of parameters. In particular, we show that the common intuition of
entirely avoiding slow memory accesses by using highly efficient schemes
(namely, with many fast-memory choices) is not always optimal.
No comments:
Post a Comment