CN109101320B - 异构处理器平台融合管理系统 - Google Patents

异构处理器平台融合管理系统 Download PDF

Info

Publication number
CN109101320B
CN109101320B CN201810894928.7A CN201810894928A CN109101320B CN 109101320 B CN109101320 B CN 109101320B CN 201810894928 A CN201810894928 A CN 201810894928A CN 109101320 B CN109101320 B CN 109101320B
Authority
CN
China
Prior art keywords
container
node
information
management
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810894928.7A
Other languages
English (en)
Other versions
CN109101320A (zh
Inventor
付琨
李新明
刘斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Edge Intelligence Of Cas Co ltd
Original Assignee
Edge Intelligence Of Cas Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Edge Intelligence Of Cas Co ltd filed Critical Edge Intelligence Of Cas Co ltd
Priority to CN201810894928.7A priority Critical patent/CN109101320B/zh
Publication of CN109101320A publication Critical patent/CN109101320A/zh
Application granted granted Critical
Publication of CN109101320B publication Critical patent/CN109101320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Abstract

一种异构处理器平台融合管理系统,包括平台信息采集单元、容器管理单元、容器动态迁移单元和融合单元,其中:平台信息采集单元用于对所在的节点进行信息采集;容器管理单元用于创建容器;容器动态迁移单元用于将原节点的容器迁移到目的节点;融合单元用于对待迁移容器进行融合管理。通过本发明,能够统一资源管理与调度,为用户屏蔽了不同硬件架构的差异,实现异构国产化处理器平台的融合管理。

Description

异构处理器平台融合管理系统
技术领域
本发明涉及一种计算机系统,尤其是涉及异构处理器平台融合管理系统。
背景技术
处理器是计算机的核心,处理器的性能直接决定了服务器的性能高低,当前我国正在大力发展国产化处理器,以打破国外的技术垄断,并已经初步形成量产规模。现有的几款主流的国产化处理器使用了不同的指令集,并各自与不同的国产化操作系统进行深度绑定,从而形成了各自不同的生态圈。
由于历史及发展的原因,现今的主流国产化处理器主要有三类:飞腾、申威、龙芯,这三类国产化处理平台上都存在各自有价值且绑定的业务,这些应用服务彼此之间相互隔离,无法做到跨平台互通,也无法实现异构资源的共享,造成业务使用上的不便。因此,基于国产化处理器平台的应用服务若想实现不同硬件架构的同时兼容,就需要做到对多种异构处理器进行融合管理。要实现异构平台的融合管理,最好的途径就是基于虚拟化技术。虚拟化是通过逻辑的非物理的手段对计算机资源进行表示,从而使这些资源的利用抛开了物理环境的制约,资源的查询和访问可以采用通用方法。该技术通过对计算机资源的抽象模拟,把计算机的硬件资源模拟成虚拟的硬件资源。隔离性、可迁移性以及可整合性是系统虚拟化技术的优势,通过虚拟化技术可以将不同的平台的应用安全可靠的整合到相同的服务器,从而使服务器的利用率大大提高,使运行和维护的成本降低。然而,当前虚拟化手段都是基于同构处理器平台来实现的,无法做到异构处理器平台的统一管理。
针对上述问题,本发明提出了一种异构处理器平台融合管理系统,实现了对异构处理器平台的统一管理。
发明内容
为实现本发明之目的,采用以下技术方案予以实现:
一种异构处理器平台融合管理系统,包括平台信息采集单元容器管理单元、容器动态迁移单元和融合单元,其中:平台信息采集单元用于对所在的节点即原节点进行信息采集;容器管理单元用于创建容器;容器动态迁移单元用于将原节点的容器迁移到目的节点;融合单元用于对被迁移容器进行融合管理。
所述的异构处理器平台融合管理系统,其中:平台信息采集单元对所在的节点进行信息采集,包括从所在节点的系统版本信息文件中读取系统版本信息,从系统硬件信息文件中读硬件信息,并将该节点的所述的系统版本信息和硬件信息作为节点的基本信息保存在共享存储系统中。
所述的异构处理器平台融合管理系统,其中:容器管理单元用于在原节点建立多个相互隔离的容器,所述容器与原节点的操作系统的执行环境相同,所述执行环境包括主机名称、文件系统、网络、设备、安全措施以及系统资源。
所述的异构处理器平台融合管理系统,其中:容器管理单元还用于对容器资源进行管理。
所述的异构处理器平台融合管理系统,其中容器的资源管理包括对CPU、内存、网络三种类型资源的管理。
所述的异构处理器平台融合管理系统,其中:当容器管理单元建立容器并启动容器后,容器管理单元周期性地监测容器的运行情况,如果某容器中的较多资源处于空闲状态,则回收部分资源;如果某容器中各类资源使用率一直维持在较高水平,则不改变其资源分配;如果容器中某类资源一直被耗尽,则为其补充部分该类资源。
所述的异构处理器平台融合管理系统,其中:设内存、CPU、网络资源的空闲使用阈值为50%,当容器管理单元在预定时间段内监测到某容器对某项或多项资源的使用率等于或低于50%,则容器管理单元回收该容器的已分配的该项或该多项资源的一部分;如果在该时间段内监测到该容器对所有资源的使用率均大于50%且小于100%,则维持对该容器的资源分配不变;如果在该时间段内监测到该容器对某项或多项资源的使用率等于100%,则容器管理单元增加对该容器的该项或该多项资源的资源分配。
所述的异构处理器平台融合管理系统,其中:设节点分配给所有容器的内存、CPU、网络总量分别为:Mp、Cp、Np,节点上运行了x个容器,系统分配给第i个容器的内存、CPU、网络的资源总量分别为mai,cai,nai;当前该容器对各项资源的使用量分别为mui,cui,nui;则该容器的各项资源使用率分别为:
Figure BDA0001757887850000041
该容器的综合负载指数设为Ai,则Ai=Mmi+Cci+Nni,其中M、C、N分别为内存、CPU、网络的负载系数;该节点上所有容器的内存、CPU、网络资源的使用率均值分别为:
Figure BDA0001757887850000042
Figure BDA0001757887850000043
Figure BDA0001757887850000044
该节点上所有容器的综合负载指数为:
A=MAm+CAc+NAn (公式2)
该节点上内存、CPU、网络的空闲资源比率分别为:
Figure BDA0001757887850000045
Figure BDA0001757887850000046
Figure BDA0001757887850000047
其中Mp、Cp、Np分别代表该节点划分给平台使用的内存、CPU、网络总量。
所述的异构处理器平台融合管理系统,其中:在容器负载升高的初始阶段,容器管理单元会进行资源的重新调配;如果节点内的可用资源都耗尽后,该节点依然存在多个负载较高的容器,则资源管理单元通知容器迁移单元迁移容器到其他负载较低的节点上。
所述的异构处理器平台融合管理系统,其中:定义容器的资源使用率阈值为Q;定义节点的资源空闲率阈值为P;容器管理单元对节点上的容器资源进行如下的管理:
(1)每隔预定时间使用公式1统计本节点上所有容器的资源使用率;
(2)计算本节点上容器的综合负载指数Ai
(3)使用公式3统计本节点当前各类资源的空闲率Im、Ic、In
(4)对容器依次按照如下步骤进行处理:
a.取综合负载指数最高的容器,获得该容器的各项资源使用率mi、ci、ni
b.根据各类型资源的负载系数的大小进行排列;
c.如果该容器的CPU使用率超过阈值Q,且该容器所在节点上的CPU空闲率Ic超过阈值P,则为该容器补增CPU资源;
d.如果该容器的内存使用率超过阈值Q,且该容器所在节点上的内存空闲率Im超过阈值P,则为该容器补增内存资源;
e.如果该容器的网络使用率超过阈值Q,且该容器所在节点上的网络空闲率In超过阈值P,则为该容器补增网络资源;
f.如果该节点上的各类资源空闲率均低于阈值P,则退出步骤4。
所述的异构处理器平台融合管理系统,其中步骤4后还包括步骤5:
检查本节点,如果该节点上依然有容器的资源使用率高于阈值Q,则标记该节点为繁忙节点;如果该节点上所有容器的各类资源使用率均低于阈值Q,且该节点上存在一种或多种类型的资源空闲率高于阈值P,则标记该节点为空闲节点。
所述的异构处理器平台融合管理系统,其中:
容器管理单元计算所有繁忙节点的综合负载指数A,并按照该指数由高到低对节点进行排序;计算所有空闲节点的资源平均空闲率,并按照该值由高到低进行排序;重复如下步骤:
a.从综合负载指数最高的节点中取出最高负载容器,将该容器迁移到资源平均空闲率最高的空闲节点中;
b.待容器迁移结束后,重新标记各个节点的类型。
所述的异构处理器平台融合管理系统,其中:在进行容器迁移时,容器动态迁移单元将原节点的待迁移容器状态信息及容器内的进程信息保存在共享存储系统上并关闭该容器,然后向目的节点的异构处理器融合管理系统发送容器恢复命令。
所述的异构处理器平台融合管理系统,其中:目的节点的异构处理器融合管理系统在接收到原节点的容器恢复指令后,融合单元启动工作,首先进行平台架构比较:读取共享存储系统中存储的原节点的基本信息,与目的节点的基本信息进行比较,如果发现原节点和目的节点属于同构平台,则从共享存储系统上读取待迁移容器状态信息及容器内的进程信息,并将该信息发送给容器管理单元,容器管理单元直接在目的节点重建并启动该容器。
所述的异构处理器平台融合管理系统,其中:如果融合单元发现源节点和目的节点属于异构平台,则在共享存储系统上读取待迁移容器状态信息和容器内进程的相关信息,并对这些信息进行编码转换,编码转换结束后,融合单元将转换后的编码信息发送给目的节点的容器管理单元,容器管理单元在目的节点重建并启动该容器。
所述的异构处理器平台融合管理系统,其中:目的容器管理单元在重建并启动原节点容器时,先要进行容器的预启动,即锁定该容器,暂停该容器的对外服务,当到达预定的暂停时间后,解除对容器的锁定,开放该容器的对外服务,容器进入正常运行状态。
所述的异构处理器平台融合管理系统,其中:设迁移的容器在原节点的停止时间为Ts,目标节点的磁盘读速度为R,容器文件总大小为S,则容器预启动后的暂停时间Tp=Ts+S/(mR),其中m是暂停时间系数。
所述的异构处理器平台融合管理系统,其中:融合单元在共享存储系统上读取待迁移容器状态信息和容器内进程的相关信息时,首先在本地节点检查是否保存有上述信息,如果有则直接从本地节点读取该信息。
所述的异构处理器平台融合管理系统,其中节点的平台架构包括飞腾、申威、龙芯。
一种异构处理器平台融合管理方法,包括:当容器管理单元建立容器并启动容器后,容器管理单元周期性地监测容器的运行情况,如果某容器中的较多资源处于空闲状态,则回收部分资源;如果某容器中各类资源使用率一直维持在较高水平,则不改变其资源分配;如果容器中某类资源一直被耗尽,则为其补充部分该类资源
一种异构处理器平台融合管理方法,包括:容器管理单元周期性地监测节点上容器的运行情况,如果某容器中的较多资源处于空闲状态,则回收部分资源;如果某容器中各类资源使用率一直维持在较高水平,则不改变其资源分配;如果容器中某类资源一直被耗尽,则为其补充部分该类资源;
设内存、CPU、网络资源的空闲使用阈值为50%,当容器管理单元在预定时间段内监测到某容器对某项或多项资源的使用率等于或低于50%,则容器管理单元回收该容器的已分配的该项或该多项资源的一部分;如果在该时间段内监测到该容器对所有资源的使用率均大于50%且小于100%,则维持对该容器的资源分配不变;如果在该时间段内监测到该容器对某项或多项资源的使用率等于100%,则容器管理单元增加对该容器的该项或该多项资源的资源分配。
所述的异构处理器平台融合管理方法,其中:设节点分配给所有容器的内存、CPU、网络总量分别为:Mp、Cp、Np,节点上运行了x个容器,系统分配给第i个容器的内存、CPU、网络的资源总量分别为mai,cai,nai;当前该容器对各项资源的使用量分别为mui,cui,nui;则该容器的各项资源使用率分别为:
Figure BDA0001757887850000081
该容器的综合负载指数设为Ai,则Ai=Mmi+Cci+Nni,其中M、C、N分别为内存、CPU、网络的负载系数;该节点上所有容器的内存、CPU、网络资源的使用率均值分别为:
Figure BDA0001757887850000091
Figure BDA0001757887850000092
Figure BDA0001757887850000093
该节点上所有容器的综合负载指数为:
A=MAm+CAc+NAn (公式2)
该节点上内存、CPU、网络的空闲资源比率分别为:
Figure BDA0001757887850000094
Figure BDA0001757887850000095
Figure BDA0001757887850000096
其中Mp、Cp、Np分别代表该节点划分给平台使用的内存、CPU、网络总量。
所述的异构处理器平台融合管理方法,其中:在容器负载升高的初始阶段,容器管理单元会进行资源的重新调配;如果节点内的可用资源都耗尽后,该节点依然存在多个负载较高的容器,则资源管理单元通知容器迁移单元迁移容器到其他负载较低的节点上。
所述的异构处理器平台融合管理方法,其中:定义容器的资源使用率阈值为Q;定义节点的资源空闲率阈值为P;容器管理单元对节点上的容器资源进行如下的管理:
(1)每隔预定时间使用公式1统计本节点上所有容器的资源使用率;
(2)计算本节点上容器的综合负载指数Ai
(3)使用公式3统计本节点当前各类资源的空闲率Im、Ic、In
(4)对容器依次按照如下步骤进行处理:
a.取综合负载指数最高的容器,获得该容器的各项资源使用率mi、ci、ni
b.根据各类型资源的负载系数的大小进行排列;
c.如果该容器的CPU使用率超过阈值Q,且该容器所在节点上的CPU空闲率Ic超过阈值P,则为该容器补增CPU资源;
d.如果该容器的内存使用率超过阈值Q,且该容器所在节点上的内存空闲率Im超过阈值P,则为该容器补增内存资源;
e.如果该容器的网络使用率超过阈值Q,且该容器所在节点上的网络空闲率In超过阈值P,则为该容器补增网络资源;
f.如果该节点上的各类资源空闲率均低于阈值P,则退出步骤4。
附图说明
图1为异构处理器平台融合管理系统结构示意图;
图2为容器迁移过程示意图;
图3为容器在节点上运行的示意图。
具体实施方式
现有的国产化异构处理器平台主要包括飞腾设备、申威设备和龙芯设备,其上运行着不同的操作系统,这里的平台是指一台计算机设备或者服务器设备,在网络中也被称为节点,每个平台都可以运行多个虚拟实体,在本发明中的虚拟实体主要指的是容器,容器位于硬件和操作系统的上方,每个容器都共享主机操作系统的内核,每个容器都可以通过预定的方法进行挂载写入。为提高虚拟实体(容器)的可用性,还需要在具有在不同硬件架构平台上对容器进行动态迁移,从而使物理机的维护和节能变的更加方便。本发明提出的动态迁移机制奠定了大规模虚拟机集群的容器虚拟机资源动态调度的基础,动态迁移机制的引入,使得在虚拟机数量较少或者负载率较低的情况下,集群系统能够将正在运行中的虚拟实体迁移到负载较低的节点上。本发明的异构处理器平台融合管理系统能够在不同硬件架构平台上对容器进行动态迁移。
下面结合附图1、2对异构处理器平台融合管理系统的组成结构以及工作原理进行说明。如图1所示,异构处理器平台融合管理系统包括平台信息采集单元、容器管理单元、容器动态迁移单元、融合单元。异构处理器平台融合管理系统安装在各个节点中,即安装在节点平台操作系统中,节点之间通过网络连接,所有节点都可以访问共享存储系统。
共享存储系统本质上是一种分布式文件系统,该文件系统将多个物理节点的磁盘空间统一组织管理,形成一个大的存储空间,每个节点可以将该存储空间挂载到本地的一个目录,本节点通过在该目录下的操作行为其他节点都可见,比如:本节点在挂载目录内创建并写入一个文件后,其他节点都能够看到该文件并读取该文件的数据内容。为了保证数据的高可用,防止因为某个节点机器发生故障造成数据丢失,共享存储采用多副本的数据冗余策略,即将一个文件存储在多个物理节点的磁盘上,这样某些节点发生故障后,虽然该节点上的数据无法读取,但是可以读取其他节点上的备份数据。采用多副本的数据冗余策略在容器迁移的时候可以有效的避免容器文件数据传输;例如:在节点P1上创建容器A后,A的文件数据备份在节点P1、P2、P3上;如果容器A需要迁移到P2、P3上,此时就不需要通过网络再将A的文件数据传输到P2、P3上,因为这些节点上已经存在这些数据的备份。经过实际测试显示,在文件副本数设置为3时,副本存放节点完全随机的情况下,容器迁移时整体上节省了约30%的网络带宽。
平台信息采集单元在异构处理器平台融合和管理系统开始启动工作后对所在的节点的处理器平台进行信息采集,包括系统版本信息和硬件信息。具体的来说,平台信息采集单元从平台的系统版本信息文件中读取系统版本信息。例如:飞腾设备的系统信息通过读取系统文件“/etc/.osinfo”获取,该文件内记录了系统名称、系统完整名称、适配架构、内核编号、编译日期等信息。申威设备的系统信息通过读取系统文件“/etc/.os-release”获取,该文件内记录了系统名称版本、内核版本、编译日期等信息。龙芯设备的系统信息通过读取系统文件“/etc/.productinfo”获取,该文件内记录了系统版本信息、编译日期等信息。平台信息采集单元从系统硬件信息文件“/proc/cpuinfo”中读取CPU型号、CPU数量等信息;从系统硬件信息文件“/proc/meminfo”中读取内存型号、内存大小等信息;从系统设备目录“/dev/disk”下读取磁盘信息(磁盘型号、读写速度等)。将该节点的(平台)所述的系统版本信息和硬件信息保存在共享存储系统中,所述系统版本信息和硬件信息合称为该平台(节点)的基本信息。
容器管理单元的作用是创建容器以及对容器进行资源管理。容器管理单元用于在平台上建立多个相互隔离的容器,可以为容器建立和宿主操作系统相同的执行环境,包括主机名称、文件系统、网络、设备、安全措施以及系统资源等。
容器管理单元的对容器进行资源管理主要包括:资源的分配、限制以及控制。容器在创建初始,可以设置该容器所能使用的内存、CPU、网络的最大量;并在容器运行过程中根据容器具体运行表现动态调整分配给容器的资源量,这些容器具体运行表现包括:较多资源空闲未被使用、各类资源使用率一直维持在较高水平、各类资源一直被耗尽。容器创立后,容器管理单元周期性地检测容器的运行情况,如果某容器中较多资源一直处于空闲状态,则说明资源分配存在浪费行为,则需要回收部分资源;如果某容器中各类资源使用率一直维持在较高水平,说明资源分配较为合理,容器能够充分利用各类资源;如果容器中各类资源一直被耗尽,则说明容器对资源由更高的需求,需要为其补充部分资源以满足其运行需求。例如可以设定内存、CPU、网络资源的空闲使用阈值为50%,当容器管理单元在预定时间段内(如5分钟)监测到某容器对某项或多项资源的使用率等于或低于50%,则容器管理单元回收该容器的已分配的该项或该多项资源的一部分,如回收20%的已分配额;如果在该时间段内监测到该容器对所有资源的使用率均大于50%且小于100%,则维持对该容器的资源分配不变;如果该容器在该时间段内监测到该容器对某项或多项资源的使用率等于100%,则容器管理单元增加对该容器的该项或该多项资源的资源分配,如增加20%的已分配资源。
通常对容器的管理是对一组进程的管理,通常需要内核的支持完成进程的管理。在容器虚拟化框架下,在创建容器时,本发明把CPU资源、内存以及I/O设备采用公平分配的原则划分给容器使用;所有容器在节点上没有优先级,所有容器的重要性是相同的,谁先提出资源需求优先处理该容器的资源需求。而在容器运行过程中,通过上面的已经描述的方式,根据容器在运行中对资源的使用情况决定对其分配资源的调整。
如上所述,本发明提出了在同一节点上进行资源管理的方法,以满足不同容器对资源的不同需求,属于本发明的第一种资源管理方式,下面对另一种实施方式进行说明。
随着异构处理器平台数量的不断增多,不同平台上的容器数量和负载也是在变化的,所以,如果资源的分配采用静态的方式进行,则会造成资源的浪费或者资源不足的现象发生;而人工调整往往又存在较大的滞后,且跨处理器平台的操作复杂性大大上升。为提高系统的可用性,确保虚拟实体的负载平衡,本发明的异构处理器融合管理系统提出了一种动态迁移机制,由容器动态迁移单元完成,使得当资源的分配出现不平衡时,容器能够在运行状态下实现在异构处理器平台之间快速迁移。通过对进程检查点和虚拟环境状态的设置,使得一旦有服务器宕机或者负载不平衡的情况出现时,可以将容器在其他的物理机上恢复运行,从而使得系统的可靠性得到提高。
如图2所示,容器动态迁移单元的主要工作流程如下:当容器管理单元建立容器并启动容器后,容器管理单元会对节点上的容器运行情况进行监测和资源管理,重点检测节点的CPU利用率、内存占用率、网络资源、容器数量等,当满足迁移条件时,容器管理单元会通知容器动态迁移单元进行容器的迁移。
对节点上的容器进行管理和迁移具体说明如下:集群内有多个节点,每个节点上运行不同数量的容器;每个节点上的资源分为三类:内存、CPU、网络;节点分配给所有容器的内存、CPU、网络总量分别为:Mp、Cp、Np。如图3所示:节点1内运行了x个容器,节点2上运行了3个容器,节点3上运行了4个容器。节点1上运行了x个容器(编号:1,2,3,4…i…x),系统分配给第i个容器的各项资源(内存、CPU、网络)总量分别为:mai,cai,nai;当前该容器对各项资源的使用量分别为:mui,cui,nui;则该容器的各项资源使用率分别为:
Figure BDA0001757887850000161
该容器的综合负载指数记为:Ai=Mmi+Cci+Nni。(M/C/N分别为内存、CPU、网络的负载系数,该系数可指示这三类资源的重要程度,默认值为:1/1/1,可以通过设置这三个值来调整不同类型资源的重要性,从而动态调整资源分配的顺序)。该节点上所有容器的内存、CPU、网络资源的使用率均值分别为:
Figure BDA0001757887850000162
Figure BDA0001757887850000163
Figure BDA0001757887850000164
该节点上所有容器的综合负载指数为:
A=MAm+CAc+NAn (公式2)
该节点上内存、CPU、网络的空闲资源比率分别为:
Figure BDA0001757887850000165
Figure BDA0001757887850000166
Figure BDA0001757887850000167
其中Mp、Cp、Np分别代表该节点划分给容器使用的内存、CPU、网络总量。
节点的资源管理分为二个阶段,第一阶段是在容器负载升高的初始阶段,节点内会进行资源的重新调配,比如向负载较高的容器增加资源,以降低该容器的资源使用率;如果节点内的可用资源都耗尽后,该节点依然存在多个负载较高的容器,则进入第二阶段,该阶段开始迁移容器到其他负载较低的节点上。第一阶段的内部资源协调,能够有效的减少容器迁移的频率,避免了对服务的频繁扰动。
定义容器的资源使用率阈值为Q(如:0.95),容器的资源使用率超过该值时表明当前该类型的资源较为紧俏,如不及时补充该类型资源,则可能会造成容器运行速度降低;该值可以根据实际需求进行设置。
定义节点的资源空闲率阈值为P(0.1),该资源空闲率表明当前节点还有多少该类型的资源可以分配给容器使用,该阈值可以根据实际的需求进行设置。
容器管理单元在第一阶段的工作过程如下所述:
1.所有节点每隔预定的时间(例如默认为60s)使用公式1统计本节点上所有容器的资源使用率(如果该节点当前有容器处于启动或停止阶段,则该节点不参与本次统计)。
2.所有节点计算本节点上容器的综合负载指数Ai,并对所有容器按照Ai进行排序。
3.所有节点使用公式3统计本节点当前各类资源的空闲率(Im、Ic、In)。
4.在所有节点上,对排序后的容器依次按照如下步骤进行处理:
a.取综合负载指数最高的容器,获得该容器的各项资源使用率(mi、ci、ni);
b.根据各类型资源的负载系数进行排列,例如:M、C、N的比例为2:3:1,则按照CPU、内存、网络的顺序处理。
c.如果该容器的CPU使用率超过阈值Q,且该容器所在节点上的CPU空闲率Ic超过阈值P,则为该容器补增CPU资源(以时间片为单位进行分配,可取10%的空闲CPU资源补增,该比值支持动态配置)。
d.如果该容器的内存使用率超过阈值Q,且该容器所在节点上的内存空闲率Im超过阈值P,则为该容器补增内存资源(可取10%的空闲内存资源补增给该容器,该比值支持动态配置)。
e.如果该容器的网络使用率超过阈值Q,且该容器所在节点上的网络空闲率In超过阈值P,则为该容器补增网络资源(可取10%的网络资源补增,该比值支持动态配置,实际上是减轻对该容器的网络带宽使用量的限制)。
f.如果该节点上的各类资源空闲率均低于阈值P,则退出步骤4。
5.容器管理单元检查所有节点,如果该节点上依然有容器的资源使用率高于阈值Q,则标记该节点为繁忙节点;如果该节点上所有容器的各类资源使用率均低于阈值Q,且该节点上存在一种或多种类型的资源空闲率高于阈值P,则标记该节点为空闲节点。进入第二阶段。
第二阶段的工作过程如下所述:
1.容器管理单元计算所有繁忙节点的综合负载指数A,并按照该指数由高到低对节点进行排序;计算所有空闲节点的资源平均空闲率,并按照该值由高到低进行排序。
2.重复如下步骤:
a.从综合负载指数最高的节点中取出最高负载容器,将该容器迁移到资源平均空闲率最高的空闲节点中。
b.待容器迁移结束后,重新标记各个节点的类型(繁忙节点、空闲节点)。
c.如果繁忙节点不存在或者空闲节点不存在,则停止第二阶段;本次调整过程结束,等待固定时间后进入下一轮。否则,重新计算所有节点的综合负载指数A,重新计算所有空闲节点的资源平均空闲率;并在对它们进行重新排序后转入a步骤。
在进行容器迁移时,容器动态迁移单元会将本地(称为原节点)的待迁移容器状态信息及容器内的进程信息保存在共享存储系统上并关闭该容器。容器状态信息主要包括:运行状态(创建、正常、繁忙、过载、正常退出、异常退出、停止)、存储卷状态(正常、异常)等;进程信息包括:进程名称、进程所在主机、进程已运行时间、进程内存数据、进程当前打开文件等。
原节点关闭待迁移容器后向目的节点的异构处理器融合管理系统发送容器恢复命令;目的节点的异构处理器融合管理系统在接收到容器恢复指令后,会从共享存储系统上读取待迁移容器的状态信息和容器内进程的相关信息,并在本机上重新启动该容器(在容器启动过程中,融合单元会接手后续的工作)。
当接收到源节点发出的容器恢复指令后,目的节点的异构处理器融合管理系统的融合单元启动工作,该融合单元首先进行平台架构比较:读取共享存储系统中存储的原节点的基本信息,与目的节点的基本信息进行比较,如果发现原节点和目的节点属于同构平台,则从共享存储系统上读取待迁移容器状态信息及容器内的进程信息,并将该信息发送给目的节点的容器管理单元,容器管理单元直接在目的节点重建并启动该容器;如果发现源节点和目的节点属于异构平台,则在共享存储系统上读取待迁移容器状态信息和容器内进程的相关信息,并对这些信息进行编码转换。对于飞腾平台,其编码格式主要是UTF-8、GBK;申威设备的编码格式主要是UTF-16;龙芯平台的编码格式主要是UTF-32,当目的节点与原节点采用不同编码格式时,可将原节点的容器信息(容器状态文件、容器挂载卷上的文件等)编码转换为目的节点的编码信息。由于平台的基本信息中包括了CPU型号和系统版本号,因此通过读取平台的基本信息即可获知该平台的编码格式。同样的在进行平台架构比较时,也可以很容易的获得原节点和目的节点的处理器架构型号并进行比较判断。编码转换结束后,融合单元将转换后的编码信息发送给目的节点的容器管理单元,容器管理单元在目的节点重建并启动该容器。
在容器迁移过程中,目的节点的容器管理单元在重建并启动原节点容器时,优选的先要进行容器的预启动,即锁定该容器,暂停该容器的对外服务,当到达预定的暂停时间后,解除对容器的锁定,开放该容器的对外服务,容器进入正常运行状态。该预启动的意义在于,容器从启动到正常工作之间有一个恢复期,如果不锁定其对外的服务,有可能在容器还未正常工作的时候就已经有外部服务的介入,会导致容器运行错误,预启动机制的采用,能够确保容器在状态稳定的情况下与外界进行交互,有效避免了错误的发生。由于每个容器运行的任务和负载不同,所以容器预启动后要加载的文件量和恢复运行状态的时间都不同;原节点在关闭容器时会记录容器的停止时间,该时间会通过迁移命令一并发送到目的节点,目的节点在预启动容器后的暂停时间为该容器在原节点上的停止时间与文件加载时间的总和。我们记容器在原节点的停止时间为Ts,目标节点的磁盘读速度为R,容器文件总大小为S,则容器预启动后的暂停时间Tp=Ts+S/(mR),其中m是暂停时间系数,0.3≤m≤0.6,优选的m=0.5,设置该系数的目的在于磁盘读取速度有限,同一时间可能并发有多个磁盘读取指令,因此为了不造成磁盘读写拥塞,设置了该系数,以为其他读写指令预留读写吞吐量。
通过本发明,能够统一资源管理与调度,为用户屏蔽了不同硬件架构的差异,实现了异构国产化处理器平台的融合管理。

Claims (3)

1.一种异构处理器平台融合管理系统,包括平台信息采集单元、
容器管理单元、容器动态迁移单元和融合单元,其特征在于:平台信息采集单元用于对所在的节点即原节点进行信息采集;容器管理单元用于创建容器;容器动态迁移单元用于将原节点的容器迁移到目的节点;融合单元用于对被迁移容器进行融合管理;平台信息采集单元对所在的节点进行信息采集,包括从所在节点的系统版本信息文件中读取系统版本信息,从系统硬件信息文件中读硬件信息,并将该节点的所述的系统版本信息和硬件信息作为节点的基本信息保存在共享存储系统中,其中,飞腾设备的系统信息通过读取系统文件“/etc/ .osinfo”获取,该文件内记录了系统名称、系统完整名称、适配架构、内核编号、编译日期信息;申威设备的系统信息通过读取系统文件“/etc/ .os-release”获取,该文件内记录了系统名称版本、内核版本、编译日期信息;龙芯设备的系统信息通过读取系统文件“/etc/ .productinfo”获取,该文件内记录了系统版本信息、编译日期信息,平台信息采集单元从系统硬件信息文件“/proc/cpuinfo”中读取CPU型号、CPU数量信息;从系统硬件信息文件“/proc/meminfo”中读取内存型号、内存大小信息;从系统设备目录“/dev/disk”下读取磁盘信息;容器管理单元用于在原节点建立多个相互隔离的容器,所述容器与原节点的操作系统的执行环境相同,所述执行环境包括主机名称、文件系统、网络、设备、安全措施以及系统资源。
2.根据权利要求1所述的异构处理器平台融合管理系统,其特征在于:容器管理单元还用于对容器资源进行管理。
3.根据权利要求2所述的异构处理器平台融合管理系统,其特征在于容器的资源管理包括对CPU、内存、网络三种类型资源的管理。
CN201810894928.7A 2018-08-08 2018-08-08 异构处理器平台融合管理系统 Active CN109101320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810894928.7A CN109101320B (zh) 2018-08-08 2018-08-08 异构处理器平台融合管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810894928.7A CN109101320B (zh) 2018-08-08 2018-08-08 异构处理器平台融合管理系统

Publications (2)

Publication Number Publication Date
CN109101320A CN109101320A (zh) 2018-12-28
CN109101320B true CN109101320B (zh) 2022-06-17

Family

ID=64848913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810894928.7A Active CN109101320B (zh) 2018-08-08 2018-08-08 异构处理器平台融合管理系统

Country Status (1)

Country Link
CN (1) CN109101320B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113544641A (zh) * 2019-02-20 2021-10-22 英特尔公司 针对图形处理器和相关联的装置用于无缝容器迁移的设备和方法
CN111722894B (zh) * 2019-03-21 2023-04-18 成都鼎桥通信技术有限公司 应用处理方法、装置及电子设备
CN109995871A (zh) * 2019-04-09 2019-07-09 苏州浪潮智能科技有限公司 一种Pod调度方法及装置
CN111866038A (zh) * 2019-04-25 2020-10-30 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于异构多副本的分布式存储动态防御系统及方法
CN113608840B (zh) * 2021-08-10 2023-06-20 中国联合网络通信集团有限公司 容器迁移方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法
CN106385449A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于容器的异构集群服务迁移中转系统及中转方法
KR101782395B1 (ko) * 2016-06-09 2017-09-27 (주)인스페이스 이종센서 영상 융합 알고리즘의 관리 장치
CN107885582A (zh) * 2016-09-30 2018-04-06 中国电信股份有限公司 异构容器集群迁移方法和控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法
KR101782395B1 (ko) * 2016-06-09 2017-09-27 (주)인스페이스 이종센서 영상 융합 알고리즘의 관리 장치
CN106385449A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于容器的异构集群服务迁移中转系统及中转方法
CN107885582A (zh) * 2016-09-30 2018-04-06 中国电信股份有限公司 异构容器集群迁移方法和控制器

Also Published As

Publication number Publication date
CN109101320A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN109101320B (zh) 异构处理器平台融合管理系统
US11159605B2 (en) Hierarchical dynamic scheduling
CN107430528B (zh) 机会性资源迁移以优化资源放置
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
CN102981929B (zh) 磁盘镜像的管理方法和系统
CN1716206A (zh) 根据客户软件的特许级支持向虚拟机监视器转移
CN105242872B (zh) 一种面向虚拟集群的共享存储系统
Yuan et al. Efficient resource management for cloud computing
CN103077197A (zh) 一种数据存储方法装置
CN112698943A (zh) 资源分配方法、装置、计算机设备以及存储介质
CN112862098A (zh) 一种集群训练任务处理的方法及系统
CN106227469A (zh) 用于分布式存储集群的数据删除方法及系统
CN114356543A (zh) 一种基于Kubernetes的多租户机器学习任务资源调度方法
CN107071045A (zh) 一种基于多租户的资源调度系统
CN111666158A (zh) 一种基于Kubernetes的容器调度方法、装置、存储介质及电子设备
CN111459684A (zh) 面向多处理器架构的云计算资源融合调度管理方法、系统及介质
CN115964176B (zh) 云计算集群调度方法、电子设备和存储介质
CN112416520B (zh) 一种基于vSphere的智能资源调度方法
EP3042282A1 (en) Hierarchical dynamic scheduling
EP3042305A1 (en) Selective resource migration
Gopalakrishna et al. Untangling cluster management with Helix
CN115102851B (zh) 一种面向hpc与ai融合计算的融合平台及其资源管理方法
CN114995971A (zh) 实现kubernetes中pod批量调度方法及系统
Scherr Functional structure of IBM virtual storage operating systems, Part II: OS/VS2-2 concepts and philosophies
Guo et al. Handling data skew at reduce stage in Spark by ReducePartition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant