CN102227121B - 基于机器学习的分布式缓存策略自适应切换方法及系统 - Google Patents

基于机器学习的分布式缓存策略自适应切换方法及系统 Download PDF

Info

Publication number
CN102227121B
CN102227121B CN 201110167018 CN201110167018A CN102227121B CN 102227121 B CN102227121 B CN 102227121B CN 201110167018 CN201110167018 CN 201110167018 CN 201110167018 A CN201110167018 A CN 201110167018A CN 102227121 B CN102227121 B CN 102227121B
Authority
CN
China
Prior art keywords
cache
strategy
performance
buffer memory
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201110167018
Other languages
English (en)
Other versions
CN102227121A (zh
Inventor
张文博
秦秀磊
王伟
魏峻
钟华
黄涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong qianyun Information Technology Group Co., Ltd.
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN 201110167018 priority Critical patent/CN102227121B/zh
Publication of CN102227121A publication Critical patent/CN102227121A/zh
Application granted granted Critical
Publication of CN102227121B publication Critical patent/CN102227121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于机器学习的分布式缓存策略自适应切换方法及其系统。基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素;分别在不同场景要素条件下收集各缓存策略的数据集;训练该数据集得到缓存性能模型;基于缓存性能模型与集群环境下的在线监测数据决策最优缓存策略,在当前缓存策略与最优策略不一致时执行缓存策略切换。本发明采用机器学习的方法建立可以准确刻画当前场景的缓存性能模型,并通过构建性能数据仓库周期性的更新该模型,进一步提高了模型的精度,可以较好的适应环境的动态变化,增强缓存服务的柔性和自适应性。

Description

基于机器学习的分布式缓存策略自适应切换方法及系统
所属技术领域
本发明属于软件技术领域,涉及一种分布式缓存策略自适应切换方法及其系统,尤其涉及一种通过机器学习构建缓存性能模型进而决策最优缓存策略的方法及系统。
背景技术
云计算环境下,为了更好的应对海量数据与用户请求带来的挑战,解决传统数据库面临的大规模数据访问的瓶颈问题,分布式缓存技术得以引入为用户提供高性能、高可用、可伸缩的数据缓存服务。分布式缓存拉近了集群化对象数据与应用之间的距离,是云平台提升应用性能的一种重要手段。Searchsoa认为对于数据密集型的Web应用,如果失去分布式缓存这一关键技术的支撑,云的潜能将是十分有限的。随着Web2.0的进一步发展,许多企业或组织时常会面对空前的需求:百万级的并发用户访问,每秒处理数以千计的并发事务、灵活的弹性与可伸缩性、低延时及7*24*365可用性等。传统事务型应用面临极限规模的并发事务处理,出现了极限事务处理型应用。这给应用服务器的处理能力带来了新的挑战,即如何在廉价的、标准化的硬件和软件平台之上,对大容量、业务关键型的事务处理应用提供良好的支撑。Gartner将极限事务处理(Extreme Transaction Processing,简称XTP)定义为一种应用模式,它对事务型应用的开发、部署、管理和维护提供支持,特点是对性能、可扩展性、可用性、可管理性等方面的特殊需求。Gartner在其技术报告中预测指出,极限事务处理型应用的规模将由2005年的10%提升到2010年的20%,极限事务处理技术同样是未来5-10年的热点技术。分布式缓存作为一种最为关键的XTP技术,在过去的12至18个月中,先后被集成到各主流的中间件中。
目前,分布式缓存策略模型主要有三种:全复制(Replicated)策略,分区(Partitioned)策略和近区策略(Near策略,也称Client策略或Local策略)。三种缓存策略模型分别适用于不同的问题场景,不存在某种策略模型适用于所有场景。例如:全复制策略适用于缓存数据量少或读请求较多的场景,而分区策略则适用于缓存数据量大,写操作频繁的场景。云环境下Web应用的访问量、访问模式不断变化(典型应用包括选课系统和免费旅游门票申请系统),云平台本身也在不断对资源进行调整,为了进一步优化服务性能,最大化资源利用率,增强缓存服务的柔性和自适应性,有必要根据当前场景选取最优缓存策略。表1显示了各缓存产品及其策略支持。
表1主要的分布式缓存产品及其策略支持
Figure BDA0000069853490000021
全复制策略:在该策略中数据更新操作会同步到每个缓存节点,最终每个节点都有一份完整的数据拷贝。该策略的优点是访问速度快,由于缓存数据复制到所有缓存节点,访问速度可以是瞬时的,同时提供了最高级的可用性支持。该策略存在的不足有两点:第一,内存占用率高。第二,当数据更新操作频率执行时,通信开销较大。全复制策略适用于缓存数据量少或读请求较多的场景。该策略表示为图1。
分区策略:该策略中缓存数据均衡分布到所有缓存节点,每个节点负责缓存唯一的1/N份数据。该策略支持冗余备份机制,通过配置备份节点数实现不同级别的可用性支持。所有数据更新操作均在单跳内完成,有效避免了全复制策略同步更新到所有缓存节点引入的高通信开销问题。分区策略的不足在于访问数据时可能会包含远程操作,网络传输及数据对象序列化/反序列化开销大,访问速度不及全复制策略。该策略适用于缓存数据量大,写操作频繁的场景。该策略表示为图2。
近区策略:该策略包含前端缓存和后端缓存两部分。前端缓存提供快速的本地访问,容量较小,将经常访问的热点数据放在前端缓存中可以进一步提高系统性能。后端缓存容量较大,可以缓存更多数据,但访问速度不及前端缓存。当用户请求应用对象时可以从前端缓存中无延迟加载,如果加载不到,该策略会自动从后端缓存加载。当用户写入对象数据到缓存时,首先更新前端缓存,然后是后端缓存和备份节点。近区策略适用于大量热点数据访问或读较多的场景。当数据更新操作频繁时,缓存间同步开销较大,不建议使用该策略。该策略表示为图3。
在缓存策略自适应机制研究方面,已有的方法大致可分为两类:一类是基于模拟(Simulation)的方法,另一类是基于规则的方法。
在基于模拟的方法中,一些工作(G.Pierre,L.Kuz,M.Steen,A.S.Tanenbaum.Differentiated Strategies for replicating Web Documents.Computer Communications.pp.232-240,2001;G.Pierre,M.van Steen,A.S.Tanenbaum.Dynamically selecting optimaldistribution strategies for Web documents.IEEE Transactions on Computers.pp.637-651,2002;)使用跟踪驱动模拟(Trace driven simulation)的方法为每个文件选取最优缓存策略。作者认为由于Web文件的请求分布、访问和更新频率各异,有必要为每个文件选取一个最优缓存策略(主要针对一致性策略)。用户与地理位置相近的缓存服务器构成一个自治域,每个自治域定期将收集的日志信息上传给主文件服务器,文件服务器使用性能模拟器(G.Pierre,M.Makpangou.Saperlipopette!:a distributed Web caching systems evaluation tool.InProceedings of ACM/IFIP/USENIX 1st International Middleware Conference. pp.389-405,1998)在线模拟各备选缓存策略的性能,然后对模拟得到的各项性能指标值线性加权决策最优缓存策略。Sivasubramanian等人(S.Sivasubramanian,G.Pierre,M.Van Steen.Acase for dynamic selection of replication and caching strategies.In Proceedings of the 8thworkshop on Web Caching and Content Distribution.pp.275-282,2003)针对决策过程中模拟器需要对每个文件模拟所有缓存策略资源开销大的问题,提出了一种新的启发式算法。该算法使用带权的有向图保存缓存策略转换(transition)记录(类似于状态转换图),决策过程中依据转换图选取转换概率高于一定阈值的候选缓存策略集,这样可以有效降低解空间规模、优化性能,但性能的提升是以牺牲一定的准确率为代价的。上述研究工作的不足在于需要性能模拟器支持,模拟开销大。Subramanian等人(R.Subramanian,Y.Smaragdakis,LohG.H.Adaptive Caches:Effective Shaping of Cache Behavior to Workloads.In Proceedings of the39th Annual IEEE/ACM International Symposium on Microarchitecture(MICRO).pp.385-396,2006)提出一种针对处理器缓存策略自适应场景的新方法(主要针对缓存替换策略)。其基本思想是通过改变传统处理器缓存结构,添加两个新模块(Parrallel tag arrays,Misshistory buffers)来辅助完成性能模拟。Parrallel tag arrays与Miss history buffers分别用来保存各缓存策略模拟过程中的内容变化与模拟得到的命中率记录,自适应算法会选取命中率高的缓存替换策略并执行。
在基于规则的方法中,Deolasee等人(P.Deolasee,A.Katkar A.Panchbudhe,K.Ramamritham,P.Shenoy.Adaptive Push-Pull:Disseminating Dynamic Web Data.InProceedings of International World Wide Web Conference(WWW’01).pp.265-274,2001;M.Bhide,P.Deolasee,A.Katkar A.Panchbudhe,K.Ramamritham,P.Shenoy.Adaptive Push-Pull:Disseminating Dynamic Web Data.IEEE Transactions on Computers.pp.652-668,2002)认为从一致性策略的角度而言,推模式(服务器端主动)和拉模式(客户端主动)具有互补性,需要根据不同的场景和用户需求动态选取。该方法要求用户给出一致性需求,策略选取规则由带宽、数据变化率以及用户一致性需求要素组成。算法以最大化系统资源利用率为目标,依照规则动态选取推模式或拉模式。该方法的优点在于实现简单,策略选择过程执行效率高;不足在于使用固定规则选取最优缓存策略,缺乏足够的柔性与自适应性,难于适应环境与需求的动态变化,规则的制定大多由人工完成,易引入主观因素的影响。
发明内容
本发明的目的在于克服现有方案中存在的问题,提供一种灵活性高、可操作性强的缓存策略自适应方法,以及一种缓存策略自适应系统。
本发明的分布式缓存策略自适应切换方法,其步骤包括:
1、基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素;
2、分别在不同场景要素条件下收集各缓存策略的数据集;
3、训练该数据集得到缓存性能模型;
4、基于缓存性能模型与集群环境下的在线监测数据决策最优缓存策略,在当前缓存策略与最优策略不一致时执行缓存策略切换。
本发明基于信息增益方法对所述数据集的各参数进行评价,选取与最优策略选择相关的性能参数作为缓存性能模型的参数。
通过下述公式计算参数的信息增益,选取信息增益值超过一定阈值的参数作为缓存性能模型的参数:
InfoGain ( A i ) = H ( C ) - H ( C | A i )
= - Σ c ∈ C p ( c ) lo g 2 p ( c ) + Σ a i ∈ A i p ( a i ) Σ c ∈ C p ( c | a i ) log 2 p ( c | a i ) ,
其中ai与c分别表示参数Ai与分类C的不同取值,H(C)表示分类C的熵值,H(C|Ai)表示给定参数Ai条件下的条件熵值。p(c)表示样本属于分类c的概率,p(c|ai)表示给定参数值ai条件下样本属于分类c的概率。
本发明在集群环境中的缓存对象数量低于某一阈值时,执行缓存策略切换,否则继续等待直至等待时间超出设定的阈值时,执行缓存策略切换。
在执行缓存策略切换时,将整个缓存集群分为若干蔟,每蔟有1个蔟头节点和若干普通节点组成;首先每簇的普通节点将缓存对象同步到其簇头节点,接下来每簇头节点与其他簇头节点执行同步,得到集群中所有缓存对象的镜像,最后各簇头节点将缓存对象同步到其簇中的每个普通节点。
本发明按照一定的方法将数值型参数离散化为若干区间,以方便性能模型的训练。
基于等深分箱法离散化数值型参数,将所有数值型参数按照一定的顺序分为K箱,每箱中包含等量的参数。
本发明基于性能数据仓库和不断累积的数据集周期性地更新所述缓存性能模型。
所述缓存性能模型由一组if-then的规则集合表示,每条规则包含一组条件和一个结论,所述条件为所述数据集训练后选取的参数集合及其约束,结论为分类信息,即最优缓存策略。
采用Ripper方法训练所述数据集得到缓存性能模型。
所述步骤1-3在离线状态下完成,所述步骤4在在线状态下完成。
所述场景要素选自集群节点规模、负载模式或用户并发数。
本发明的分布式缓存策略自适应切换系统,包括
一收据收集模块,在不同场景要素条件下收集各缓存策略的数据集;
一决策模块,基于缓存性能模型和在线监测数据确定最优缓存策略;
一决策执行模块,在当前缓存策略与最优缓存策略不一致时,将当前缓存策略切换至最优缓存策略。
还可包括一性能数据仓库,存储新的在线监测数据;决策模块根据新数据定期更新所述缓存性能模型。
本发明的技术解决方案可以表示为图4,包括以下方面:
1)评价缓存策略
集群环境中对各缓存策略进行评价,评价的指标为WIPS值(即每秒处理的Web交互次数)。比较不同集群节点规模、负载模式与用户并发数条件下各缓存策略的性能表现,找出影响性能的场景要素(从集群节点规模、负载模式和用户并发数三个要素中选取),这些场景要素对训练数据的收集和缓存性能模型的建立具有重要意义。
2)训练缓存性能模型
分别在不同场景要素条件下收集各缓存策略的训练数据,这些训练数据通过数据采集模块来收集并以一定的格式记录在日志文件中,基于该数据集训练得到缓存性能模型。缓存性能模型刻画了场景与最优缓存策略间的关系,由一组if-then的规则集合表示,可以用于对新的场景数据进行分类识别(分类信息即为最优缓存策略),每条规则包含一组条件和一个结论。可以表示为式(1):
Figure BDA0000069853490000061
3)缓存策略在线自适应切换
基于缓存性能模型与在线监测数据决策最优缓存策略,如果当前缓存策略与最优策略不一致,则执行缓存策略自适应切换。缓存策略切换的关键在于如何有效降低切换开销,当集群中的缓存对象数量较多时,强行执行策略切换会引入较高的资源开销,易产生性能抖动(Jitter)。考虑到缓存策略自适应切换是一种性能优化技术,而切换开销与集群中的缓存对象数量相互关联,本发明采用基于延迟的自适应切换方法,选取合适的切换时间点,当集群中的缓存对象数量低于某一阈值时,执行策略切换,否则继续等待直至等待时间超出设定的阈值。这一方法的基本思想是牺牲一定的性能优化效果以降低策略切换开销。
4)执行缓存对象同步
不同的缓存策略模型具有不同的数据读写操作定义,例如:全复制策略直接本地读取数据,写数据时所有缓存节点同步更新;分区策略读取数据可能包含远程操作,而写数据则会在单跳内完成。这样在某些场景下(例如当最优缓存策略由分区策略转为全复制策略时),需要同步缓存节点的缓存对象以完成策略适配。如果所有节点缓存对象同时同步,整个缓存集群易产生网络拥塞,为解决该问题,本发明采用基于组播的缓存对象同步方法完成同步。在该方法中,整个缓存集群分为若干簇,每个簇由1个簇头节点和若干普通节点组成。首先每个簇的普通节点将缓存对象同步到其簇头节点,接下来每个簇头节点与其他簇头节点执行同步,得到集群中所有缓存对象的镜像,最后各簇头节点将缓存对象同步到其簇中的每个普通节点。
5)更新缓存性能模型
本发明基于性能数据仓库(Performance Data Repository)和不断累积的数据集周期性地更新缓存性能模型,支持性能模型的更新与演化,进一步增强了模型的精度。
在本发明方法中,步骤2)训练缓存性能模型包括如下方面:
(1)收集训练数据,训练数据的收集围绕影响缓存策略性能表现的场景要素展开,分别收集各要素条件下每种缓存策略的性能数据。本发明实现一个基于JMX的缓存性能数据收集框架。该框架可以有效利用缓存服务暴露的外部接口监测缓存节点的运行时数据。监测数据按照预定的格式记录在日志文件中。
(2)参数离散化,为减少数值型参数值变化给模型训练过程带来的影响,提高模型训练的效率,有必要将数值型参数按照一定的规则离散化为若干层次(例如,1000-2000/2000-3000/3000-4000)。本发明基于等深分箱法(Equal-depth binning)离散化数值型参数,具体而言,将所有训练数据按照一定的顺序分为K箱,每箱中包含等量的训练数据。
(3)选取关键性能参数,模型训练时冗余参数或无关参数的引入一方面会对训练过程的性能产生影响,另一方面会降低模型分类的精度。本发明基于信息增益(Informationgain)理论对每个监测参数进行评价,确定可以精确刻画场景要素变化并对最优策略选择起关键作用的性能参数,减少主观因素的影响。对于给定参数Ai和最优策略C,其信息增益可以表示为等式(2):
InfoGain ( A i ) = H ( C ) - H ( C | A i )
= - Σ c ∈ C p ( c ) lo g 2 p ( c ) + Σ a i ∈ A i p ( a i ) Σ c ∈ C p ( c | a i ) log 2 p ( c | a i ) - - - ( 2 )
最终选取信息增益值超过一定阈值的参数作为性能模型的参数。
(4)训练缓存性能模型,最优策略作为分类信息与预处理后的性能数据一起作为模型训练的输入。解决分类问题有多种方法,如支持向量机(SVM)、朴素贝叶斯、C4.5和Ripper方法等。支持向量机(SVM)方法的不足在于处理大数据集时时空耗费大,朴素贝叶斯方法的不足在于假定各属性间条件独立,同C4.5方法相比,Ripper方法具有容错性好、应对大数据集时性能较优、产生的规则集易于理解和修改等优点。因此本发明采用Ripper方法(W.W.Cohen.Fast effective rule induction.In Proceedings of the 12th InternationalConference on Machine Learning(ICML′95),pages 115-123,1995)训练得到缓存性能模型。
本发明将最优缓存策略的选择规约为分类问题,整个自适应机制包括离线性能模型训练和缓存策略在线自适应两个阶段。离线性能模型训练阶段,首先基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素,收集训练数据,采用基于Cohen的Ripper分类算法训练得到缓存性能模型。缓存策略在线自适应阶段,决策模块根据缓存性能模型与收集到的性能数据决策当前场景下的最优缓存策略,决策执行模块控制各服务节点完成缓存策略的切换。本发明采用优化的缓存策略切换算法有效控制切换进度,降低策略切换对系统造成的影响。
本发明的优点和积极效果如下:
1、离线模型训练阶段,采用信息增益理论评价各性能参数,有效减少了主观因素的影响。基于Ripper方法产生的规则集易于理解和修改,方法简单,更易实施。
2、离线模型训练与在线缓存策略自适应切换相结合。同基于模拟或基于规则的方法相比,本发明采用机器学习的方法建立可以准确刻画当前场景的缓存性能模型,并通过构建性能数据仓库周期性的更新该模型,进一步提高了模型的精度,可以较好的适应环境的动态变化。当缓存策略切换时,本发明使用基于组播的缓存对象同步机制实现不用策略的适配,可以更好的加速缓存对象同步,有效减少网络拥塞;同时本发明使用优化的缓存策略切换方法有效控制策略切换进度,降低策略切换对系统造成的影响,提高了缓存服务的可用性与可靠性。
3、本发明可为Web应用及缓存服务性能调优提供支持。通过对Web应用不同访问模式、用户并发量和平台资源等环境信息的学习与侦测,帮助平台管理人员及时调整缓存策略,减少人工管理成本,优化资源利用率,增强缓存服务的柔性和自适应性。
附图说明
图1全复制策略示意图
图2分区策略示意图
图3近区策略示意图
图4基于机器学习的分布式缓存策略自适应方法流程框图
图5缓存性能模型的构建流程图
图6集群环境拓扑结构示意图
图7缓存策略自适应系统框架示意图
图8训练得到的规则集示例图
图9缓存策略切换算法流程图
图10缓存对象同步算法流程图
具体实施方式
以下结合具体实例和附图对本发明作进一步说明。
如图5所示,本发明提出的基于机器学习的分布式缓存策略自适应切换方法通过离线学习建立可以准确刻画当前场景的缓存性能模型。决策模块基于该性能模型和在线监测数据决策最优缓存策略,最终由决策执行模块实现策略的在线自适应切换。
本实施例采用Tpc-W电子商务基准测试,它模拟了一个在线网络书店应用,共包含14种事务,其中8种涉及数据库读、写操作,属于订单相关(order-related)的事务;6种只涉及读操作,属于浏览相关(browse-related)的事务。TPC-W可按不同比例混合事务,构成不同的事务混合模式,常用的3种模式包括浏览(browsing)、购买(shopping)和订购(ordering),表示为表2。客户端采用负载生成器模拟用户请求事务,负载的大小可通过改变并发用户数来调整。
表2Tpc-w
    浏览模式     购物模式     订购模式
  浏览相关     95%     80%     50%
  订单相关     5%     20%     50%
