JP6234048B2 - ハッシュ衝突低減システム、方法及びプログラム - Google Patents
ハッシュ衝突低減システム、方法及びプログラム Download PDFInfo
- Publication number
- JP6234048B2 JP6234048B2 JP2013081290A JP2013081290A JP6234048B2 JP 6234048 B2 JP6234048 B2 JP 6234048B2 JP 2013081290 A JP2013081290 A JP 2013081290A JP 2013081290 A JP2013081290 A JP 2013081290A JP 6234048 B2 JP6234048 B2 JP 6234048B2
- Authority
- JP
- Japan
- Prior art keywords
- hash
- tables
- logic
- controller
- keys
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 68
- 230000009467 reduction Effects 0.000 title description 2
- 238000003780 insertion Methods 0.000 claims description 13
- 230000037431 insertion Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 7
- 241000544061 Cuculus canorus Species 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 5
- 230000000694 effects Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 25
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
64*19*5=6080の設定ラッチと、
設定を選択するための(64*19)の5対1のマルチプレクサと、
(64*19)の2対1のANDゲートと、
19*(32+16+8+4+2+1)=1197の2対1のXORゲートと、
が設けられる。
ラッチ:6080*10μm2=60800μm2
XOR2:1197*4μm2=4788μm2
AND2:64*19*3μm2=3648μm2
AO22:3*64*19*4μm2=14592μm2
合計=(60800+4788+3648+14592)*1.4(60%の配線余裕度を想定)=117359μm2、約0.12mm2となる。
12 コントローラ
14 コンピュータ・プロセッサ
16 新規コンポーネント
18 衝突回避装置
20 ハッシュ装置
21 通信ネットワーク
22 単一のハッシュ・ロジック
Claims (15)
- コンピュータ・プロセッサを含むコントローラと、
複数のテーブルであって、バケットあたり複数のキーが使用される前記複数のテーブルと、
前記複数のキーを前記複数のテーブルにマップするための、前記コントローラと交信するハッシュ装置であって、前記ハッシュ装置は、単一のハッシュ・ロジックを用い、前記単一のハッシュ・ロジックが前記複数のテーブルの各々に対する直交ハッシュ関数を実行することで前記複数のテーブルの並列テーブル・ルックアップを設ける、前記ハッシュ装置と、を含むシステムであって、
前記コントローラは、前記コントローラに新規コンポーネントが導入されるときの(1)ハッシューテーブルへのエントリ挿入時間と(2)ハッシュ衝突との少なくとも一つを、前記複数のテーブルの前記並列テーブル・ルックアップを用いて低減する、
前記システム。 - 前記単一のハッシュ・ロジックはCuckooアルゴリズムに基づく、請求項1に記載のシステム。
- 前記単一のハッシュ・ロジックは更新設定可能な巡回冗長検査多項式を含む、請求項1に記載のシステム。
- 前記単一のハッシュ・ロジックの各ビット出力は、前記キーのビットの絞り込み結果を含む、請求項1に記載のシステム。
- 前記絞り込み結果はXOR関数によって生成される、請求項4に記載のシステム。
- 前記複数のテーブルは更新設定可能である、請求項1に記載のシステム。
- 前記複数のテーブルの全体負荷は、前記単一のハッシュ・ロジックの出力に対するビットの数を制御することによって更新設定可能である、請求項6に記載のシステム。
- コンピュータ・プロセッサを含むコントローラがハッシュ装置と交信するステップであって、前記ハッシュ装置は、バケットあたり複数のキーが使用される複数のテーブルに複数のキーをマップするためのものである、前記交信するステップと、
前記ハッシュ装置が、単一のハッシュ・ロジックを用いて前記複数のテーブルの各々に対する直交ハッシュ関数を実行することで前記複数のテーブルの並列テーブル・ルックアップを設けるステップと、及び
前記コントローラが、前記コントローラに新規コンポーネントが導入されるときの(1)ハッシューテーブルへのエントリ挿入時間と(2)ハッシュ衝突との少なくとも一つを、前記複数のテーブルの前記並列テーブル・ルックアップを用いることで低減するステップと、
を含む方法。 - 前記単一のハッシュ・ロジックの各ビット出力は、前記キーのビットの絞り込み結果を含む、請求項8に記載の方法。
- 前記複数のテーブルは更新設定可能である、請求項8に記載の方法。
- 前記複数のテーブルの全体負荷は、前記単一のハッシュ・ロジックの出力に対するビットの数を制御することによって更新設定可能である、請求項10に記載の方法。
- コンピュータ・プログラムであって、
コンピュータ・プロセッサを含むコントローラに、ハッシュ装置と交信するステップであって、前記ハッシュ装置は、バケットあたり複数のキーが使用される複数のテーブルに複数のキーをマップするためのものである、前記交信するステップを実行させ、
前記ハッシュ装置に、単一のハッシュ・ロジックを用いて前記複数のテーブルの各々に対する直交ハッシュ関数を実行することで前記複数のテーブルの並列テーブル・ルックアップを設けるステップを実行させ、及び
前記コントローラに、前記コントローラに新規コンポーネントが導入されるときの(1)ハッシューテーブルへのエントリ挿入時間と(2)ハッシュ衝突との少なくとも一つを、前記複数のテーブルの前記並列テーブル・ルックアップを用いることで低減するステップを実行させる、
前記コンピュータ・プログラム。 - 前記単一のハッシュ・ロジックの各ビット出力は、前記キーのビットの絞り込み結果を含む、請求項12に記載のコンピュータ・プログラム。
- 前記複数のテーブルを更新設定可能である、請求項12に記載のコンピュータ・プログラム。
- 前記複数のテーブルの全体負荷は、前記単一のハッシュ・ロジックの出力に対するビットの数を制御することによって更新設定可能である、請求項14に記載のコンピュータ・プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/475,990 US8762399B2 (en) | 2012-05-20 | 2012-05-20 | Hash collision reduction system |
US13/475990 | 2012-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013242539A JP2013242539A (ja) | 2013-12-05 |
JP6234048B2 true JP6234048B2 (ja) | 2017-11-22 |
Family
ID=49511114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013081290A Active JP6234048B2 (ja) | 2012-05-20 | 2013-04-09 | ハッシュ衝突低減システム、方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8762399B2 (ja) |
JP (1) | JP6234048B2 (ja) |
CN (1) | CN103425725B (ja) |
DE (1) | DE102013208213B4 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117502B2 (en) * | 2013-02-06 | 2015-08-25 | Fixnetix Ltd. | System and method for memory management of unique alpha-numeric order identifiers subjected to hashing and truncation for mapping to limited memory space |
WO2016093809A1 (en) * | 2014-12-09 | 2016-06-16 | Hewlett Packard Enterprise Development Lp | Storage media sections with alternative cells |
US10496680B2 (en) | 2015-08-17 | 2019-12-03 | Mellanox Technologies Tlv Ltd. | High-performance bloom filter array |
US9984144B2 (en) | 2015-08-17 | 2018-05-29 | Mellanox Technologies Tlv Ltd. | Efficient lookup of TCAM-like rules in RAM |
US10049126B2 (en) * | 2015-09-06 | 2018-08-14 | Mellanox Technologies Tlv Ltd. | Cuckoo hashing with selectable hash |
US11194778B2 (en) * | 2015-12-18 | 2021-12-07 | International Business Machines Corporation | Method and system for hybrid sort and hash-based query execution |
US9892057B2 (en) | 2016-03-31 | 2018-02-13 | Mellanox Technologies Tlv Ltd. | Single double cuckoo hash |
US10068034B2 (en) | 2016-09-07 | 2018-09-04 | Mellanox Technologies Tlv Ltd. | Efficient matching of TCAM rules using hash tables in RAM |
US10491521B2 (en) | 2017-03-26 | 2019-11-26 | Mellanox Technologies Tlv Ltd. | Field checking based caching of ACL lookups to ease ACL lookup search |
US10476794B2 (en) | 2017-07-30 | 2019-11-12 | Mellanox Technologies Tlv Ltd. | Efficient caching of TCAM rules in RAM |
CN108111421B (zh) * | 2017-11-28 | 2021-02-09 | 苏州浪潮智能科技有限公司 | 一种基于多重哈希的报文分流方法及装置 |
US11327974B2 (en) | 2018-08-02 | 2022-05-10 | Mellanox Technologies, Ltd. | Field variability based TCAM splitting |
US11003715B2 (en) | 2018-09-17 | 2021-05-11 | Mellanox Technologies, Ltd. | Equipment and method for hash table resizing |
US20200136971A1 (en) * | 2019-06-07 | 2020-04-30 | Intel Corporation | Hash-table lookup with controlled latency |
US10944675B1 (en) | 2019-09-04 | 2021-03-09 | Mellanox Technologies Tlv Ltd. | TCAM with multi region lookups and a single logical lookup |
CN113518033B (zh) * | 2020-04-09 | 2023-01-03 | 阿里巴巴集团控股有限公司 | 路由方法、路由器和设备 |
US11539622B2 (en) | 2020-05-04 | 2022-12-27 | Mellanox Technologies, Ltd. | Dynamically-optimized hash-based packet classifier |
US11782895B2 (en) | 2020-09-07 | 2023-10-10 | Mellanox Technologies, Ltd. | Cuckoo hashing including accessing hash tables using affinity table |
CN112988763B (zh) * | 2021-05-14 | 2021-07-27 | 北京顺实科技有限公司 | 一种以部分散列Key为索引的Kv数据库存储与查询方法 |
US11917042B2 (en) | 2021-08-15 | 2024-02-27 | Mellanox Technologies, Ltd. | Optimizing header-based action selection |
US11929837B2 (en) | 2022-02-23 | 2024-03-12 | Mellanox Technologies, Ltd. | Rule compilation schemes for fast packet classification |
US11968285B2 (en) | 2022-02-24 | 2024-04-23 | Mellanox Technologies, Ltd. | Efficient memory utilization for cartesian products of rules |
CN114666011B (zh) * | 2022-03-23 | 2024-04-16 | 锐捷网络股份有限公司 | 一种数据处理方法、装置及电子设备 |
US12038883B2 (en) | 2022-06-16 | 2024-07-16 | Red Hat, Inc. | Distributed Storage System with machine learning model for selecting a hash function to map a data item to a storage device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334114A (ja) * | 2001-05-10 | 2002-11-22 | Allied Tereshisu Kk | テーブル管理方法及び装置 |
US7069268B1 (en) * | 2003-01-13 | 2006-06-27 | Cisco Technology, Inc. | System and method for identifying data using parallel hashing |
US7613775B2 (en) * | 2003-11-25 | 2009-11-03 | Freescale Semiconductor, Inc. | Network message filtering using hashing and pattern matching |
US7424591B2 (en) * | 2006-06-19 | 2008-09-09 | International Business Machines Corporation | Splash tables: an efficient hash scheme for processors |
US8266116B2 (en) | 2007-03-12 | 2012-09-11 | Broadcom Corporation | Method and apparatus for dual-hashing tables |
CN101267381B (zh) * | 2007-03-13 | 2010-12-29 | 大唐移动通信设备有限公司 | 哈希表操作方法及装置 |
US8275125B2 (en) | 2008-04-21 | 2012-09-25 | Tata Consultancy Services Ltd | Method for designing a secure hash function and a system thereof |
US8688902B2 (en) | 2008-08-06 | 2014-04-01 | Fujitsu Limited | Method and system for processing access control lists using an exclusive-or sum-of-products evaluator |
US8305271B2 (en) * | 2010-03-17 | 2012-11-06 | Microsoft Corporation | Cuckoo hashing to store beacon reference data |
US8935487B2 (en) * | 2010-05-05 | 2015-01-13 | Microsoft Corporation | Fast and low-RAM-footprint indexing for data deduplication |
US8745013B2 (en) * | 2012-05-19 | 2014-06-03 | International Business Machines Corporation | Computer interface system |
-
2012
- 2012-05-20 US US13/475,990 patent/US8762399B2/en not_active Expired - Fee Related
-
2013
- 2013-04-09 JP JP2013081290A patent/JP6234048B2/ja active Active
- 2013-05-06 DE DE102013208213.4A patent/DE102013208213B4/de active Active
- 2013-05-06 CN CN201310168101.5A patent/CN103425725B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103425725B (zh) | 2017-04-12 |
US20130311492A1 (en) | 2013-11-21 |
DE102013208213A1 (de) | 2013-11-21 |
DE102013208213B4 (de) | 2016-07-21 |
JP2013242539A (ja) | 2013-12-05 |
CN103425725A (zh) | 2013-12-04 |
US8762399B2 (en) | 2014-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6234048B2 (ja) | ハッシュ衝突低減システム、方法及びプログラム | |
US10268452B2 (en) | Automatic control system and method for a true random number generator | |
US9495114B2 (en) | System and method for reading and writing data with a shared memory hash table | |
KR102465738B1 (ko) | 하드웨어-가속화된 암호 기법을 위한 키들의 스레드 소유권 | |
US10229068B2 (en) | Tunable oblivious RAM | |
JP2017519433A (ja) | パケット処理のためのマルチテーブルハッシュベースのルックアップ | |
US10997140B2 (en) | Method and apparatus for acceleration of hash-based lookup | |
EP3012747A1 (en) | Tcam-based table query processing method and apparatus | |
US10601711B1 (en) | Lens table | |
US9817594B2 (en) | System and method for broadcasting data to multiple hardware forwarding engines | |
US12019606B1 (en) | Hash operation manipulations | |
US20140040672A1 (en) | Methods and structure for trapping requests directed to hardware registers of an electronic circuit | |
US20230385493A1 (en) | Redacting network-on-chip functionality in a system-on-chip architecture | |
CN105744010A (zh) | 一种网络地址转换与访问控制列表规则聚合方法和装置 | |
JP6189266B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
US8595239B1 (en) | Minimally disruptive hash table | |
US12015693B2 (en) | Information security protection system and information security protection method | |
CN113726660B (zh) | 一种基于完美哈希算法的路由查找器和方法 | |
US10355994B1 (en) | Lens distribution | |
US11048758B1 (en) | Multi-level low-latency hashing scheme | |
US8160092B1 (en) | Transforming a declarative description of a packet processor | |
CN111526108B (zh) | 防止网络攻击的方法与装置 | |
RU2781916C1 (ru) | Способ модификации данных при сетевой пакетной коммутации | |
CN108667951A (zh) | 虚拟mac地址的映射方法、装置及存储介质、中继设备 | |
CN117688594B (zh) | 数据库加密混淆的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160315 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170703 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171024 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6234048 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |