一种低延迟高IOPS的数据访问方法技术

技术编号:15955852 阅读:45 留言:0更新日期:2017-08-08 09:55
本发明专利技术公开了一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述第一线程获取写请求并将数据写到缓冲区;通过所述第二线程将所述缓冲区中的数据写到非易失存储设备。本发明专利技术能够兼顾存储系统的延迟,IOPS和带宽,特别是对于新型的基于闪存的存储系统,本发明专利技术提出的架构相对传统聚合方案在延迟和IOPS上有明显的优势。

【技术实现步骤摘要】
一种低延迟高IOPS的数据访问方法
本专利技术涉及存储系统软件架构,尤其涉及一种存储系统中的数据访问方法及设备。
技术介绍
传统IO软件中通常使用聚合的方式提供高吞吐量。这种设计中,多个IO请求被聚合在一起并批量处理。IO处理路径通常可以切分成相对独立的部分,例如压缩、去重等,每一部分作为一个子任务可以用流水线的方式处理。其中每个子任务处理时都可以用聚合的手段来提升吞吐量。传统上,对于网络和磁盘等来说,聚合也有利于提升他们的效率。使用调度器和预读策略可以认为是一种聚合方式。
技术实现思路
聚合的方式尽管可以达到高带宽,却无法达到低延迟和低队列深度下的高IOPS(Input/OutputOperationPerSecond,每秒读/写操作的次数)。对于被聚合的多个IO中的一个单独的IO来说,必须等到同批次的IO都完成之后才向上层报告自身完成的消息。这就导致了延迟的大大提升。同时,存储系统中多任务竞争CPU引入的任务切换会进一步引入不可预测的延迟。对于新型的高速存储介质,例如SSD,特别对于读请求来说,随机读可以达到很高的带宽和IOPS。这种情形下,现有的聚合方法提供高吞吐量的优势将不存在。本文档来自技高网...

【技术保护点】
一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述多个第一线程之一获取写请求并将数据写到缓冲区;通过所述第二线程将所述缓冲区中的数据写到非易失存储设备。

【技术特征摘要】
1.一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述多个第一线程之一获取写请求并将数据写到缓冲区;通过所述第二线程将所述缓冲区中的数据写到非易失存储设备。2.根据权利要求1所述的方法,进一步包括:通过所述第一线程将写请求的完成信息发送给写请求发出方。3.根据权利要求1-2之一所述的方法,其中,通过第二线程将所述缓冲区中的数据聚合后写到存储设备。4.根据权利要求1-3之一所述的方法,其中,所述第一线程每次获取写请求的数量是接近于1的较小整数。5.根据权利要求1-4之一所述的方法,其中,多个第二线程的一些专用于将数据写入到第一存储设备,而多个第二线程的另一些专用于将数据写入到第二存储设备。6.一种存储系统中的数据访问设备,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述设备包括:用于通过所述第一线程获取写请求并将数据写到缓冲区的装置;用于通过所述第二线程将所述缓冲区中的数据写到非易失存储设备的装置。7.一种存储系统中的数据访问方法,其中所述存储系统中包括第一组CPU核与第二组CPU核,其中第一组CPU核的每个专用于运行多个第一线程之一,第二组CPU核用于运行多个第二线程,所述方法包括:通过所述多个第一线程之一获取读请求并将读请求发送给存储设备;响应于所述存储设备完成读请求,通过所述多个第一线程之一将从所述存储设备读出的...

【专利技术属性】
技术研发人员:王田
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1