[发明专利]一种云计算开放平台的调度方法有效
申请号: | 201210128627.6 | 申请日: | 2012-04-27 |
公开(公告)号: | CN102681889A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 唐雪飞;陈科;王威 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 周永宏 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 开放 平台 调度 方法 | ||
1.一种云计算开放平台的调度方法,其特征在于,包括如下步骤:
第一步、中央服务器构造若干并行的多线程,并构造进程池,之后把构造的进程放入进程池;
第二步、注册中央服务器创建并启动守护进程,由主线程初始化全局变量,全局变量至少应该包括信号量,子线程状态集以及结果集,用于进行子线程同步及记录查询记录;
第三步、运行在中央服务器中的负载均衡器初始化通信端口后等待前端web代理服务器进程的连接,当有服务器连接请求到来时,负载均衡器生成一个线程与该服务器通信,负载均衡器继续等待其它服务器的连接请求,当一个新的客户请求服务时,负载均衡器从信息表中选择一个负载最低的即负载权值最大的服务器为其服务;
第四步、中央服务器处理线程池中的请求,并调用应用服务器的服务,根据用户权限调用应用服务器集群的多核并行处理器,完成进程和线程到处理器节点的分配;
第五步、中央服务器收集数据库服务器的数据,处理分布式数据;
第六步、中央服务器调用集群服务,并整合海量数据返回给web代理服务器调用,同时归还当前请求的线程到线程池,继续监听用户的请求并从线程池中调用空闲的线程。
2.根据权利要求1所述的云计算开放平台的调度方法,其特征在于,第一步具体包括如下分步骤:
1)以FORK-JOIN结构为模型创建并发线程模型;
2)将守护线程FORK出来的线程放入线程池,由线程池负责线程的生命周期管理;
3)在多线程并行处理环境下,采用变量mutex为互斥信号量,用于实现多线程环境下的资源访问的同步和互斥;该互斥信号量的工作过程如下:当请求一个使用mutex来表示的资源时,进程先读取mutex的值,以判断相应的资源是否可用;当mutex的值大于0时,表明有资源可以请求;等于0时,表明无可用资源,进程进入睡眠状态直至有可用资源时;当进程不再使用一个信号量控制的共享资源时,mutex的值增1。
3.根据权利要求1所述的云计算开放平台的调度方法,其特征在于,第三步所述的负载均衡器具体的负载均衡策略为:当云计算开放平台的结点初次投入使用时,设定一个初始的权值SW(Ni),随着结点负载的变化,均衡器对权值进行调整,权值由结点运行时各方面的参数动态计算得出,结点Ni的权值用如下式子进行描述:
SW(Ni)=K0*L_CPU(Ni)+K1*L_Memory(Ni)+K2*L_Process(Ni)+K3*L_IO(Ni)+K4*L_Response(Ni)
其中,K0、K1、K2、K3和K4表示常数系数,L_CPU(Ni)为结点Ni的CPU使用率,L_Memory(Ni)为结点Ni的内存使用率,L_Process(Ni)为结点Ni的访问率,L_IO(Ni)为结点Ni的磁盘I/O的占有率、L_Response(Ni)为结点Ni的进程响应时间,L_CPU(Ni)=1-P_CPU(Ni),其中,P_CPU(Ni)表示当前CPU的利用率。
4.根据权利要求1所述的云计算开放平台的调度方法,其特征在于,第四步具体包括如下分步骤:
1)任务分配模型的建立:
设应用服务器集群包含Nnode个处理节点D0,D1,…, 待分配的并行程序有Nproc个进程P0,P1,…, 进程Pi包含Mi个线程T0,T1,…, 并行程序的总线程个数
将待分配的并行程序表示为一个任务关系图,具体为一个无向图G=(V,E),其中V是应用服务器集群中各个应用服务器节点的集合{Vi},节点Vi对应一个二元组<Ti,Pi>;E是无向边的集合{Eij};连接节点Vi和Vj的边Eij∈E,表示线程Ti和Tj间的通信或共享数据,边的权值Wij表示两个线程通信或共享数据的频繁程度;
2)进行两轮操作,第一轮操作完成中央服务器响应进程到集群服务器的分配;第二轮操作完成处理服务器节点内线程到处理器核的分配;每一轮操作包含多次迭代,具体处理过程如下:从输入的初始任务关系图开始,每次选择具有最大权值的边,合并这条边的两个顶点,新生成的节点中所包含的线程个数必须小于等于一个阈值;重复该过程,直到任务关系图中节点的个数等于中央服务器当前线程池中未分配的线程个数;第一、二轮操作使用的阈值分别按以下公式计算:
其中,Thresholdfirst_round表示第一轮操作的处理节点个数的阈值,Threshholdsecond_round表示第二轮操作的复合节点个数的阈值,[]表示上取整运算,Mmax为进程拥有的最多线程数, Ncore为现有的进程数、Max()表示比较传入的参数并取最大值,α是一个百分比值,表示在均衡负载和减少通讯之间进行权衡;具体分为如下分步骤:
2a)对第一轮操作,初始的任务关系图以各服务器个体为单位进行初步的划分,即图中的复合节点数=进程个数,每个复合节点对应一个进程,包含在复合节点内的线程均属于该进程;第一轮操作的结束条件是图中复合节点个数≤Thresholdfirst_round,结束时图中每个复合节点为一个子图,对应一个处理节点,包含在子图中的线程应分配给该处理节点;
2b)对第一轮操作划分出的每个子图都进行第二轮操作,即第二轮操作的初始任务关系图为第一轮操作得到的子图,第二轮操作的结束条件是图中资源池中被调度的进程数≤Threshholdsecond_round,结束时图中每个复合节点对应一个进程,包含在中央服务器中的线程池的线程应分配给该处理器核;
2c)分析请求报文的目标IP地址并据此负载均衡,在服务器的负载平衡情况下将相同目标IP地址的请求调度到同一个节点,具体为:首先找出目标IP地址最近使用的节点,若该服务节点是可用的且没有超载,则由负载均衡服务器将用户请求发送到该服务节点;若服务节点不存在,或该服务节点超载且有服务节点处于其一半的工作负载,则轮询各服务节点选出链接最少的服务节点,并将请求发送到该服务节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210128627.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信号处理器的配置方法及信号处理器
- 下一篇:波纹管隔振性能试验装置与试验方法