一种系统服务动态部署方法及装置的制造方法

文档序号:8512496阅读:266来源:国知局
一种系统服务动态部署方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种系统服务动态部署方法及装置。
【背景技术】
[0002]随着科技的发展,多内核操作系统已经成为一种主流的操作系统架构。它是由多个内核(微内核或运行时系统)构成,在单个或多个物理核上部署一个内核,并集成这些内核向上层提供单一系统映像的操作系统。其中,每个内核主要包括硬件资源访问和消息转发等功能。
[0003]对于多内核操作系统,尤其是数据中心应用的多内核操作系统,由于数据中心应用的特点,决定了其对多内核操作系统的需求特点:高负载,并行化,负载动态变化,以及应用特征切换频繁等特征。由于数据中心中的应用特征因程序而异,程序可能同时具备如下特点的一种或多种,又或者在这多种特征之间切换:a)高并发,任务之间交互少;b)高数据密集;c)高CPU计算;4)高资源需求(存储、I/O、网络等)。这就需要操作系统充分利用硬件资源并合理调度应用程序,满足程序的多样化需求,细粒度的将任务调配到适合其运行的硬件上,在任务的运行过程中动态调整资源分配。
[0004]现有的多内核操作系统主要基于硬件信息和应用运行时需要对资源进行时空复用,典型的如应用二级或多级调度,从而保证应用分配到合适的运行环境中。应用执行过程中,操作系统通过动态调度策略来实时改变时空资源分配,从而保证应用的执行环境。然而,这种以服务为中心的应用多级调度策略,虽然解决了应用不同特性对不同硬件资源环境的需求,但是仍然存在许多问题。例如,没有为不同应用定制系统服务环境,造成未知应用部署困难;服务出现瓶颈时,应用性能下降;应用执行时进行进程或线程迁移的调度开销等。而现有技术都不能很好地解决类似问题。

【发明内容】