作为本实施例方法的使用环境,由客户端、负载均衡器、集群节点和数据库管理系统组成。部署拓扑可以表示为图6。测试客户端基于开源的Bench4Q Tool(http://forge.ow2.org/projects/jaspte),这是一款面向服务质量的测试基准工具。前端负载均衡器基于开源的Ngnix,用户请求转发采用轮转法,支持会话粘滞。应用服务器JVM堆大小设为512M,最大线程数设为1000。分布式缓存系统实现了三种缓存策略,作为Hibernate二级缓存透明嵌入Web应用中,每个缓存节点最大缓存对象数为10000(对于近区策略,全端与后端缓存最大缓存对象数分别设为1000和9000),采用的缓存替换策略设为LRU,后端数据库系统中图书的数目和用户数分别设为10000和288000。使用环境配置如表3所示。
表3使用环境配置
Figure BDA0000069853490000091
Figure BDA0000069853490000101
如图7所示,缓存策略自适应框架主要由数据采集模块、决策模块和决策执行模块三部分组成。数据采集模块负责监测和收集缓存集群的运行时数据,缓存性能模型通过离线训练来获取。决策模块的职责包括三点,第一,基于运行时数据和性能模型预测最优缓存策略;第二,将新数据加入性能数据仓库中;第三,周期性地加载更新后的性能模型。决策执行模块根据得到的决策结果执行策略切换,并向各节点发送控制指令。
本实施例方法具体流程如下:
1)评价缓存策略。基于上述环境对各缓存策略进行评价,评价的指标为WIPS值(即每秒处理的Web交互次数),测试时间为180秒,WIPS值由Bench4Q Tool提供。评价结果如表4所示,其中▲表示两种缓存策略性能表现差别在5%以内,认为该情况下两种缓存策略均为最优。由该表可知,最优缓存策略与集群规模、用户并发量和负载模式相关,即这三个要素均为影响缓存策略性能表现的场景要素。
表4不同场景要素下的最优缓存策略
Figure BDA0000069853490000102
●表示全复制策略  ■表示分区策略  ▲表示全复制策略或分区策略
2)训练数据的收集围绕负载模式、用户并发量和集群规模三个场景要素展开。负载模式为浏览、购物和订购三种模式;用户并发规模设为0-700,其中每100作为一个区间,每个区间随机选取10个用户并发数;集群规模设为1-9。每组实验三种缓存策略各运行一次,训练时间为300秒,采样周期设为50秒。每组训练数据由三种策略的运行时性能参数值和最优缓存策略分类属性组成,具有最高性能表现的缓存策略代表该组数据的最优策略值。性能监测参数包括读/写比、缓存命中率、cpu利用率、jvm内存利用率、消息暂停率、发送消息成功率、接收消息成功率、消息数、写操作数和读操作数。各参数定义如表5所示。
表5系统监控参数*
Figure BDA0000069853490000111
*Wi表示每个缓存节点的权重,这里使用固定值1/N。
训练数据经数据清洗等预处理流程后,基于等深分箱法执行离散化操作。处于相同负载模式、集群规模和用户并发区间的训练数据分为同一箱。采用信息增益理论评价各性能参数的相关度,得到各参数增益值如下:读操作数(1.211),读/写比(0.476),缓存命中率(0.372),写操作数(0.0729),消息数(0.0664),cpu利用率(0.063),消息暂停率(0.0358),jvm内存利用率(0),发送消息成功率(0),接收消息成功率(0)。本实施例将阈值设为0.1,最终选取读操作数,读/写比和缓存命中率作为性能模型参数。
最优策略作为分类信息与预处理后的训练数据一起作为模型训练的输入,采用Ripper方法训练得到缓存性能模型,性能模型以规则集的形式来表示,见图8。规则1为读操作数设定了一系列阈值,刻画了不需要策略切换的场景。规则2-9刻画了需使用分区策略的场景。规则2,3,4表示当前用户访问模式为订购模式(与浏览和购物模式相比,缓存命中率较低),规则2表示当前缓存策略为分区策略,规则3和4表示当前策略为全复制策略。规则5-9表示当前用户访问模式为浏览模式或购物模式,其中规则9表示当前缓存策略为分区策略,规则5,7,8表示当前策略为全复制策略。如果上述规则均未能满足,则使用全复制策略。需要指出的是,规则集中的规则是存在优先级之分的,如果顺序发生改变,则可能会导致决策错误。
3)缓存策略在线自适应切换。决策模块基于缓存性能模型与在线监测数据决策最优缓存策略,如果当前缓存策略与最优策略不一致,则执行缓存策略自适应切换。为了进一步降低切换开销,本实施例采用基于延迟的自适应切换方法,选取合适的切换时机,当集群中的缓存对象数量低于某一阈值时(本实施例中,阈值设为缓存最大容量的30%),执行策略切换,否则线程休眠,直至等待时间超出设定的阈值(iteration_thre·ω·T,本实施例中,ω涉设为0.1,iteration_thre设为5,T设为540秒),则强制执行策略切换,将新数据加入性能数据仓库中。该过程可表示为图9。
本实施例针对突发性负载变化(Sudden workload spike)场景进行了实验,总运行时间为108分钟。其中0-18分钟用户负载模式为浏览模式,集群节点规模为3,用户并发规模为300-400;19-63分钟用户负载模式为订购模式,集群节点规模为7,用户并发规模为600-700;64-108分钟用户负载模式为购物模式,集群节点规模为1,用户并发规模为100-200。表6显示了上述场景6次运行的实验结果。相比静态缓存策略配置,采用本发明方法取得了更好的性能结果。
表6突发性负载变化实验结果
Figure BDA0000069853490000131
4)执行缓存对象同步。执行缓存策略切换时需要考虑不同缓存策略模型具有不同的数据读写操作定义。当最优缓存策略由全复制策略转为分区策略时,解决方案相对简单,每个缓存节点直接将策略切换为分区策略。由于全复制策略具有最高的数据冗余度,这样运行过程中现有的缓存对象会被逐步替换出缓存。当最优缓存策略由分区策略转为全复制策略时,需要同步服务节点中的缓存对象以完成策略适配。本实施例采用基于组播的缓存对象同步方法完成对象同步。同步前,每个节点标记所有待同步缓存对象,目的是有效区分对象的不同版本,保持同步过程中的数据一致性。同步时,整个缓存集群按节点数分为1-3个簇,其中每3个缓存节点作为一个簇。考虑到簇头的承担的同步任务和负载相对较重,每次执行策略切换时,决策执行模块会基于负载信息动态分配簇头。为了保障同步过程中缓存服务的持续可用性,同步操作全部完成前,每个缓存节点继续使用分区策略服务读数据请求,而使用全复制策略服务写数据请求。同步过程可以表示为图10。
5)更新缓存性能模型。缓存切换规则集遵循一定的schema存储在xml文件中,系统基于性能数据仓库和不断累积的数据集周期性地更新性能模型,生成新的规则集和xml文件,并通知决策模块同步加载。

