CN105786612B - 一种资源管理方法及装置 - Google Patents
一种资源管理方法及装置 Download PDFInfo
- Publication number
- CN105786612B CN105786612B CN201410812039.3A CN201410812039A CN105786612B CN 105786612 B CN105786612 B CN 105786612B CN 201410812039 A CN201410812039 A CN 201410812039A CN 105786612 B CN105786612 B CN 105786612B
- Authority
- CN
- China
- Prior art keywords
- kernel
- target
- library
- hardware
- destination
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种资源管理方法及装置,所述方法包括:根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源;在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理;通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。本发明实施例基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
Description
技术领域
本发明涉及电子技术领域,具体涉及一种资源管理方法及装置。
背景技术
随着半导体产业的飞速发展和信息技术的日益进步,摩尔定律(集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍)在未来几年内依然有效,然而依靠主频的增加来提高云计算性能的时代已经过去了,CPU性能的增长遇到了功耗、互连线延时、设计复杂度这三个物理规律的限制,在这三个物理规律和摩尔定律的共同作用下,众核将成为未来CPU架构的主要设计趋势。
为提高众核架构下的服务器性能和资源利用率,现有技术提出了一种统一内核模型,在该统一内核模型下,编译应用程序时会将应用程序和所需的操作系统功能组件编译成一个可执行文件,从而把一个通用目的的内核裁剪成单一目的的内核了,朝着定制化的方向发展。然而,该模型中将应用程序和所需的操作系统功能组件编译成一个可执行文件是一种静态组装方式,应用程序需提前绑定运行时依赖的硬件平台,如果要运行到不同的平台上(比如ARM7平台上的统一内核镜像不能在ARM9平台上运行),需要根据新的平台特性对统一内核重新进行定制化和编译,这种软硬件绑定的方式极大地限制了统一内核的可移植性以及软硬件定制的灵活性。如何提高统一内核的可移植性和软硬件定制的灵活性,已成为亟待解决的问题。
发明内容
本发明实施例提供了一种资源管理方法及装置,基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
第一方面,本发明实施例提供一种资源管理方法,包括:
根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源;
在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理;
通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源之前,还包括:
获取目标应用程序的硬件需求信息。
结合第一方面,在第一方面的第二种可能的实现方式中,所述通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,包括:
接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像,所述目标操作系统功能链接库的镜像是由所述启动代理在将所述目标统一内核的镜像拷贝到所述目标统一内核的运行域后,对所述目标统一内核的镜像进行解析获取的;
从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述预先存储的操作系统功能链接库包括任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和/或通信系统库。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,包括:
将所述获取的目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中。
结合第一方面,在第一方面的第五种可能的实现方式中,所述硬件需求信息包含硬件类型,所述根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源,包括:
判断所述硬件需求信息是否包含所述硬件类型的型号;
若包含所述硬件类型的型号,则从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源;
若未包含所述硬件类型的型号,则从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
结合第一方面或第一方面的第一种至第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述目标统一内核为将所述目标应用程序的功能代码与所述目标操作系统功能链接库编译后得到的可执行映像文件。
第二方面,本发明实施例提供一种资源管理装置,包括:
分配单元,用于根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源;
启动单元,用于在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理;
处理单元,用于通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
第一获取单元,用于在所述分配单元根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源之前,获取目标应用程序的硬件需求信息。
结合第二方面,在第二方面的第二种可能的实现方式中,所述处理单元通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,包括:
接收单元,用于接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像,所述目标操作系统功能链接库的镜像是由所述启动代理在将所述目标统一内核的镜像拷贝到所述目标统一内核的运行域后,对所述目标统一内核的镜像进行解析获取的;
第二获取单元,用于从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述预先存储的操作系统功能链接库包括任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和/或通信系统库。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述处理单元通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,包括:
发送单元,用于将所述目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中。
结合第二方面,在第二方面的第五种可能的实现方式中,
所述硬件需求信息包含硬件类型,所述分配单元具体用于:
判断所述硬件需求信息是否包含所述硬件类型的型号;
若包含所述硬件类型的型号,则从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源;
若未包含所述硬件类型的型号,则从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
结合第二方面或第二方面的第一种至第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述目标统一内核为将所述目标应用程序的功能代码与所述目标操作系统功能链接库编译后得到的可执行映像文件。
本发明实施例提供的资源管理方法及装置,是基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种资源管理方法的流程示意图;
图2是本发明第二实施例提供的一种资源管理方法的流程示意图;
图3是本发明第一实施例提供的一种资源管理装置的结构示意图;
图4是本发明第二实施例提供的一种资源管理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明第一实施例提供的一种资源管理方法的流程示意图。本实施例中所描述的资源管理方法,是基于众核/解耦架构平台,包括以下步骤:
S101、系统监视器根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源。
具体实现中,上述众核/解耦架构平台为一种新型的服务器硬件架构体系,该平台中各个硬件组件相互解耦,将复杂的组件设计改为简单高效的设计。上述系统监视器可为资源管理程序,负责调配系统资源和软硬件的协同运作。上述目标统一内核为将目标应用程序的功能代码与目标应用程序所需的操作系统功能链接库编译后得到的可执行映像文件。
系统监视器在检测到目标应用程序存在启动需求时,首先获取并解析上述目标应用程序的硬件需求信息,进而从预先配置的硬件资源池中为上述目标应用程序对应的目标统一内核分配相应的硬件资源。
需要说明的是,上述硬件需求信息具体可包括:硬件类型(本发明实施例中的硬件类型包括:CPU、GPU、内存储器、外存储器和网卡等)以及硬件类型对应的硬件型号和数量,例如:硬件类型为CPU,CPU型号为Intel Xeon Phi,数量为2个。
S102、在所述目标统一内核的运行域上,系统监视器根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理。
具体实现中,上述目标统一内核的运行域即为系统监视器根据目标应用程序的硬件需求信息,为目标应用程序对应的目标统一内核分配的硬件运行环境,包括CPU、GPU、内存储器、外存储器和网卡等硬件资源。
一般地,不同目标统一内核的运行域具有不同的硬件特征,分别对应不同的启动代理。在系统监视器为目标统一内核分配完相应的硬件资源后,根据目标统一内核的运行域的硬件特征,启动目标统一内核对应的启动代理。
其中,启动代理启动后,对目标统一内核的运行域的硬件环境进行初始化。
S103、通过所述启动代理,系统监视器获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
作为一种可行的实施方式,在众核/解耦架构平台下,操作系统的各个功能接口以动态库的形式统一存储,可统称为操作系统功能链接库,具体可包括:任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和通信系统库等。
其中,任务调度库主要包括:先入先出调度(英文缩写:FIFO,英文全称:First InFirst Out)、完全公平调度(英文缩写:CFS,英文全称:Completely Fair Schedule)和实时调度(英文缩写:RTS,英文全称:Real-Time Schedule)等;内存管理库主要包括:简单内存管理、伙伴算法、栈内存管理和堆内存管理等;文件系统库主要包括:虚拟文件系统(英文缩写:VFS,英文全称:Virtual File System)、随机访问内存文件系统(英文缩写:Ram FS,英文全称:Random Access Memory File System)、临时文件系统(英文缩写:Tmp FS,英文全称:Temporary File System)以及Fat、Fat32、NTFS、ex2、ext3、ext4等磁盘文件系统;IO系统库主要包括:网络协议栈(TCP/IP协议栈,LWIP协议栈)和串口、并口功能库等;安全机制库主要包括:加密机制和防火墙等;驱动程序库主要包括:各种硬件设备驱动程序库,比如Intel 82580网卡驱动、Intel 82599网卡驱动等;通信系统库主要包括:管道通信库、共享内存通信库和消息通信库等。
具体实现中,系统监视器通过上述启动代理从预先存储的操作系统功能链接库中获取与上述目标统一内核的运行域的硬件特征相对应的目标操作系统功能链接库,进一步地,由上述启动代理将上述目标操作系统功能链接库映射到目标统一内核的地址空间中,以完成对目标统一内核的启动引导。
需要理解的是,目标统一内核启动后,上述启动代理将执行权限交给上述目标统一内核,同时上述启动代理退出系统进程。
本发明实施例提供的资源管理方法,是基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
请参阅图2,为本发明第二实施例提供的一种资源管理方法的流程示意图。本实施例中所描述的资源管理方法,基于众核/解耦架构平台,包括以下步骤:
S201、系统监视器获取目标应用程序的硬件需求信息。
具体实现中,上述众核/解耦架构平台为一种新型的服务器硬件架构体系,该平台中各个硬件组件相互解耦,将复杂的组件设计改为简单高效的设计。上述系统监视器可为资源管理程序,负责调配系统资源和软硬件的协同运作。上述目标统一内核为将目标应用程序的功能代码与目标应用程序所需的操作系统功能链接库编译后得到的可执行映像文件。
其中,系统监视器在检测到目标应用程序存在启动需求时,首先获取上述目标应用程序的硬件需求信息。
S202、系统监视器判断所述硬件需求信息是否包含硬件类型的型号,若包含所述硬件类型的型号,则执行步骤S203,若未包含所述硬件类型的型号,则执行步骤S204。
其中,上述硬件需求信息具体可包括:硬件类型(本发明实施例中的硬件类型包括:CPU、GPU、内存储器、外存储器和网卡等)以及硬件类型对应的硬件型号和数量,例如:硬件类型为CPU,CPU型号为Intel Xeon Phi,数量为2个。
具体的,系统监视器在步骤S201中获取到目标应用程序的硬件需求信息后,首先判断上述硬件需求信息中是否包含有硬件类型的具体型号,例如:硬件需求信息中包含CPU这一硬件,则进一步判断硬件需求信息中是否包含CPU的具体型号,如:Intel Xeon系列、AMD皓龙系列、IBM Power系列和ARM 11系列等。
S203、系统监视器从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源。
具体的,系统监视器如果判断出上述硬件需求信息中包含有硬件类型的具体型号,则从硬件资源池中查询与上述硬件类型的具体型号对应的空闲硬件,进而根据上述硬件需求信息中包含的需求数量为目标统一内核分配相应数量的硬件资源。如果空闲硬件的数量满足目标统一内核需求的数量,则硬件资源分配成功,否则,硬件资源分配失败。
举例来说,硬件需求信息中包含有CPU,其中指定CPU的型号为Intel Xeon系列,此时,系统监视器会查询硬件资源池中处于空闲状态的Intel Xeon系列的CPU,如果处于空闲状态的Intel Xeon系列的CPU数量满足需求信息中包含的数量,则系统监视器为目标统一内核分配相应数量的Intel Xeon系列的CPU,CPU资源分配成功;如果处于空闲状态的IntelXeon系列的CPU数量少于需求信息中包含的数量,则CPU资源分配失败。
需要说明的是,系统监视器分配给目标统一内核的具体硬件资源是根据系统运行负荷、硬件资源池的利用率以及目标统一内核所需的硬件的综合性能等各方面因素而做出优化选择的。
S204、系统监视器从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
具体的,系统监视器如果判断出上述硬件需求信息中未包含有硬件类型的具体型号,则从硬件资源池中查询与上述硬件类型对应的空闲硬件,进而根据上述硬件需求信息中包含的需求数量为目标统一内核分配相应数量的硬件资源。如果空闲硬件的数量满足目标统一内核需求的数量,则硬件资源分配成功,否则,硬件资源分配失败。
举例来说,硬件需求信息中包含有CPU,未指定CPU的型号,此时,系统监视器会查询硬件资源池中处于空闲状态的CPU,如果处于空闲状态的CPU数量满足需求信息中包含的数量,则系统监视器为目标统一内核分配相应数量的CPU,如果需要3个CPU,则可以分配2个Intel CPU和1个ARM CPU,等等,CPU资源分配成功;如处于空闲状态的CPU数量少于需求信息中包含的数量,则CPU资源分配失败。
需要说明的是,系统监视器分配给目标统一内核的具体硬件资源是根据系统运行负荷、硬件资源池的利用率以及目标统一内核所需的硬件的综合性能等各方面因素而做出优化选择的。
S205、系统监视器在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理。
具体实现中,上述目标统一内核的运行域即为系统监视器根据目标应用程序的硬件需求信息,为目标应用程序对应的目标统一内核分配的硬件运行环境,包括CPU、GPU、内存储器、外存储器和网卡等硬件资源。
一般地,不同目标统一内核的运行域具有不同的硬件特征,分别对应不同的启动代理。在系统监视器为目标统一内核分配完相应的硬件资源后,根据目标统一内核的运行域的硬件特征,启动目标统一内核对应的启动代理。
其中,启动代理启动后,对目标统一内核的运行域的硬件环境进行初始化。
S206、系统监视器接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像;
具体的,上述启动代理将上述目标统一内核的镜像拷贝到上述目标统一内核的运行域后,对上述目标统一内核的镜像进行解析以获取上述目标统一内核所需的目标操作系统功能链接库的镜像,并将上述目标操作系统功能链接库的镜像发送给系统监视器。
S207、系统监视器从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
作为一种可行的实施方式,在众核/解耦架构平台下,操作系统的各个功能接口以动态库的形式统一存储,可统称为操作系统功能链接库,具体可包括:任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和通信系统库等。
其中,任务调度库主要包括:先入先出调度(英文缩写:FIFO,英文全称:First InFirst Out)、完全公平调度(英文缩写:CFS,英文全称:Completely Fair Schedule)和实时调度(英文缩写:RTS,英文全称:Real-Time Schedule)等;内存管理库主要包括:简单内存管理、伙伴算法、栈内存管理和堆内存管理等;文件系统库主要包括:虚拟文件系统(英文缩写:VFS,英文全称:Virtual File System)、随机访问内存文件系统(英文缩写:Ram FS,英文全称:Random Access Memory File System)、临时文件系统(英文缩写:Tmp FS,英文全称:Temporary File System)以及Fat、Fat32、NTFS、ex2、ext3、ext4等磁盘文件系统;IO系统库主要包括:网络协议栈(TCP/IP协议栈,LWIP协议栈)和串口、并口功能库等;安全机制库主要包括:加密机制和防火墙等;驱动程序库主要包括:各种硬件设备驱动程序库,比如Intel 82580网卡驱动、Intel 82599网卡驱动等;通信系统库主要包括:管道通信库、共享内存通信库和消息通信库等。
系统监视器从存储的操作系统功能链接库中,根据启动代理发送的目标操作系统功能链接库的镜像,获取上述目标统一内核所需的目标操作系统功能链接库。举例来说,启动代理发送的目标操作系统功能链接库的镜像中包含ext3文件系统、TCP/IP协议栈以及Intel 82599网卡驱动的镜像,则系统监视器分别从文件系统库、IO系统库和驱动程序库中获取相应的库资源。
S208、系统监视器将所述获取的目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
具体实现中,系统监视器将获取的目标操作系统功能链接库发送给上述启动代理,进一步地,由上述启动代理将上述目标操作系统功能链接库映射到目标统一内核的地址空间中,以完成对目标统一内核的启动引导。
需要理解的是,目标统一内核启动后,上述启动代理将执行权限交给上述目标统一内核,同时上述启动代理退出系统进程。
本发明实施例提供的资源管理方法,是基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
请参阅图3,为本发明第一实施例提供的一种资源管理装置的结构示意图。本实施例中所描述的资源管理装置,包括:分配单元10、启动单元20和处理单元,其中:
分配单元10,用于根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源。
具体实现中,上述众核/解耦架构平台为一种新型的服务器硬件架构体系,该平台中各个硬件组件相互解耦,将复杂的组件设计改为简单高效的设计。上述目标统一内核为将目标应用程序的功能代码与目标应用程序所需的操作系统功能链接库编译后得到的可执行映像文件。
分配单元10在检测到目标应用程序存在启动需求时,首先获取并解析上述目标应用程序的硬件需求信息,进而从预先配置的硬件资源池中为上述目标应用程序对应的目标统一内核分配相应的硬件资源。
需要说明的是,上述硬件需求信息具体可包括:硬件类型(本发明实施例中的硬件类型包括:CPU、GPU、内存储器、外存储器和网卡等)以及硬件类型对应的硬件型号和数量,例如:硬件类型为CPU,CPU型号为Intel Xeon Phi,数量为2个。
启动单元20,用于在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理。
具体实现中,上述目标统一内核的运行域即为分配单元10根据目标应用程序的硬件需求信息,为目标应用程序对应的目标统一内核分配的硬件运行环境,包括CPU、GPU、内存储器、外存储器和网卡等硬件资源。
一般地,不同目标统一内核的运行域具有不同的硬件特征,分别对应不同的启动代理。在系统监视器为目标统一内核分配完相应的硬件资源后,启动单元20根据目标统一内核的运行域的硬件特征,启动目标统一内核对应的启动代理。
其中,启动代理启动后,对目标统一内核的运行域的硬件环境进行初始化。
处理单元30,通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
作为一种可行的实施方式,在众核/解耦架构平台下,操作系统的各个功能接口以动态库的形式统一存储,可统称为操作系统功能链接库,具体可包括:任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和通信系统库等。
其中,任务调度库主要包括:先入先出调度(英文缩写:FIFO,英文全称:First InFirst Out)、完全公平调度(英文缩写:CFS,英文全称:Completely Fair Schedule)和实时调度(英文缩写:RTS,英文全称:Real-Time Schedule)等;内存管理库主要包括:简单内存管理、伙伴算法、栈内存管理和堆内存管理等;文件系统库主要包括:虚拟文件系统(英文缩写:VFS,英文全称:Virtual File System)、随机访问内存文件系统(英文缩写:Ram FS,英文全称:Random Access Memory File System)、临时文件系统(英文缩写:Tmp FS,英文全称:Temporary File System)以及Fat、Fat32、NTFS、ex2、ext3、ext4等磁盘文件系统;IO系统库主要包括:网络协议栈(TCP/IP协议栈,LWIP协议栈)和串口、并口功能库等;安全机制库主要包括:加密机制和防火墙等;驱动程序库主要包括:各种硬件设备驱动程序库,比如Intel 82580网卡驱动、Intel 82599网卡驱动等;通信系统库主要包括:管道通信库、共享内存通信库和消息通信库等。
具体实现中,处理单元30通过上述启动代理从预先存储的操作系统功能链接库中获取与上述目标统一内核的运行域的硬件特征相对应的目标操作系统功能链接库,进一步地,由上述启动代理将上述目标操作系统功能链接库映射到目标统一内核的地址空间中,以完成对目标统一内核的启动引导。
需要理解的是,目标统一内核启动后,上述启动代理将执行权限交给上述目标统一内核,同时上述启动代理退出系统进程。
本发明实施例提供的资源管理装置,是基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
请参阅图4,为本发明第二实施例提供的一种资源管理装置的结构示意图。本实施例中所描述的资源管理装置,包括:第一获取单元40、分配单元10、启动单元20和处理单元30。其中,处理单元30具体包括:接收单元301、第二获取单元302和发送单元303,具体地:
第一获取单元40,用于获取目标应用程序的硬件需求信息。
具体实现中,上述众核/解耦架构平台为一种新型的服务器硬件架构体系,该平台中各个硬件组件相互解耦,将复杂的组件设计改为简单高效的设计。上述目标统一内核为将目标应用程序的功能代码与目标应用程序所需的操作系统功能链接库编译后得到的可执行映像文件。
其中,第一获取单元40在检测到目标应用程序存在启动需求时,首先获取上述目标应用程序的硬件需求信息。
分配单元10,用于判断所述硬件需求信息是否包含所述硬件类型的型号,并在所述硬件需求信息包含所述硬件类型的型号时,从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源,以及在所述硬件需求信息未包含所述硬件类型的型号时,从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
其中,上述硬件需求信息具体可包括:硬件类型(本发明实施例中的硬件类型包括:CPU、GPU、内存储器、外存储器和网卡等)以及硬件类型对应的硬件型号和数量,例如:硬件类型为CPU,CPU型号为Intel Xeon Phi,数量为2个。
具体的,分配单元10在第一获取单元40获取到目标应用程序的硬件需求信息后,首先判断上述硬件需求信息中是否包含有硬件类型的具体型号,例如:硬件需求信息中包含CPU这一硬件,则分配单元10进一步判断硬件需求信息中是否包含CPU的具体型号,如:Intel Xeon系列、AMD皓龙系列、IBM Power系列和ARM 11系列等。
其中,分配单元10如果判断出上述硬件需求信息中包含有硬件类型的具体型号,则从硬件资源池中查询与上述硬件类型的具体型号对应的空闲硬件,进而根据上述硬件需求信息中包含的需求数量为目标统一内核分配相应数量的硬件资源。如果空闲硬件的数量满足目标统一内核需求的数量,则硬件资源分配成功,否则,硬件资源分配失败。
举例来说,硬件需求信息中包含有CPU,其中指定CPU的型号为Intel Xeon系列,此时,分配单元10会查询硬件资源池中处于空闲状态的Intel Xeon系列的CPU,如果处于空闲状态的Intel Xeon系列的CPU数量满足需求信息中包含的数量,则分配单元10为目标统一内核分配相应数量的Intel Xeon系列的CPU,CPU资源分配成功;如果处于空闲状态的IntelXeon系列的CPU数量少于需求信息中包含的数量,则CPU资源分配失败。
分配单元10如果判断出上述硬件需求信息中未包含有硬件类型的具体型号,则从硬件资源池中查询与上述硬件类型对应的空闲硬件,进而根据上述硬件需求信息中包含的需求数量为目标统一内核分配相应数量的硬件资源。如果空闲硬件的数量满足目标统一内核需求的数量,则硬件资源分配成功,否则,硬件资源分配失败。
举例来说,硬件需求信息中包含有CPU,未指定CPU的型号,此时,分配单元10会查询硬件资源池中处于空闲状态的CPU,如果处于空闲状态的CPU数量满足需求信息中包含的数量,则分配单元10为目标统一内核分配相应数量的CPU,如果需要3个CPU,则可以分配2个Intel CPU和1个ARM CPU,等等,CPU资源分配成功;如处于空闲状态的CPU数量少于需求信息中包含的数量,则CPU资源分配失败。
需要说明的是,分配单元10分配给目标统一内核的具体硬件资源是根据系统运行负荷、硬件资源池的利用率以及目标统一内核所需的硬件的综合性能等各方面因素而做出优化选择的。
启动单元20,用于在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理。
具体实现中,上述目标统一内核的运行域即为分配单元10根据目标应用程序的硬件需求信息,为目标应用程序对应的目标统一内核分配的硬件运行环境,包括CPU、GPU、内存储器、外存储器和网卡等硬件资源。
一般地,不同目标统一内核的运行域具有不同的硬件特征,分别对应不同的启动代理。在分配单元10为目标统一内核分配完相应的硬件资源后,启动单元20根据目标统一内核的运行域的硬件特征,启动目标统一内核对应的启动代理。
其中,启动代理启动后,对目标统一内核的运行域的硬件环境进行初始化。
接收单元301,用于接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像;
具体的,上述启动代理将上述目标统一内核的镜像拷贝到上述目标统一内核的运行域后,对上述目标统一内核的镜像进行解析以获取上述目标统一内核所需的目标操作系统功能链接库的镜像,并将上述目标操作系统功能链接库的镜像发送给接收单元301。
第二获取单元302,用于从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
作为一种可行的实施方式,在众核/解耦架构平台下,操作系统的各个功能接口以动态库的形式统一存储,可统称为操作系统功能链接库,具体可包括:任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和通信系统库等。
其中,任务调度库主要包括:先入先出调度(英文缩写:FIFO,英文全称:First InFirst Out)、完全公平调度(英文缩写:CFS,英文全称:Completely Fair Schedule)和实时调度(英文缩写:RTS,英文全称:Real-Time Schedule)等;内存管理库主要包括:简单内存管理、伙伴算法、栈内存管理和堆内存管理等;文件系统库主要包括:虚拟文件系统(英文缩写:VFS,英文全称:Virtual File System)、随机访问内存文件系统(英文缩写:Ram FS,英文全称:Random Access Memory File System)、临时文件系统(英文缩写:Tmp FS,英文全称:Temporary File System)以及Fat、Fat32、NTFS、ex2、ext3、ext4等磁盘文件系统;IO系统库主要包括:网络协议栈(TCP/IP协议栈,LWIP协议栈)和串口、并口功能库等;安全机制库主要包括:加密机制和防火墙等;驱动程序库主要包括:各种硬件设备驱动程序库,比如Intel 82580网卡驱动、Intel 82599网卡驱动等;通信系统库主要包括:管道通信库、共享内存通信库和消息通信库等。
第二获取单元302从存储的操作系统功能链接库中,根据启动代理发送的目标操作系统功能链接库的镜像,获取上述目标统一内核所需的目标操作系统功能链接库。举例来说,启动代理发送的目标操作系统功能链接库的镜像中包含ext3文件系统、TCP/IP协议栈以及Intel 82599网卡驱动的镜像,则第二获取单元302分别从文件系统库、IO系统库和驱动程序库中获取相应的库资源。
发送单元303,用于将所述获取的目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
具体实现中,发送单元303将获取的目标操作系统功能链接库发送给上述启动代理,进一步地,由上述启动代理将上述目标操作系统功能链接库映射到目标统一内核的地址空间中,以完成对目标统一内核的启动引导。
需要理解的是,目标统一内核启动后,上述启动代理将执行权限交给上述目标统一内核,同时上述启动代理退出系统进程。
本发明实施例提供的资源管理装置,是基于众核/解耦架构平台,根据应用程序的硬件需求动态地为应用程序对应的统一内核加载操作系统功能链接库,提高了统一内核的可移植性和软硬件定制的灵活性。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的本地计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
以上对本发明实施例所提供的一种资源管理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种资源管理方法,其特征在于,所述方法基于众核/解耦架构平台,包括:
根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源;
在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理;
通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
2.根据权利要求1所述的方法,其特征在于,所述根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源之前,还包括:
获取目标应用程序的硬件需求信息。
3.根据权利要求1所述的方法,其特征在于,所述通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,包括:
接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像,所述目标操作系统功能链接库的镜像是由所述启动代理在将所述目标统一内核的镜像拷贝到所述目标统一内核的运行域后,对所述目标统一内核的镜像进行解析获取的;
从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
4.根据权利要求3所述的方法,其特征在于,所述预先存储的操作系统功能链接库包括任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和/或通信系统库。
5.根据权利要求4所述的方法,其特征在于,所述通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,包括:
将所述获取的目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中。
6.根据权利要求1所述的方法,其特征在于,所述硬件需求信息包含硬件类型,所述根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源,包括:
判断所述硬件需求信息是否包含所述硬件类型的型号;
若包含所述硬件类型的型号,则从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源;
若未包含所述硬件类型的型号,则从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
7.根据权利要求1~6中任一项所述的方法,其特征在于,所述目标统一内核为将所述目标应用程序的功能代码与所述目标操作系统功能链接库编译后得到的可执行映像文件。
8.一种资源管理装置,其特征在于,资源管理装置应用于基于众核/解耦架构平台,所述资源管理装置包括:
分配单元,用于根据目标应用程序的硬件需求信息,为所述目标应用程序对应的目标统一内核分配硬件资源;
启动单元,用于在所述目标统一内核的运行域上,根据所述目标统一内核的运行域的硬件特征,启动所述目标统一内核对应的启动代理;
处理单元,用于通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,并通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,以引导所述目标统一内核的启动。
9.根据权利要求8所述的装置,其特征在于,还包括:
第一获取单元,用于在所述分配单元根据目标应用程序的硬件需求信息,为所述目标应用程序分配硬件资源之前,获取目标应用程序的硬件需求信息。
10.根据权利要求8所述的装置,其特征在于,所述处理单元通过所述启动代理,获取所述目标统一内核所需的目标操作系统功能链接库,包括:
接收单元,用于接收所述启动代理发送的所述目标统一内核所需的目标操作系统功能链接库的镜像,所述目标操作系统功能链接库的镜像是由所述启动代理在将所述目标统一内核的镜像拷贝到所述目标统一内核的运行域后,对所述目标统一内核的镜像进行解析获取的;
第二获取单元,用于从预先存储的操作系统功能链接库中,根据所述目标统一内核所需的目标操作系统功能链接库的镜像,获取所述目标统一内核所需的目标操作系统功能链接库。
11.根据权利要求10所述的装置,其特征在于,所述预先存储的操作系统功能链接库包括任务调度库、内存管理库、文件系统库、IO系统库、安全机制库、驱动程序库和/或通信系统库。
12.根据权利要求11所述的装置,其特征在于,所述处理单元通过所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中,包括:
发送单元,用于将所述目标操作系统功能链接库发送给所述启动代理,以便于所述启动代理将所述目标操作系统功能链接库映射到所述目标统一内核的地址空间中。
13.根据权利要求8所述的装置,其特征在于,所述硬件需求信息包含硬件类型,所述分配单元具体用于:
判断所述硬件需求信息是否包含所述硬件类型的型号;
若包含所述硬件类型的型号,则从所述硬件类型的型号对应的空闲硬件中,为目标应用程序对应的目标统一内核分配硬件资源;
若未包含所述硬件类型的型号,则从所述硬件类型对应的空闲硬件中,为所述目标应用程序对应的目标统一内核分配硬件资源。
14.根据权利要求8~13中任一项所述的装置,其特征在于,所述目标统一内核为将所述目标应用程序的功能代码与所述目标操作系统功能链接库编译后得到的可执行映像文件。
15.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机程序产品,所述计算机程序产品可被处理器执行,以实现权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410812039.3A CN105786612B (zh) | 2014-12-23 | 2014-12-23 | 一种资源管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410812039.3A CN105786612B (zh) | 2014-12-23 | 2014-12-23 | 一种资源管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105786612A CN105786612A (zh) | 2016-07-20 |
CN105786612B true CN105786612B (zh) | 2019-05-24 |
Family
ID=56377878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410812039.3A Active CN105786612B (zh) | 2014-12-23 | 2014-12-23 | 一种资源管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786612B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227607B (zh) * | 2016-08-03 | 2020-01-24 | 青岛海信电器股份有限公司 | 终端中硬件设备的分配方法和装置 |
CN109144713A (zh) * | 2017-06-19 | 2019-01-04 | 联发科技股份有限公司 | 电子装置与基于活动的资源管理方法 |
CN108446174B (zh) * | 2018-03-06 | 2022-03-11 | 苏州大学 | 基于资源预分配与公共引导代理的多核作业调度方法 |
JP7017650B2 (ja) | 2018-06-12 | 2022-02-08 | 華為技術有限公司 | メモリ管理の方法、装置、およびシステム |
CN108984317B (zh) * | 2018-06-21 | 2021-07-13 | 北京奇虎科技有限公司 | 进程间通信ipc的实现方法和装置 |
CN109639799B (zh) * | 2018-12-12 | 2021-08-17 | 北京锐安科技有限公司 | 异构云平台的处理方法及装置 |
CN111464357A (zh) * | 2020-04-01 | 2020-07-28 | 武汉虹旭信息技术有限责任公司 | 资源配置方法及装置 |
CN114443130A (zh) * | 2020-11-06 | 2022-05-06 | 北京金山云网络技术有限公司 | 一种应用程序移植方法、装置、设备及存储介质 |
CN112702200B (zh) * | 2020-12-21 | 2022-08-05 | 杭州趣链科技有限公司 | 联盟链节点管理系统、方法、装置、电子设备和存储介质 |
CN114911539B (zh) * | 2022-05-17 | 2024-05-14 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN115525362B (zh) * | 2022-09-29 | 2023-09-15 | 建信金融科技有限责任公司 | 基于操作系统内核参数调整平台的参数变更方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
CN104077266A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 多内核操作系统实现方法和实现装置及系统 |
CN104216862A (zh) * | 2013-05-29 | 2014-12-17 | 华为技术有限公司 | 一种用户进程与系统服务之间的通信方法、装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308282A (zh) * | 2011-07-20 | 2012-01-04 | 华为技术有限公司 | 多处理器体系结构远端内存访问的模拟方法及模拟器 |
-
2014
- 2014-12-23 CN CN201410812039.3A patent/CN105786612B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
CN104077266A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 多内核操作系统实现方法和实现装置及系统 |
CN104216862A (zh) * | 2013-05-29 | 2014-12-17 | 华为技术有限公司 | 一种用户进程与系统服务之间的通信方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105786612A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786612B (zh) | 一种资源管理方法及装置 | |
US11381526B2 (en) | Multi-tenant optimized serverless placement using smart network interface cards and commodity storage | |
CN109961151B (zh) | 用于机器学习的计算服务的系统及用于机器学习的方法 | |
CN104737133B (zh) | 使用服务组的分布式应用优化 | |
CN104753817B (zh) | 一种云计算消息队列服务本地模拟方法和系统 | |
US11137732B2 (en) | Flow engine for building automated flows within a cloud based developmental platform | |
EP2867785B1 (en) | Method and apparatus for virtual machine interoperability | |
Song et al. | A load balancing scheme using federate migration based on virtual machines for cloud simulations | |
Maddineni et al. | Distributed application runtime environment (DARE): a standards-based middleware framework for science-gateways | |
CN108062254A (zh) | 作业处理方法、装置、存储介质及设备 | |
CN104598841B (zh) | 一种面向终端安全的双系统引导方法和装置 | |
Xu et al. | A framework for privacy-aware computing on hybrid clouds with mixed-sensitivity data | |
Pérez et al. | Distributed architecture for developing mixed-criticality systems in multi-core platforms | |
US20140245318A1 (en) | Data processing work allocation | |
Nüst et al. | The rockerverse: packages and applications for containerization with r | |
Elahi et al. | Toward scalable cloud data center simulation using high‐level architecture | |
US20140156252A1 (en) | Hybrid platform-dependent simulation interface | |
CN112929322A (zh) | 云上服务发布访问方法、装置及系统 | |
Machidon et al. | Remote SoC/FPGA platform configuration for cloud applications | |
CN110995768B (zh) | 一种构建及生成防火墙的方法、装置和介质 | |
Bračevac et al. | CPL: A core language for cloud computing | |
Bytschkow et al. | Distributed MILS architectural approach for secure smart grids | |
US11977652B2 (en) | Secure compartmented access infrastructure for sensitive databases | |
Reilly et al. | Tutorial: parallel computing of simulation models for risk analysis | |
Azadbakht et al. | Distributed network generation based on preferential attachment in ABS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200422 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 301, A building, room 3, building 301, foreshore Road, No. 310053, Binjiang District, Zhejiang, Hangzhou Patentee before: Huawei Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |