随着云计算业务的快速发展,国内外云计算企业的专利之争也愈发激烈。在云计算这样的技术领域,专利储备往往代表着企业最新的技术实力。华云数据本期“智汇华云”专栏将解析Kernel bypass技术及其在Ceph中的应用介绍,与大家共同分享云计算领域的最新技术与解决方案。
背景
Ceph是当前最流行的开源分布式统一存储,在一套基础架构中同时支持块存储、对象存储和文件存储,支持PB级别的扩展能力,广泛用于云环境中;Ceph来源于Sage Weil博士一项关于存储系统的PhD研究项目,最初被设计为一个分布式文件系统,整体架构基于低速设备而构建,提供毫秒(ms)级别的IO延迟。
从1956年第一块机械硬盘(HDD)诞生至今,存储介质的容量和性能都取得了长足的发展,特别是2011前后固态硬盘(SSD)产生后,IOPS出现了指数级的增长,IO延迟也从毫秒(ms)降到了微妙(us),提升了1000倍以上;与此同时,网络传输速率也从10年前的100Mbps,发展到了目前的100Gbps,实现了1000倍的增长。
随着硬件性能的快速提升,传统的软件实现和架构已成为提升软件系统的主要瓶颈,有数据表明,在全NVMe固态介质的配置下,Ceph集群性能只有硬件限性性能的40%左右,所以为了充分利用高性能介质,需要对现有的软件进行重构。
Kernel bypass技术
随着硬件性能的提升,内核中的网络栈和存储栈带来的性能瓶颈越来越明显,为缩短io路径、解决NVMe SSD在传统IO栈上的性能问题,Linux内核从4.x开始引入了新的NVMe IO栈,如下图,可以看新的IO子系统完全摈弃了传统的通用块层和SCSI子系统:
RDMA(Remote Direct Memory Access)全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。下图直观的展示了传统模式和RDMA模式下的差异:
从上图可得到如下信息:
1.使用裸设备,数据直接写入块设备,消除文件系统的影响
2.在裸设备上构建轻量级的Bluefs文件系统,用于承载元数据库RocksDB
3.支持插件式的块分配器(当前支持StupidAllocator和BitmapAllocator两种)
4. 支持插件式的块设备驱动(当前仅支持Kernel Driver)
所以,要支持新的块设备驱动只需添加新的设备类型(Type)以及实现相应的驱动(Driver)即可。
DPDK/RDMA技术在Ceph中的应用
在讲DPDK/RDMA的应用前,我们先来看看Ceph中两种常用的网络模块(Messenger):
1.SimpleMessenger
SimpleMessenger是Ceph最早支持的一种网络模块,如其名字所述,实现相对比较简单:它通过一个线程来监听服务端口、接收客户连接;每个新建连接与一个Pipe关联,实现两个端口间类似管道的功能;Pipe内部分别有一个读写线程用来处理这个Pipe有关的消息接收和请求的发送;SimpleMessenger通过共享队列向各连接分发接收到的消息。由于每个连接都需要关联一对读写线程来负责消息和请求的处理,很显然,随着连接数量以及并发的增大,将会产生大量的线程,随之线程上下文切换、TCP/IP的overhead也将成倍的增加,严重影响消息和请求的处理性能。
2.AsyncMessenger
为了解决SimpleMessenger中大量线程上下文切换带来的overhead,AsyncMessenger采用了IO多路复用技术(如:epoll、kqueue)以及线程池,来处理消息接收和请求发送,这样可以非阻塞的处理多个网络请求;为了兼容不同的传输协议栈,AsyncMessenger还通过插件的方式支持多种传输协议,如:posix、dpdk和rdma,其结构如下:
从上图我们可以看到通过继承NetworkStack,添加不同的实现即可支持不同的传输协议,如:PosixStack、DPDKStack、RDMAStack。
结合上述的DPDK技术、RDMA技术和SPDK技术,Ceph将能够提供一套纯用户态的存储解决方案,个人认为也是当前存储系统设计的其中一个发展方向。
上文简单介绍了DPDK、SPDK、RDMA技术在Ceph中的应用,后续将对上述各部分进行深度的分析,敬请期待。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/902445.html