[0005]本发明的实施例提供一种系统服务动态部署方法及装置,能够检测当前应用的执行状态,实现多内核操作系统中系统服务动态负载均衡,细粒度的将任务调配到适合其运行的硬件上,在任务的运行过程中动态调整资源分配。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供一种系统服务动态部署方法,包括:
[0008]获取系统服务内核及应用内核的检测信息,所述检测信息包括所述系统服务内核的当前执行状态信息、所述应用内核的当前执行状态信息以及当前应用的拓扑位置数据;
[0009]根据所述检测信息,采用预设方案,获得对应于当前应用的最优拓扑方案,所述最优拓扑方案用于指示所述当前应用的系统服务内核和/或应用内核的执行交互路径;
[0010]根据所述最优拓扑方案,调整执行所述当前应用的系统服务内核和/或应用内核。
[0011]在第一方面的第一种可能的实现方式中,所述获取系统服务内核及应用内核的检测信息,包括:
[0012]记录当前应用的执行状态数据、当前应用的执行状态数据以及当前应用的拓扑位置数据。
[0013]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述当前应用的执行状态数据包括:当前1请求频率,内存读写请求,以及服务请求处理时间,服务访问路径;
[0014]所述当前应用的执行状态数据包括:线程创建频率,线程执行状态,线程通信频率常规执行信息;
[0015]所述当前应用的拓扑位置数据包括:内核拓扑位置,服务获取路径,IPI通信时间和服务响应时间。
[0016]在第一方面的第三种可能的实现方式中,所述根据所述检测信息,采用预设方案,获得对应于当前应用的最优拓扑方案,所述最优拓扑方案用于指示执行所述当前应用的系统服务内核和/或应用内核,包括:
[0017]所述管理内核根据所述检测信息进行分析计算,获得当前所有应用的实时的理想拓扑方案,所述理想拓扑方案用于指示执行所述当前应用的系统服务内核和/或应用内核;
[0018]确定所述理想拓扑方案所指示的满足预设条件的系统服务内核和/或应用内核;
[0019]所述管理内核根据满足预设条件的系统服务内核和/或应用内核以及所述检测信息,获得当前应用的最优拓扑方案,所述最优拓扑方案为执行当前应用开销时间最小化的拓扑位置关系和/或执行当前应用开销占有资源最小化的应用服务拓扑位置关系。
[0020]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述确定所述理想拓扑方案所指示的满足预设条件的系统服务内核和/或应用内核,包括:
[0021]计算若执行所述理想拓扑方案,相应的系统服务内核和/或应用内核所需的执行代价信息,所述执行代价信息用于指示相应的系统服务内核和/或应用内核执行所述理想拓扑方案时的所需的调整代价;
[0022]若所述执行代价信息大于预设值,则确定相应的系统服务内核和/或应用内核为所述满足预设条件的系统服务内核和/或应用内核。
[0023]结合第一方面的第三种或第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述执行代价信息可以包括服务迁移操作次数、内核服务副本数量、获取服务的路径长度、获取服务的中转次数中的一个或者多个,
[0024]其中,所述服务迁移操作次数为执行所述理想拓扑方案所需迁移的系统服务内核和/或应用内核的次数;
[0025]所述内核服务副本数量为执行所述理想拓扑方案所需要建立或备份的系统服务内核和/或应用内核的个数;
[0026]所述获取服务的路径长度为执行所述理想拓扑方案后应用内核获取指定服务所需要经过的硬件拓扑长度;
[0027]所述获取服务的中转次数为执行所述理想拓扑方案后应用内核获取指定服务需要经过中转系统服务内核的次数。
[0028]结合第一方面的第三种至第五种中任一项可能的实现方式,在第一方面的第六种可能的实现方式中,若所述相应的系统服务内核和/或应用内核所需的执行代价信息只包含所述服务迁移操作次数、内核服务副本数量、获取服务的路径长度、获取服务的中转次数中的多个,则调用对应的权重分配确定所述执行代价信息;
[0029]若所述相应的系统服务内核和/或应用内核所需的执行代价信息只包含所述服务迁移操作次数、内核服务副本数量、获取服务的路径长度、获取服务的中转次数中的一个,则直接计算所述执行代价信息。
[0030]结合第一方面的第三种至第六种中任一项可能的实现方式,在第一方面的第七种可能的实现方式中,所述管理内核根据所述检测信息进行分析计算,获得当前所有应用的实时的理想拓扑方案,包括:
[0031]初始化应用内核的系统服务表;
[0032]计算最小拓扑负载比,所述最小拓扑负载比为核间拓扑距离与负载阈值和当前负载的差值的比值;
[0033]将所述最小拓扑负载比的服务内核的优先级置为最大,以使得应用内核根据最大优先级选取服务内核进行服务请求;
[0034]获取每个应用对应的N个不同服务内核拓扑位置的优先级,并从大到小排序;
[0035]根据N个不同服务内核拓扑位置的优先级排序结果,获得当前所有应用对应的实时理想拓扑。
[0036]结合前述的第一方面以及第一方面的第一种至第七种中任一项可能的实现方式,在第一方面的第八种可能的实现方式中,在根据所述检测信息,采用预设方案,获得对应于当前应用的最优拓扑方案,所述最优拓扑方案用于指示执行所述当前应用的系统服务内核和/或应用内核之后,包括:
[0037]所述管理内核将最优拓扑方案所对应的服务优先级以及所述检测信息写入全局服务优先级表,以使得应用内核根据所述全局服务优先级执行当前应用。
[0038]在第一方面的第九种可能的实现方式中,所述方法还包括:
[0039]所述管理内核允许主动申请进行动态调整机制;
[0040]其中,所述主动申请进行动态调整机制包括主动资源释放和主动资源申请。
[0041]结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述主动申请进行动态调整机制包括主动资源释放和主动资源申请包括:
[0042]若当前应用服务请求数小于同种服务平均请求处理门限值时,所述管理内核将服务请求转发到其他系统服务内核,直到空闲,并且由所述管理内核释放资源或加载其他系统服务模块;
[0043]若当前应用服务请求数远大于通知服务平均请求处理门限值,且周期时间内所述管理内核未接收到全局服务调整操作时,对应的系统服务内核主动发送调整系统服务内核请求到所述管理内核,所述管理内核调度模块根据接受请求、所述检测信息决定接受或驳回请求。
[0044]在第一方面的第十一种可能的实现方式中,在根据所述最优拓扑方案,调整执行所述当前应用的系统服务内核和/或应用内核之后,还包括:
[0045]所述管理内核更新全局服务优先级表,指示下一次系统服务部署的优先级排序。
[0046]第二方面,本发明实施例提供了一种系统服务动态部署的装置,包括:
[0047]获取单元,用于获取系统服务内核及应用内核的检测信息,所述检测信息包括所述系统服务内核的当前执行状态信息、所述应用内核的当前执行状态信息以及当前应用的拓扑位置数据;
[0048]优化单元,用于根据所述检测信息,采用预设方案,获得对应于当前应用的最优拓扑方案,所述最优拓扑方案用于指示所述当前应用的系统服务内核和/或应用内核的执行交互路径;
[0049]执行单元,用于根据所述最优拓扑方案,调整执行所述当前应用的系统服务内核和/或应用内核。
[0050]在第二方面的第一种可能的实现方式中,所述获取单元,用于记录当前应用的执行状态数据、当前应用的执行状态数据以及当前应用的拓扑位置数据。
[0051]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述当前应用的执行状态数据包括:当前1请求频率,内存读写请求,以及服务请求处理时间,服务访问路径;
[0052]所述当前应用的执行状态数据包括:线程创建频率,线程执行状态,线程通信频率常规执行信息;
[0053]所述当前应用的拓扑位置数据包括:内核拓扑位置,服务获取路径,IPI通信时间和服务响应时间。
[0054]在第二方面的第三种可能的实现方式中,所述优化单元包括:
[0055]计算单元,用于所述管理内核根据所述检测信息进行分析计算,获得当前所有应用的实时的理想拓扑方案,所述理想拓扑方案用于指示执行所述当前应用的系统服务内核和/或应用内核;
[0056]判断单元,用于确定所述理想拓扑方案所指示的满足预设条件的系统服务内核和/或应用内核;
[0057]配置单元,用于所述管理内核根据满足预设条件的系统服务内核和/或应用内核以及所述检测信息,获得当前应用的最优拓扑方案,所述最优拓扑方案为执行当前应用开销时间最小化的拓扑位置关系和/或执行当前应用开销占有资源最小化的应用服务拓扑位置关系。
[0058]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述判断单元,具体用于计算若执行所述理想拓扑方案,相应的系统服务内核和/或应用内核所需的执行代价信息,所述执行代价信息用于指示相应的系统服务内核和/或应用内核执行所述理想拓扑方案时的所需的调整代价;以及若所述执行代价信息大于预设值,则确定相应的系统服务内核和/或应用内核为所述满足预设条件的系
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1