Claims (12)

1.一种分布式缓存策略自适应切换方法,其步骤包括:
1)基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素;
2)分别在不同场景要素条件下收集各缓存策略的数据集;
3)训练该数据集得到缓存性能模型;
4)基于缓存性能模型与集群环境下的在线监测数据决策最优缓存策略,在当前缓存策略与最优策略不一致时执行缓存策略切换;
其中,基于信息增益方法对所述数据集的各参数进行评价,选取与最优策略选择相关的性能参数作为缓存性能模型的参数;所述缓存性能模型由一组if-then的规则集合表示,每条规则包含一组条件和一个结论,所述条件为所述数据集训练后选取的参数集合及其约束,结论为分类信息,即最优缓存策略。
2.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,通过下述公式计算参数的信息增益,选取信息增益值超过一定阈值的参数作为缓存性能模型的参数:
InfoGain ( A i ) = H ( C ) - H ( C | A i ) = - Σ c ∈ C p ( c ) log 2 p ( c ) + Σ a i ∈ A i p ( a i ) Σ c ∈ C p ( c | a i ) log 2 p ( c | a i ) ; 其中,ai表示参数Ai的不同取值,c表示分类C的不同取值,H(C)表示分类C的熵值,H(C|Ai)表示给定参数Ai条件下的条件熵值,p(c)表示样本属于分类c的概率,p(c|ai)表示给定参数值ai条件下样本属于分类c的概率。
3.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,当集群环境中的缓存对象数量低于某一阈值时,执行缓存策略切换,否则继续等待直至等待时间超出设定的阈值时,执行缓存策略切换。
4.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,在执行缓存策略切换时,将整个缓存集群分为若干蔟,每蔟有1个蔟头节点和若干普通节点组成;首先每簇的普通节点将缓存对象同步到其簇头节点,接下来每簇头节点与其他簇头节点执行同步,得到集群中所有缓存对象的镜像,最后各簇头节点将缓存对象同步到其簇中的每个普通节点。
5.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,按照设定的方法将数值型参数离散化为若干区间,以方便性能模型的训练。
6.如权利要求5所述的分布式缓存策略自适应切换方法,其特征在于,基于等深分箱法离散化数值型参数,将所有数值型参数按照一定的顺序分为K箱,每箱中包含等量的参数。
7.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,基于性能数据仓库和不断累积的数据集周期性地更新所述缓存性能模型。
8.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,采用Ripper方法训练所述数据集得到缓存性能模型。
9.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,所述步骤1)-3)在离线状态下完成,所述步骤4)在在线状态下完成。
10.如权利要求1所述的分布式缓存策略自适应切换方法,其特征在于,所述场景要素选自集群节点规模、负载模式或用户并发数。
11.一种分布式缓存策略自适应切换系统,包括
一收据收集模块,基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素;并且在不同场景要素条件下收集各缓存策略的数据集;
一决策模块,基于缓存性能模型和在线监测数据确定最优缓存策略,并且基于信息增益方法对所述数据集的各参数进行评价,选取与最优策略选择相关的性能参数作为缓存性能模型的参数;其中,所述缓存性能模型由一组if-then的规则集合表示,每条规则包含一组条件和一个结论,所述条件为所述数据集训练后选取的参数集合及其约束,结论为分类信息,即最优缓存策略;
一决策执行模块,在当前缓存策略与最优缓存策略不一致时,将当前缓存策略切换至最优缓存策略。
12.如权利要求11所述的分布式缓存策略自适应切换系统,其特征在于还包括一性能数据仓库,存储新的在线监测数据;决策模块根据新数据定期更新所述缓存性能模型。
CN 201110167018 2011-06-21 2011-06-21 基于机器学习的分布式缓存策略自适应切换方法及系统 Active CN102227121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110167018 CN102227121B (zh) 2011-06-21 2011-06-21 基于机器学习的分布式缓存策略自适应切换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110167018 CN102227121B (zh) 2011-06-21 2011-06-21 基于机器学习的分布式缓存策略自适应切换方法及系统

