{"title":"低于剥离阈值的随机游走布谷鸟哈希插入时间","authors":"Stefan Walzer","doi":"10.4230/LIPIcs.ESA.2022.87","DOIUrl":null,"url":null,"abstract":"Most hash tables have an insertion time of $O(1)$, possibly qualified as expected and/or amortised. While insertions into cuckoo hash tables indeed seem to take $O(1)$ expected time in practice, only polylogarithmic guarantees are proven in all but the simplest of practically relevant cases. Given the widespread use of cuckoo hashing to implement compact dictionaries and Bloom filter alternatives, closing this gap is an important open problem for theoreticians. In this paper, we show that random walk insertions into cuckoo hash tables take $O(1)$ expected amortised time when any number $k \\geq 3$ of hash functions is used and the load factor is below the corresponding peeling threshold (e.g. $\\approx 0.81$ for $k = 3$). To our knowledge, this is the first meaningful guarantee for constant time insertion for cuckoo hashing that works for $k \\in \\{3,\\dots,9\\}$. In addition to being useful in its own right, we hope that our key-centred analysis method can be a stepping stone on the path to the true end goal: $O(1)$ time insertions for all load factors below the load threshold (e.g. $\\approx 0.91$ for $k = 3$).","PeriodicalId":201778,"journal":{"name":"Embedded Systems and Applications","volume":"52 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Insertion Time of Random Walk Cuckoo Hashing below the Peeling Threshold\",\"authors\":\"Stefan Walzer\",\"doi\":\"10.4230/LIPIcs.ESA.2022.87\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Most hash tables have an insertion time of $O(1)$, possibly qualified as expected and/or amortised. While insertions into cuckoo hash tables indeed seem to take $O(1)$ expected time in practice, only polylogarithmic guarantees are proven in all but the simplest of practically relevant cases. Given the widespread use of cuckoo hashing to implement compact dictionaries and Bloom filter alternatives, closing this gap is an important open problem for theoreticians. In this paper, we show that random walk insertions into cuckoo hash tables take $O(1)$ expected amortised time when any number $k \\\\geq 3$ of hash functions is used and the load factor is below the corresponding peeling threshold (e.g. $\\\\approx 0.81$ for $k = 3$). To our knowledge, this is the first meaningful guarantee for constant time insertion for cuckoo hashing that works for $k \\\\in \\\\{3,\\\\dots,9\\\\}$. In addition to being useful in its own right, we hope that our key-centred analysis method can be a stepping stone on the path to the true end goal: $O(1)$ time insertions for all load factors below the load threshold (e.g. $\\\\approx 0.91$ for $k = 3$).\",\"PeriodicalId\":201778,\"journal\":{\"name\":\"Embedded Systems and Applications\",\"volume\":\"52 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-02-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Embedded Systems and Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.4230/LIPIcs.ESA.2022.87\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Embedded Systems and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/LIPIcs.ESA.2022.87","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Insertion Time of Random Walk Cuckoo Hashing below the Peeling Threshold
Most hash tables have an insertion time of $O(1)$, possibly qualified as expected and/or amortised. While insertions into cuckoo hash tables indeed seem to take $O(1)$ expected time in practice, only polylogarithmic guarantees are proven in all but the simplest of practically relevant cases. Given the widespread use of cuckoo hashing to implement compact dictionaries and Bloom filter alternatives, closing this gap is an important open problem for theoreticians. In this paper, we show that random walk insertions into cuckoo hash tables take $O(1)$ expected amortised time when any number $k \geq 3$ of hash functions is used and the load factor is below the corresponding peeling threshold (e.g. $\approx 0.81$ for $k = 3$). To our knowledge, this is the first meaningful guarantee for constant time insertion for cuckoo hashing that works for $k \in \{3,\dots,9\}$. In addition to being useful in its own right, we hope that our key-centred analysis method can be a stepping stone on the path to the true end goal: $O(1)$ time insertions for all load factors below the load threshold (e.g. $\approx 0.91$ for $k = 3$).