高带宽低延时远程flash访问架构

SSDFans 2023-10-20 06:33

ReFlex - Remote Flash ≈ Local Flash

一种提供高带宽低延时和多租户场景下可保证的服务质量的远程flash访问架构


一、背景

    对NVMe Flash的远程访问实现了数据中心内Flash容量以及IOPS的灵活扩展和高利用率。但是,现有的用于远程Flash访问的系统会带来巨大的性能开销,或者无法隔离共享每个Flash设备的多个远程clients。


二、问题与挑战

    在实现对Flash的远程访问方面存在重大挑战。

    要实现低延迟,需要在server和client的网络和存储层上将处理开销降至最低。除了低延迟之外,每台服务器还必须以最低成本实现高吞吐量,从而使一个或多个NVMe Flash设备且具有少量CPU cores的机器达到饱和。此外,要管理共享一个Flash设备的多个租户之间的干扰以及Flash设备的不均匀读写行为,需要一种隔离机制,以保证所有租户的可预测性能。最后,在共享程度,部署规模和用于远程连接的网络协议方面需要具有灵活性。现有的仅软件用于远程Flash访问的选项(例如iSCSI或基于事件的服务器)无法达到性能预期。最近提出的硬件加速选件,例如基于RDMA架构的NVMe,缺乏性能隔离,并且部署灵活性有限。

    由于读、写干扰的影响,可预测的性能对于NVMe Flash设备是一个挑战。图1绘制了Flash上的尾部读取延迟(第95个百分位数)与各种读写比率的工作负载的吞吐量(IOPS)的关系。尾部读取延迟取决于吞吐量(负载)和读写比率。对于我们测试过的所有NVMe Flash设备,此行为都是典型的,因为写入操作速度较慢,并且触发磨损平衡和垃圾回收活动,这些活动无法始终被隐藏。当单个应用程序使用本地Flash设备时,可以管理读/写干扰,但是对于远程Flash和共享同一设备但彼此不知道的多个租户而言,这成为一个巨大的挑战。

三、ReFlex设计

1.数据平面架构

    ReFlex紧密集成了网络和存储层,提供了对远程Flash的低延迟和高吞吐量访问。它通过TCP和UDP等通用网络协议为任意大小的逻辑块提供远程读/写请求。ReFlex主要是软件系统,它利用NIC和NVMe Flash设备中的硬件虚拟化功能直接在硬件队列上运行,并有效地在NIC和Flash设备之间转发请求和数据,而无需拷贝。

    每个ReFlex服务器线程使用专用core,可以直接和排它地访问网络队列对以进行数据包的接收/发送,并使用NVMe队列进行Flash命令的提交/完成。

    图2展示了ReFlex服务器线程的执行模型,该线程处理传入的Flash读/写请求。首先,NIC接收网络数据包,然后通过DMA将其传送到网络栈提供的预分配的内存缓冲区(1)。ReFlex线程轮询接收描述符环,并通过以太网驱动程序和网络栈(例如TCP/IP)处理数据包,从而生成事件条件,指示新消息的可用性(2)。同一线程使用libix(类似于Linux libevent的库)来处理事件。这涉及切换到服务器代码,以解析消息,提取IO请求,执行访问控制检查以及提交Flash read/write系统调用之前所需的任何其他存储协议的处理(3)。然后,线程切换到系统调用处理并执行IO调度,以在共享ReFlex服务器的所有租户之间实施SLO。调度之后,请求将通过NVMe提交队列提交给Flash设备(4)。Flash设备执行读/写IO,并通过DMA将数据传送到预分配的用户空间缓冲区(或从预分配的用户空间缓冲区获取数据)(7)。线程轮询完成队列(5),并提供完成事件(6)。事件回调通过libix执行并发出send系统调用(7)。最后,线程处理send系统调用,以通过网络栈将请求的数据传递回发起方(8)。执行模型支持每条网络消息多个IO请求以及跨多个网络消息的大型IO。