Publications (2)

Publication Number Publication Date
CN102227121A CN102227121A (zh) 2011-10-26
CN102227121B true CN102227121B (zh) 2013-10-09

Family

ID=44808079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110167018 Active CN102227121B (zh) 2011-06-21 2011-06-21 基于机器学习的分布式缓存策略自适应切换方法及系统

Country Status (1)

Country Link
CN (1) CN102227121B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870248A (zh) * 2014-03-06 2014-06-18 北京神舟航天软件科技有限公司 一种指令集仿真缓冲区动态自适应技术
EP3380993B1 (en) * 2016-02-12 2021-04-07 Google LLC Systems and methods for robust large-scale machine learning
CN105930430B (zh) * 2016-04-19 2020-01-07 北京邮电大学 一种基于非累积属性的实时欺诈检测方法及装置
CN106021126B (zh) * 2016-05-31 2021-06-11 腾讯科技(深圳)有限公司 缓存数据处理方法及服务器、配置设备
CN106325776A (zh) * 2016-08-24 2017-01-11 浪潮(北京)电子信息产业有限公司 一种缓存淘汰策略的实时调整方法及装置
CN113610239B (zh) 2016-09-27 2024-04-12 第四范式(北京)技术有限公司 针对机器学习的特征处理方法及特征处理系统
EP3443508B1 (en) * 2017-03-09 2023-10-04 Huawei Technologies Co., Ltd. Computer system for distributed machine learning
US11049009B2 (en) 2017-06-12 2021-06-29 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
CN108632269B (zh) * 2018-05-02 2020-06-02 南京邮电大学 基于c4.5决策树算法的分布式拒绝服务攻击检测方法
CN108664580A (zh) * 2018-05-04 2018-10-16 西安邮电大学 一种MongoDB数据库中细粒度的负载均衡方法及系统
CN109739516B (zh) * 2018-12-29 2023-06-20 深圳供电局有限公司 一种云缓存的运行方法及系统
US11586979B2 (en) 2018-12-31 2023-02-21 Visa International Service Association System, method, and computer program product for distributed cache data placement
WO2020202850A1 (ja) * 2019-04-01 2020-10-08 株式会社デンソー 情報処理装置
CN110855737B (zh) * 2019-09-24 2020-11-06 中国科学院软件研究所 一种一致性级别可控的自适应数据同步方法和系统
CN110765365B (zh) * 2019-10-25 2023-07-21 国网河南省电力公司信息通信公司 分布式边云协同缓存策略的实现方法、装置、设备和介质
CN111163072B (zh) * 2019-12-24 2022-06-10 五八有限公司 机器学习模型中特征值的确定方法、装置及电子设备
CN111339048A (zh) * 2020-02-28 2020-06-26 京东数字科技控股有限公司 缓存读取量调整方法、装置、电子设备及存储介质
CN111552440B (zh) * 2020-04-26 2023-05-30 全球能源互联网研究院有限公司 一种电力物联网“云-边-端”数据同步方法
CN113704649A (zh) * 2020-05-20 2021-11-26 中国移动通信集团浙江有限公司 资源网站的缓存方法及装置
CN112073239B (zh) * 2020-09-04 2022-04-22 天津大学 一种云计算环境分布式应用性能预测方法
CN112527749B (zh) * 2020-12-11 2023-07-18 平安科技(深圳)有限公司 缓存策略确定方法、装置、计算机设备及可读存储介质
CN113886382A (zh) * 2021-08-23 2022-01-04 阿里云计算有限公司 数据库任务处理方法、设备及存储介质
CN113986121B (zh) * 2021-10-14 2024-08-30 北京师范大学珠海校区 一种数据安全存储与同步更新的自适应阈值调整方法
CN114513408B (zh) * 2022-01-05 2023-10-27 新华三技术有限公司 一种ecn门限配置方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436959A (zh) * 2008-12-18 2009-05-20 中国人民解放军国防科学技术大学 基于后台管控架构的并行仿真任务分发与调度方法
CN101488149A (zh) * 2009-02-19 2009-07-22 上海交通大学 普适环境下情境自适应的移动事务处理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2697965C (en) * 2007-08-31 2018-06-12 Cirba Inc. Method and system for evaluating virtualized environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436959A (zh) * 2008-12-18 2009-05-20 中国人民解放军国防科学技术大学 基于后台管控架构的并行仿真任务分发与调度方法
CN101488149A (zh) * 2009-02-19 2009-07-22 上海交通大学 普适环境下情境自适应的移动事务处理系统

