[发明专利]一种低延迟高IOPS的数据访问方法有效
申请号: | 201610067814.6 | 申请日: | 2016-01-30 |
公开(公告)号: | CN107025064B | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 王田 | 申请(专利权)人: | 北京忆恒创源科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 11572 北京卓特专利代理事务所(普通合伙) | 代理人: | 段宇<国际申请>=<国际公布>=<进入国 |
地址: | 100192 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 延迟 iops 数据 访问 方法 | ||
本发明公开了一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述第一线程获取写请求并将数据写到缓冲区;通过所述第二线程将所述缓冲区中的数据写到非易失存储设备。本发明能够兼顾存储系统的延迟,IOPS和带宽,特别是对于新型的基于闪存的存储系统,本发明提出的架构相对传统聚合方案在延迟和IOPS上有明显的优势。
技术领域
本发明涉及存储系统软件架构,尤其涉及一种存储系统中的数据访问方法及设备。
背景技术
传统IO软件中通常使用聚合的方式提供高吞吐量。这种设计中,多个IO请求被聚合在一起并批量处理。IO处理路径通常可以切分成相对独立的部分,例如压缩、去重等,每一部分作为一个子任务可以用流水线的方式处理。其中每个子任务处理时都可以用聚合的手段来提升吞吐量。传统上,对于网络和磁盘等来说,聚合也有利于提升他们的效率。
使用调度器和预读策略可以认为是一种聚合方式。
发明内容
聚合的方式尽管可以达到高带宽,却无法达到低延迟和低队列深度下的高IOPS(Input/Output Operation Per Second,每秒读/写操作的次数)。对于被聚合的多个IO中的一个单独的IO来说,必须等到同批次的IO都完成之后才向上层报告自身完成的消息。这就导致了延迟的大大提升。同时,存储系统中多任务竞争CPU引入的任务切换会进一步引入不可预测的延迟。对于新型的高速存储介质,例如SSD,特别对于读请求来说,随机读可以达到很高的带宽和IOPS。这种情形下,现有的聚合方法提供高吞吐量的优势将不存在。同时网络的性能也在飞速发展,提供高带宽的同时也能提供很高的IOPS的低延迟。现有聚合的IO模式将成为提升IOPS和降低延迟过程中的障碍。
本发明希望克服现有技术在新型高速存储介质上,无法达到高IOPS和低延迟的缺点,最终达到平衡高IOPS、低延迟和高带宽三个指标的结果。
根据本发明的一个方面,提供了一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述多个第一线程之一获取写请求并将数据写到缓冲区;通过所述第二线程将所述缓冲区中的数据写到非易失存储设备。
根据本发明的一个实施方式,进一步包括:通过所述第一线程将写请求的完成信息发送给写请求发出方。
根据本发明的一个实施方式,其中,通过第二线程将所述缓冲区中的数据聚合后写到存储设备。
根据本发明的一个实施方式,其中,所述第一线程每次获取写请求的数量是接近于1的较小整数。
根据本发明的一个实施方式,其中,多个第二线程的一些专用于将数据写入到第一存储设备,而多个第二线程的另一些专用于将数据写入到第二存储设备。
根据本发明的一个实施方式,其中,所述第二线程将所述缓冲区中的数据压缩后写到存储设备。
根据本发明的一个实施方式,其中,使用cgroup将CPU核划为第一组CPU核与第二组CPU核。
根据本发明的一个实施方式,其中,使用taskset为每个第一线程分配为其所独占的CPU核。
根据本发明的一个实施方式,其中,使用轮询和中断来获取写请求。
根据本发明的一个实施方式,其中,所述写请求发出方是网卡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技有限公司,未经北京忆恒创源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610067814.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置