arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1709.04711cs.DS
收藏

EMOMA:一次内存访问即可实现精确匹配

EMOMA: Exact Match in One Memory Access

Salvatore Pontarelli, Pedro Reviriego, Michael Mitzenmacher

摘要:

现代路由器和交换机中的一个重要功能是查找密钥。基于散列的方法,特别是布谷鸟哈希表,对于这样的查找操作是流行的,但是对于存储在片外存储器中的大型结构,这样的方法具有缺点,即它们可能需要多于一个的片外存储器访问来执行密钥查找。尽管可以使用诸如布隆过滤器之类的片上近似成员关系结构来减少片外存储器访问的数量,但是一些查找可能仍然需要多于一个的片外存储器访问。这对于一些硬件实现可能是有问题的,因为仅具有单个片外存储器访问使得能够对查找进行可预测的处理,并且避免了对未决请求进行排队的需要。我们提供了一个数据结构的基础上,布谷鸟散列,每次查找只使用一个片外存储器访问的哈希为基础的查找,通过利用片上的预过滤器,以确定多个位置持有一个关键字。我们特别利用了在cuckoo哈希表中移动元素的灵活性,以确保预过滤器始终给出正确的响应。虽然这需要一个稍微复杂的插入过程和一些额外的内存访问插入期间,它是适合大多数数据包处理应用程序,其中关键字查找比插入更频繁。我们的方法的一个重要特点是它的简单性。我们的方法是基于简单的逻辑,可以很容易地实现在硬件中,和硬件实现将受益最多的单片外存储器访问每次查找。

英文摘要:

An important function in modern routers and switches is to perform a lookup for a key. Hash-based methods, and in particular cuckoo hash tables, are popular for such lookup operations, but for large structures stored in off-chip memory, such methods have the downside that they may require more than one off-chip memory access to perform the key lookup. Although the number of off-chip memory accesses can be reduced using on-chip approximate membership structures such as Bloom filters, some lookups may still require more than one off-chip memory access. This can be problematic for some hardware implementations, as having only a single off-chip memory access enables a predictable processing of lookups and avoids the need to queue pending requests. We provide a data structure for hash-based lookups based on cuckoo hashing that uses only one off-chip memory access per lookup, by utilizing an on-chip pre-filter to determine which of multiple locations holds a key. We make particular use of the flexibility to move elements within a cuckoo hash table to ensure the pre-filter always gives the correct response. While this requires a slightly more complex insertion procedure and some additional memory accesses during insertions, it is suitable for most packet processing applications where key lookups are much more frequent than insertions. An important feature of our approach is its simplicity. Our approach is based on simple logic that can be easily implemented in hardware, and hardware implementations would benefit most from the single off-chip memory access per lookup.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