LEED: A Low-Power, Fast Persistent Key-Value Store on SmartNIC JBOFs

LEED: A Low-Power, Fast Persistent Key-Value Store on SmartNIC JBOFs
复制标题

DOI:
10.1145/3603269.3604880
复制
发表时间:
2023-09
期刊:
Proceedings of the ACM SIGCOMM 2023 Conference
影响因子:
--
通讯作者:
Zerui Guo;Chenxingyu Zhao;Yunru Bai
Zerui Guo;Chenxingyu Zhao;Yunru Bai
中科院分区:
其他
文献类型:
--
作者:
Zerui Guo;Chenxingyu Zhao;Yunru Bai

文献摘要

相似文献

最近出现的低功耗高吞吐量可编程存储平台-SmartNIC JBOF(仅一束闪存)-促使我们重新考虑用于高能效大规模数据密集型工作负载的群集体系结构和系统堆栈。与使用服务器JBOF或嵌入式存储节点阵列的传统系统不同,SmartNIC JBOF的引入极大地改变了集群计算、内存和I/O配置。这种极端不平衡的架构使得现有系统设计原理和技术无效或失效。本文介绍了LEED,一个分布式的,复制的,持久的键值存储在一个数组的SmartNIC JBOF。我们解决SmartNIC JBOF带来的独特挑战的关键思想是:用过多的I/O带宽换取稀缺的SmartNIC核心计算周期和内存容量;尽早做出调度决策,以简化请求执行流程。LEED系统地改造了软件堆栈,并提出了跨SSD,JBOF内和JBOF间级别的技术。我们基于Broadcom Stingray的原型系统在256 B/1 KB键值对象的每焦耳请求方面,比使用健壮的服务器JBOF和脆弱的嵌入式存储节点的现有解决方案性能高4.2×/3.8×和17.5×/19.1×。
The recent emergence of low-power high-throughput programmable storage platforms-SmartNIC JBOF (just-a-bunch-of-flash)-motivates us to rethink the cluster architecture and system stack for energy-efficient large-scale data-intensive workloads. Unlike conventional systems that use an array of server JBOFs or embedded storage nodes, the introduction of SmartNIC JBOFs has drastically changed the cluster compute, memory, and I/O configurations. Such an extremely imbalanced architecture makes prior system design philosophies and techniques either ineffective or invalid. This paper presents LEED, a distributed, replicated, and persistent key-value store over an array of SmartNIC JBOFs. Our key ideas to tackle the unique challenges induced by a SmartNIC JBOF are: trading excessive I/O bandwidth for scarce SmartNIC core computing cycles and memory capacity; making scheduling decisions as early as possible to streamline the request execution flow. LEED systematically revamps the software stack and proposes techniques across per-SSD, intra-JBOF, and inter-JBOF levels. Our prototyped system based on Broadcom Stingray outperforms existing solutions that use beefy server JBOFs and wimpy embedded storage nodes by 4.2×/3.8× and 17.5×/19.1× in terms of requests per Joule for 256B/1KB key-value objects.