[发明专利]一种保证分布式存储系统服务器端读尾延迟的方法及系统有效
申请号: | 202011318905.5 | 申请日: | 2020-11-23 |
公开(公告)号: | CN112463044B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 冷镇宇;蒋德钧;熊劲 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 分布式 存储系统 服务器端 延迟 方法 系统 | ||
本发明提出一种保证分布式存储系统服务器端读尾延迟的方法及系统,包括通过应用负载特征建模对应用分为不可延后服务应用与可延后服务应用两类,对两类应用预分配资源。存储节点服务应用时,对不同类型的应用进行匹配,使匹配的应用组合共享服务速率。根据应用负载的变化动态地交换资源,以保证应用尾延迟SLO的应用准入控制方法。
技术领域
本发明涉及分布式存储系统技术领域,尤其是保证延迟敏感型应用低尾延迟需求技术领域。
背景技术
分布式存储系统采取典型的客户端-服务器(Client-Server)模型。访问分布式存储系统的请求处理过程为:(1)应用(Application)请求访问分布式存储系统的客户端;(2)客户端将请求通过网络发送给服务器;(3)服务器从网络上接受请求并开始处理,请求到达服务器后会首先进入队列中排队,若有空闲线程,则会从队列中取请求并进行处理;(4)请求在服务器端被处理完成后,其响应将通过网络发送给客户端;(5)客户端接收到请求的响应后将其发送给应用。至此,一个请求就被处理完成,如图1所示。上述步骤(3)中在服务器端对请求的处理过程复杂,同时涉及到请求排队,线程处理,存储访问等。服务器端从网络上接收请求后,将请求放入到相应的队列上,服务器端的请求队列可采取单队列或多队列模式,真正处理请求是存储节点上的IO线程。线程根据不同出队策略从队列上取请求并进行处理,请求处理过程中会访问存储设备获取响应,最终将响应经网络发送给客户端。线程在同一时刻只能处理一个请求,一个请求处理完成后才能处理下一个请求。
部署在分布式存储系统上的延迟敏感型应用(Latency-sensitive application)需要保证其尾延迟SLO。为避免多个延迟型应用由于资源竞争产生干扰,而对尾延迟造成影响,最简单的方法是在存储系统上单独部署该类应用,使其独占系统资源,或者按照其峰值压力为其预分配系统资源,以保证其尾延迟需求能够被满足。很显然,这导致系统资源不能被充分利用,利用率较低,相关研究表明:数据中心存储系统资源利用率介于10%~45%之间。存储系统通常是大规模部署的,涉及成百上千个服务节点,如此低的资源利用率将消耗巨大的资本和运营成本。为提高存储系统资源利用率,将多种延迟型应用混合部署,势必会竞争存储资源,继而对尾延迟产生影响。
因此,目前有大量工作围绕“针对多种延迟型应用混合部署在分布式存储系统中时,如何高效地管理存储节点所提供的吞吐量资源并采取合适的应用准入控制,在满足多种应用差异化的高百分位尾延迟SLO需求的前提下,尽可能多地处理应用请求,以提高系统资源利用率”进行展开:
(1)一种反馈式的存储节点线程分配方法Cake。Cake每隔固定的时间间隔(如10s)对线程资源进行调整,根据上一个时间间隔内应用的尾延迟SLO与目标SLO的比值,优先使用按比例共享策略来设定线程服务不同应用的请求,经过调整后,若按比例共享策略仍不能满足目标SLO需求,则会采取预留策略,也即为应用预留单独的线程,其余线程仍为共享线程。
(2)一种反馈式的客户端限流方法PSLO。PSLO每隔固定的时间间隔(如10s)统计应用请求延迟满足尾延迟SLO的概率,如果该概率低于应用要求的尾延迟SLO的概率,则对该应用以及与该应用有着相同的目标存储节点的应用进行限流。通过在客户端降低应用的发送iodepth来达到限流的效果,待统计的应用请求延迟满足尾延迟SLO的概率高于应用要求的尾延迟SLO的概率之后,再不断降低对应用的限流程度。
(3)一种先验式存储节点优先级调度方法PriorityMeister。PriorityMeister首先基于应用提供的具有代表性的trace分析应用的负载特征,根据存储节点所提供的平均吞吐量,预测每个应用在不同优先级下的请求最大延迟,如果预测的延迟不超过应用的尾延迟SLO,则允许该应用按照设定的优先级接入系统。通过预先不断调整应用的优先级,来寻找允许接入应用数量最多的优先级配置。PriorityMeister分析应用的负载特征基于漏桶(Leaky token bucket),延迟预测方法基于Network Calculus。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011318905.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种珍珠直径筛选装置
- 下一篇:一种基于物联网的植株培养室用喷灌装置