Hash table is a fundamental data structure for quick search and retrieval of data. It is a key component in complex graph analytics and AI/ML applications. State-of-the-art parallel hash table implementations either make some simplifying assumptions such as supporting only a subset of hash table operations or employ optimizations that lead to performance that is highly data dependent and in the worst case can be similar to a sequential implementation. In contrast, in this work we develop a dynamic hash table that supports all the hash table queries - search, insert, delete, update, while allowing us to support 'p' parallel queries (p>1) per clock cycle via p processing engines (PEs) in the worst case i.e. the performance is data agnostic. We achieve this by implementing novel XOR based multi-ported block memories on FPGAs. Additionally, we develop a technique to optimize the memory requirement of the hash table if the ratio of search to insert/update/delete queries is known beforehand. We implement our design on state-of-the-art FPGA devices. Our design is scalable to 16 PEs and supports throughput up to 5926 MOPS. It matches the throughput of the state-of-the-art hash table design - FASTHash, which only supports search and insert operations. Comparing with the best FPGA design that supports the same set of operations, our hash table achieves up to 12.3x speedup.


翻译:散列表是快速搜索和检索数据的基本数据结构。 散列表是复杂的图表分析器和 AI/ ML 应用程序中的一个关键组成部分。 最先进的平行散列表执行方式, 或者是做出一些简化的假设, 例如只支持散列表操作的子集, 或者是采用最差的优化, 导致性能高度依赖数据, 而最差的则类似于相继执行。 相反, 我们在此工作中开发一个动态散列表, 支持所有散列查询 - 搜索、 插入、 删除、 更新, 同时允许我们在最差的情况下通过 p 处理引擎( PEP) 支持每个钟周期的平行查询( p> 1) 。 性能是数据不可知性的。 我们通过在 FPGA 上安装基于多端块记忆的新 XOR 实现这一点。 此外, 我们开发了一种技术, 优化散列表的记忆要求, 如果事先知道要插入/ 更新/ 删除查询的比重查询。 我们用状态的 FPGA 设备设计了我们最高级的表格, 我们的设计只能通过 PE26 设计来支持最高级的 。 。 通过 的 将 的 格式的 和 格式的 支持到 的 AS 的 设计到 格式的 的 的 向16 格式到 的 的 的 的 的 的 的 格式到 的 的 的 格式的 的 的 格式的 的 的 的 的 的 的 将 将 将 支持到 的 的 将 将 的 的 的 的 将 将 和 的 的 的 将 将 将 将 支持到 的 将 将 的 的 的 的 的 的 的 的 的 将 将 将 将 将 将 将 将 将 向 向 向 向 向 向 将 向 向 向 向 向 向 向 向 的 向 向 向 的 的 向 的 的 的 向 向 向 插入 插入 插入 插入 插入 向 向 向 插入 插入 插入 插入 向 插入

1
下载
关闭预览

相关内容

【图与几何深度学习】Graph and geometric deep learning,49页ppt
如何构建你的推荐系统?这份21页ppt教程为你讲解
专知会员服务
64+阅读 · 2021年2月12日
Python图像处理,366页pdf,Image Operators Image Processing in Python
Fariz Darari简明《博弈论Game Theory》介绍,35页ppt
专知会员服务
109+阅读 · 2020年5月15日
深度强化学习策略梯度教程,53页ppt
专知会员服务
178+阅读 · 2020年2月1日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
硬件加速神经网络综述
计算机研究与发展
24+阅读 · 2019年2月1日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
无问西东,只问哈希
线性资本
3+阅读 · 2018年1月18日
深度学习医学图像分析文献集
机器学习研究会
17+阅读 · 2017年10月13日
【推荐】基于TVM工具链的深度学习编译器 NNVM compiler发布
机器学习研究会
5+阅读 · 2017年10月7日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
ParticleAugment: Sampling-Based Data Augmentation
Arxiv
0+阅读 · 2021年10月15日
Arxiv
6+阅读 · 2020年3月16日
VIP会员
相关VIP内容
【图与几何深度学习】Graph and geometric deep learning,49页ppt
如何构建你的推荐系统?这份21页ppt教程为你讲解
专知会员服务
64+阅读 · 2021年2月12日
Python图像处理,366页pdf,Image Operators Image Processing in Python
Fariz Darari简明《博弈论Game Theory》介绍,35页ppt
专知会员服务
109+阅读 · 2020年5月15日
深度强化学习策略梯度教程,53页ppt
专知会员服务
178+阅读 · 2020年2月1日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
相关资讯
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
硬件加速神经网络综述
计算机研究与发展
24+阅读 · 2019年2月1日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
无问西东,只问哈希
线性资本
3+阅读 · 2018年1月18日
深度学习医学图像分析文献集
机器学习研究会
17+阅读 · 2017年10月13日
【推荐】基于TVM工具链的深度学习编译器 NNVM compiler发布
机器学习研究会
5+阅读 · 2017年10月7日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员