2.调度机制

    QoS调度程序允许ReFlex为共享服务器中Flash设备的租户提供性能保证。租户是一种逻辑抽象,用于说明和执行服务级别目标(SLO)。SLO在特定吞吐量和读/写比率下指定尾部读取延迟的限制。例如,租户可以以80%的读取比率注册具有200us读取尾部延迟(95%百分数)的50K IOPS的SLO。除了此类延迟关键(LC)租户,这些租户在尾部延迟和吞吐量方面保证了分配,ReFlex还为尽力而为(BE)租户提供服务,这些租户可以机会使用任何未分配或未使用的Flash带宽并容忍较高的延迟。租户定义可以由成千上万的网络连接共享,这些连接来自运行任何应用程序的不同客户端计算机。应用程序可以使用多个租户为不同的数据流请求单独的SLO。

    在Flash设备访问上强制执行SLO有两个因素。首先,设备可以支持的最大带宽(IOPS)取决于它在所有租户中看到的请求的总体读写比率。其次,读取请求的尾部等待时间取决于总体读取/写入比率和当前带宽负载。因此,QoS调度程序需要全局可见性和对Flash上的总负载以及未完成的IO操作类型的控制。我们使用请求代价模型来说明每个Flash IO对读取尾部延迟的影响,并使用一种新颖的调度算法来保证所有租户和所有数据平面线程之间的SLO。

1) 请求代价模型

    针对ReFlex服务器中部署的每种类型的Flash设备校准成本模型。首先,对于具有各种读写比率和请求大小的工作负载,我们使用本地Flash测量了尾部等待时间与吞吐量的关系(请参见图1中的4KB示例)。由于写入请求的成本取决于垃圾回收和页面擦除事件的频率,因此我们保守地使用随机写入模式来触发最坏的情况。接下来,我们使用曲线拟合来得出C(I / O type,r)

2) 调度算法

    QoS调度器构建在成本模型之上,保持延迟关键租户的尾端延迟和吞吐量的SLO,同时允许尽力交付型租户以公平的方式利用剩余的吞吐量。

token管理

    QoS调度器以等于Flash设备在给定尾端延迟SLO上可以支持的最大加权IOPS(上述的成本模型)的速率生成token。ReFlex在所有共享一个Flash设备的延迟关键租户中执行最严格的延迟SLO。在它们的SLO指示的读写比加权情况下,延迟关键(LC)租户被提供能够满足它们IOPS SLO的token供应。由调度程序生成但未分配给延迟关键的token将在尽力交付型租户之间公平分配。当调度程序将租户的请求提交到Flash设备时,它会根据每个请求的成本来花费租户的token。

    每个ReFlex线程将Flash请求排入每个租户的软件队列中。当线程到达数据平面执行模型中的QoS调度步骤时,线程使用计算排队请求的加权成本,并将所有允许的请求提交给Flash设备,从而逐渐花费每个租户的token。根据线程负载和批处理因子,执行模型每0.5us至100us进入一次调度回合。通过对控制平面和批处理大小限制确保调度程序调用之间的时间不超过最严格SLO的5%。必须进行频繁的调度,以避免过多的排队延迟并保持NVMe设备的高利用率。

    其次,ReFlex采用自适应批处理请求,以分摊开销并提高预取和指令缓存效率。在低负载下,将立即处理传入数据包或已完成的NVMe命令。随着负载的增加,NIC接收和NVMe完成队列将填满,并为批量处理多个传入数据包或多个完成的访问提供了机会。批大小随负载增加而增加,但上限为64,以避免过多的延迟。不同于传统的批处理,后者需要在带宽和延迟之间进行权衡,自适应批处理在高吞吐量和低延迟之间实现了良好的平衡。


四、结果与评估 

    从上图可以看出,ReFlex可以达到与本地闪存访问相近的远程访问吞吐量和带宽;

    同时,ReFlex的IO调度能够实现对不同类型的用户提供相对应的服务。上图是四个不同类型的租户同时访问一个ReFlex服务器的场景,其中A和B是两个延迟敏感型的租户,从实验结果可以看出,对于延迟敏感型用户,能够保证其所要求的的访问延时和访问带宽。


五、总结

    ReFlex作为一种新的纯软件层面的远程flash访问架构,能够在提供低延时和高带宽的访问性能的同时,在多用户访问的场景下为延迟敏感性的租户提供可保证的服务质量。

The End

致谢


感谢本次论文解读者,来自华东师范大学的硕士生张祎,主要研究方向为闪存缓存管理技术研究。


 点一下“阅读原文”获取论文

SSDFans AI+IOT+闪存,万物存储、万物智能、万物互联的闪存2.0时代即将到来,你,准备好了吗?
评论
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 166浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 63浏览
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 171浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 61浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 59浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 56浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 59浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 68浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 37浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 59浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 94浏览
我要评论
0