【技术实现步骤摘要】
一种云计算方法
本专利技术涉及云计算
,尤其涉及一种基于Erlang虚拟机和Linux容器技术的云计算方法。
技术介绍
CGroup技术是ControlGroups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(processgroups)所使用的物理资源(如cpu内存I/O等等)的机制。CGroup技术不是全新创造的,它将进程管理从cpuset中剥离出来,CGroup也是Linux容器(LXC)为实现虚拟化所使用的资源管理手段。CGroup本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O或内存的分配控制等具体的资源管理功能是通过这个功能来实现的。这些具体的资源管理功能称为CGroup子系统或控制器。CGroup子系统有控制内存的Memory控制器、控制进程调度的CPU控制器等。运行中的内核可以使用的CGroup子系统由代码.../proc/cgroup来确认。任务(task):CGroup的术语中,任务就表示系统的一个进程。控制组(cgroup):CGroup中的资源控制都以控制组为单位实现。控制组表示按某种资源控制标准划分而成的 ...
【技术保护点】
一种云计算方法,其特征在于,所述方法包括下述步骤:S1:每个Linux容器系统创建一个CGroup层级,每个Erlang虚拟机进程对应一个所述CGroup层级,通过CGroup技术提供的子系统对所述CGroup层级下的每个CGroup子节点分配物理资源权重Wn;S2:将所述CGroup层级下的每个所述CGroup子节点与同一所述CGroup层级对应的Erlang虚拟机的进程调度者一对一映射,使得所述进程调度者对进程任务的调度受到对应的CGroup子节点的物理资源分配的限制;S3:修改所述Erlang虚拟机的任务迁移机制,使所述进程调度者中的空闲和低负载部分得到利用,使所述进 ...
【技术特征摘要】
1.一种云计算方法,其特征在于,所述方法包括下述步骤:S1:每个Linux容器系统创建一个CGroup层级,每个Erlang虚拟机进程对应一个所述CGroup层级,通过CGroup技术提供的子系统对所述CGroup层级下的每个CGroup子节点分配物理资源权重Wn;S2:将所述CGroup层级下的每个所述CGroup子节点与同一所述CGroup层级对应的Erlang虚拟机的进程调度者一对一映射,使得所述进程调度者对进程任务的调度受到对应的CGroup子节点的物理资源分配的限制;S3:修改所述Erlang虚拟机的任务迁移机制,使所述进程调度者中的空闲和低负载部分得到利用,使所述进程调度者中的满载部分不分配进程任务。2.如权利要求1所述的方法,其特征在于,所述步骤S3包括下述子步骤:S31:所述容器系统以一定频率测量所述进程调度者可运行的最大进程数M,将所述最大进程数M乘以每个进程调度者对应的CGroup子节点的物理资源分配权重Wn,得到所述进程调度者应承担的进程任务数Tn;S32:根据所得进程任务数Tn和所述进程调度者的实时运行进程数,检查所述进程调度者的状态;当所述进程调度者所有任务运行结束时或进程调度者的实时运行进程数小于某个阈值Tx(Tx<Tn)时,所述进程调度者经由如下方式中的至少一种迁入路径,从其它进程调度者的运行队列中迁入一个或多个进程任务,包括从第一相邻的进程调度者迁入,随机从一个运行队列不为空的进程调度者迁入,随机从实时运行进程数大于某个阈值Ty(Tx<Ty<Tn)的进程调度者迁入,步骤结束;否则执行步骤S33;S33:当所述进程调度者被分配新进程时,检查被分配的所述进程调度者的实时运行进程数是否已经大于或等于它所对应承担的最大任务数Tn,如果不大于且不等于则迁入所述新进程;否则经...
【专利技术属性】
技术研发人员:犹杰,
申请(专利权)人:深圳大数点科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。