System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于密码工程,具体涉及一种高性能虚拟密码机运行方法。
技术介绍
1、近年来,随着纳米工艺、soc技术的快速发展,密码安全芯片的性能突飞猛进,单芯片加密速率已经高达40gbps。随着云计算技术的普及,云上密码应运而生,为充分发挥超高速密码芯片的性能,密码芯片制造商开始基于sr-iov技术提供多路并行的虚拟化pci-e密码卡的能力,下游密码厂商在此基础上构建容器化的虚拟密码机,为租户/业务系统提供云上密码服务。例如现有技术cn108228316a就公开了一种密码设备虚拟化的方法及设备。而为了满足云计算、大数据、人工智能等需要高性能、高可靠密码运算需求应运而生的云密码机设备,往往具有较高的硬件配置参数,如多核心cpu、多插槽内存条、基于sr-iov虚拟化的超高速pci-e密码卡等。然而,致力于为云租户提供按需供给、弹性分配、动态扩容的云密码服务平台,一般都是将cpu、内存、vf等底层资源随机分配给虚拟密码机,具体处理机制由容器运行时根据当前资源使用状况进行动态调度、分配。
2、在linux下,control groups控制组提供了对cpu、内存等资源的控制机制,允许对某一进程,或者一组进程所用到的资源进行分配,保证其正常、平稳的运行。而容器化技术,就是在建立在这种底层机制上进行实现的。目前,几乎所有使用容器实现虚拟密码机来为租户/业务系统提供云密码服务的厂商都是采用的这种技术路线。现有技术cn105243321a公开了一种基于容器虚拟化技术的密码机、实现及工作方法,通过vhsm 管理模块将 vhsm镜像解压并安
3、这种完全依赖linux cgroups内核机制的方式虽然使用方便、实现简单,也基本能满足大部分租户/业务系统的密码运算需求,但在高并发、低延迟和高吞吐量的并行计算场景下,将会造成资源抢占、性能干扰和嘈杂的邻居问题。此外,这种粗粒度的资源分配方式,并不能充分发挥出超高速密码芯片的性能而造成密码计算资源浪费问题。
4、因此,如何克服现有技术的缺陷,成为本
亟待解决的课题。
技术实现思路
1、为克服上述现有技术的不足,本专利技术提供了一种高性能虚拟密码机运行方法,具体采用如下技术方案:
2、一种高性能虚拟密码机运行方法,所述方法包括下列步骤:
3、s1.获取物理机上的资源信息, 为虚拟密码机计算最佳提示信息并存储该最佳提示信息;
4、s2.配置虚拟密码机的cpu亲和性策略;
5、s3.配置虚拟密码机的可保证的内存策略;
6、s4.为虚拟密码机寻找满足内存请求大小的单个numa节点作为目标numa节点;
7、s5.判断所述作为目标numa节点的所述单个numa节点是否满足虚拟密码机请求的内存空间大小,如果是,执行步骤s7,如果否,执行步骤s6;
8、s6.为虚拟密码机寻找一组numa节点作为目标numa节点,然后执行步骤s7;
9、s7.为虚拟密码机配置vf设备分配策略;
10、s8.根据虚拟密码机配置的具体策略,做出与拓扑结构相对应的资源分配决定,得出最优解。
11、进一步,所述步骤s1中的所述资源信息包括物理机的cpu拓扑结构信息、numa节点信息、vf设备发布信息;所述最佳提示信息包括目标cpu、目标numa节点、目标vf设备。
12、进一步,所述步骤s2具体包括:
13、s21.获取所述最佳提示信息;
14、s22.判断cpu共享池是否满足虚拟密码机cpu资源分配请求,如果是,进行步骤s213,如果否,将判断结果设置为false,并结束此流程,直接执行步骤s8;
15、s23.结合最佳提示信息为虚拟密码机对请求的cpu资源执行numa节点对齐操作,并更新所述最佳提示信息。
16、进一步,所述步骤s22与步骤s23之间,包括下列步骤:
17、s231.判断虚拟密码机cpu资源请求值是否为整数型,如果是,执行步骤s232;如果否,进行步骤s23;
18、s232.判断cpu共享池中是否存在满足条件的整数型cpu资源,如果是,则为目标虚拟密码机分配物理机上的独占cpu资源,相应的cpu会被从cpu共享池中移除,然后执行步骤s23,如果否,直接执行步骤s23。
19、进一步,所述步骤s3具体包括:
20、s31.启动物理机,计算内存策略提示信息,包括初始化每个numa节点的内存资源信息,从而生成可供使用的内存映射对象,并对其进行分组;
21、s32.为虚拟密码机计算numa节点亲和性,即判断单个numa节点上的可分配内存容量是否满足虚拟密码机的内存资源分配请求,如果是,执行步骤s33;如果否,执行步骤s34;
22、s33.结合内存策略提示信息为虚拟密码机对请求的内存资源分配满足条件的单个numa节点,并更新内存策略提示信息;
23、s34.结合内存策略提示信息为虚拟密码机对请求的内存资源分配满足条件的一组numa节点,并更新内存策略提示信息。
24、进一步,所述步骤s6具体包括:
25、s61.获取所述最佳提示信息;
26、s62.确定虚拟密码机分配内存的具体numa节点,所述具体numa节点至少为两个;
27、s63.结合所述最佳提示信息为虚拟密码机对请求的内存资源执行分组操作,并更新所述最佳提示信息;
28、s64.更新cpuset.mems;
29、s65.使用内核默认的numa内存策略,即从固定cpu的numa节点分配内存;
30、s66.将cpu固定到第一个numa节点;
31、s67.判断内存从所述第一个numa节点开始被完全消耗,继续执行步骤s68;
32、s68.虚拟密码机开始消耗第二个numa节点的内存。
33、进一步,所述步骤s7具体包括:
34、s71.获取步骤s6中更新的最佳提示信息;
35、s72.判断vf资源配置映射是否满足虚拟密码机vf资源分配请求,如果是,执行步骤s73,如果否,本文档来自技高网...
【技术保护点】
1.一种高性能虚拟密码机运行方法,其特征在于,所述方法包括下列步骤:
2.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S1中的所述资源信息包括物理机的CPU拓扑结构信息、NUMA节点信息、VF设备发布信息;所述最佳提示信息包括目标CPU、目标NUMA节点、目标VF设备。
3.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S2具体包括:
4.根据权利要求3所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S22与步骤S23之间,包括下列步骤:
5.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S3具体包括:
6.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S6具体包括:
7.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S7具体包括:
8.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤S8具体包括:
【技术特征摘要】
1.一种高性能虚拟密码机运行方法,其特征在于,所述方法包括下列步骤:
2.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤s1中的所述资源信息包括物理机的cpu拓扑结构信息、numa节点信息、vf设备发布信息;所述最佳提示信息包括目标cpu、目标numa节点、目标vf设备。
3.根据权利要求1所述的一种高性能虚拟密码机运行方法,其特征在于,所述步骤s2具体包括:
4.根据权利要求3所述的一种高性能虚拟密码机运行...
【专利技术属性】
技术研发人员:刘歆,李超,王天顺,杨建平,范明,邹天宇,王昭阳,
申请(专利权)人:中安网脉北京技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。