Also Published As

Publication number Publication date
CN102227121A (zh) 2011-10-26

Similar Documents

Publication Publication Date Title
CN102227121B (zh) 基于机器学习的分布式缓存策略自适应切换方法及系统
Jiang et al. Asap: A self-adaptive prediction system for instant cloud resource demand provisioning
CN101013427B (zh) 用于管理数据的方法和系统
Saadat et al. PDDRA: A new pre-fetching based dynamic data replication algorithm in data grids
Ozcan et al. A five-level static cache architecture for web search engines
CN112685170B (zh) 备份策略的动态优化
Xu et al. Cadre: Carbon-aware data replication for geo-diverse services
Tirado et al. Predictive data grouping and placement for cloud-based elastic server infrastructures
Du et al. Scientific workflows in IoT environments: a data placement strategy based on heterogeneous edge-cloud computing
Rahman et al. Replica selection strategies in data grid
US10691692B2 (en) Computer-implemented method of executing a query in a network of data centres
Limam et al. Data replication strategy with satisfaction of availability, performance and tenant budget requirements
CN113822456A (zh) 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法
Mokadem et al. Data replication strategies with performance objective in data grid systems: a survey
Hamdeni et al. Data popularity measurements in distributed systems: Survey and design directions
Azari et al. A data replication algorithm for groups of files in data grids
Noel et al. Towards self-managing cloud storage with reinforcement learning
CN100485640C (zh) 用于企业软件系统的高速缓存
Tenzakhti et al. Replication algorithms for the world-wide web
Alanazi et al. A multi-optimization technique for improvement of Hadoop performance with a dynamic job execution method based on artificial neural network
Li et al. Energy-aware scheduling for spark job based on deep reinforcement learning in cloud
Rahmani et al. Data placement using Dewey Encoding in a hierarchical data grid
Groothuyse et al. GlobeTP: Template-based database replication for scalable web applications
Zhao et al. A weight-based dynamic replica replacement strategy in data grids
Tabet et al. A data replication strategy for document-oriented NoSQL systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191009

Address after: 1611, floor 16, building A2-5, Hanyu Jingu financial and business center, No. 7000, Jingshi Road, high tech Zone, Jinan City, Shandong Province, 250100

Patentee after: Shandong qianyun Information Technology Group Co., Ltd.

Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Patentee before: Institute of Software, Chinese Academy of Sciences

TR01 Transfer of patent right