1.保证多个延迟关键程序服务质量的缓存划分方法,其特征是,包括:针对多个延迟关键程序,获取每个延迟关键程序单独运行时的性能参数;根据获取的性能参数,计算每个延迟关键程序的性能指标;
根据每个延迟关键程序的性能指标,对每个延迟关键程序进行分类;
当多个延迟关键程序混合执行时,根据延迟关键程序的类型进行缓存分配;
计算缓存分配后多个延迟关键程序混合执行时的松弛度指标,根据松弛度指标,对缓存空间进行动态调整。
2.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,获取每个延迟关键程序单独运行时的性能参数;具体是采用利用perf工具获取的。
3.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,获取每个延迟关键程序单独运行时的性能参数;具体性能参数,包括:指令数、L3缓存命中、L3缓存未命中数或缓存使用大小。
4.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,根据获取的性能参数,计算每个延迟关键程序的性能指标;具体包括:其中,HPKI_LLC表示上每千指令命中数;MPKI_LLC表示LLC上每千指令未命中数。
5.如权利要求4所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,根据每个延迟关键程序的性能指标,对每个延迟关键程序进行分类;具体包括:如果HPKI_LLC<0.3且MPKI_LLC>6,则将延迟关键程序归类为缓存侵略型;
如果HPKI_LLC≥0.6且MPKI_LLC≥0.2,则将延迟关键程序归类为缓存敏感型;
如果HPKI_LLC<0.6且MPKI_LLC<0.2,则将延迟关键程序归类为缓存不敏感型;
对于均不满足上述条件的延迟关键程序,归类为缓存中等型。
6.如权利要求5所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,当多个延迟关键程序混合执行时,根据延迟关键程序的类型进行缓存分配;具体包括:对于缓存侵略型的延迟关键程序,分配10%的缓存空间;
对于缓存敏感型的延迟关键程序,分配40%的缓存空间;
对于缓存不敏感型的延迟关键程序,分配20%的缓存空间;
对于缓存中等型的延迟关键程序,分配30%的缓存空间。
7.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,所述当多个延迟关键程序混合执行时,根据延迟关键程序的类型进行缓存分配步骤之后,所述计算缓存分配后多个延迟关键程序混合执行时的松弛度指标,根据松弛度指标,对缓存空间进行动态调整步骤之前还包括:
利用缓存划分技术将每一个延迟关键程序划分到不同的CLOS中隔离起来。
8.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,计算缓存分配后多个延迟关键程序混合执行时的松弛度指标;具体包括:其中,Tco‑run为多个程序混合执行时的运行时间,Tsolo为程序单独执行时的运行时间,slack表示松弛度指标。
9.如权利要求1所述的保证多个延迟关键程序服务质量的缓存划分方法,其特征是,根据松弛度指标,对缓存空间进行动态调整;具体包括:(1):若某个延迟关键程序的松弛度指标slack<0.1,即性能违反情况较轻,则减少一路当前延迟关键程序所占的缓存空间,并将该缓存空间分配给slack>0.3,即性能违反情况较重的延迟关键程序;
若减少一路缓存空间后该延迟关键程序的松弛度指标slack<0.3,则继续减少该程序所占的缓存空间,并将缓存空间分配给slack>0.3的程序;若修改缓存空间后该程序的slack>0.3,则还原上一步的缓存修改操作;
(2):若某个延迟关键程序的松弛度指标slack>0.3,表示该程序由于缺少缓存空间,性能违反严重,则增加当前延迟关键程序的缓存的空间;
首先,监控是否还有未分配的缓存资源:若有,则增加1路当前延迟关键程序所占的缓存空间,并重新执行(2);
若没有,则判断是否有slack<0.1的程序,若有该类程序,则执行(1),若没有slack<0.1的程序,则进行程序迁移;
(3)若当前所有延迟关键程序的松弛度指标slack都大于0.3,则减少协同运行的延迟关键程序的数量,根据实际情况数量选择1或2。
10.保证多个延迟关键程序服务质量的缓存划分系统,其特征是,包括:获取模块,其被配置为:针对多个延迟关键程序,获取每个延迟关键程序单独运行时的性能参数;根据获取的性能参数,计算每个延迟关键程序的性能指标;
分类模块,其被配置为:根据每个延迟关键程序的性能指标,对每个延迟关键程序进行分类;
分配模块,其被配置为:当多个延迟关键程序混合执行时,根据延迟关键程序的类型进行缓存分配;
调整模块,其被配置为:计算缓存分配后多个延迟关键程序混合执行时的松弛度指标,根据松弛度指标,对缓存空间进行动态调整。