中文

基于SSD的缓冲Count-Min Sketch:理论与实验

数据结构与算法 2018-05-01 v1

摘要

频率估计数据结构如count-min sketch (CMS)已在数据库、网络、计算生物学及其他领域获得大量应用。许多使用count-min sketch的应用处理海量且快速演化的数据集。对于旨在保持高估误差较低的数据密集型应用,count-min sketch可能变得过大而无法存入可用RAM,而不得不迁移到外部存储(如SSD)。由于count-min sketch的哈希操作具有随机读/写特性,将其简单置于SSD会扼杀时间关键型应用的性能,每次估计(查找)与更新(插入)操作约需4–6次对SSD的随机读/写。本文中,我们扩展缓冲Count-Min Sketch (BCMS)[15]的初步构想——一种count-min sketch的SSD变体,其利用哈希局部化在高效扩展到RAM之外的同时保持总误差有界。我们描述了缓冲count-min sketch的设计与实现,并实证表明我们的实现在更新(插入)上获得3.7x–4.7x加速、在估计(查找)操作上获得4.3x加速。我们的设计在外存模型[1]下相对原数据结构也有渐近改进:估计操作的r次随机I/O降为1次I/O。对于在SSD上使用k个块、字/计数器大小为w、行数为r、主存中位数为M的数据结构,我们的数据结构对更新使用kwr/M均摊I/O,或者若kwr/M>1,则最坏情况为1次I/O。在典型场景中,kwr/M远小于1。这与原数据结构每次更新产生O(r)次I/O形成对比。

关键词

引用

@article{arxiv.1804.10673,
  title  = {Buffered Count-Min Sketch on SSD: Theory and Experiments},
  author = {Mayank Goswami and Dzejla Medjedovic and Emina Mekic and Prashant Pandey},
  journal= {arXiv preprint arXiv:1804.10673},
  year   = {2018}
}