CN111475295B - 软硬件分层管理方法、装置及计算机可读存储介质 - Google Patents

软硬件分层管理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111475295B
CN111475295B CN202010258278.4A CN202010258278A CN111475295B CN 111475295 B CN111475295 B CN 111475295B CN 202010258278 A CN202010258278 A CN 202010258278A CN 111475295 B CN111475295 B CN 111475295B
Authority
CN
China
Prior art keywords
software
computing
minimum
resources
hardware
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
CN202010258278.4A
Other languages
English (en)
Other versions
CN111475295A (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.)
Shanghai Yitu Technology Co ltd
Original Assignee
Shanghai Yitu Technology 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 Shanghai Yitu Technology Co ltd filed Critical Shanghai Yitu Technology Co ltd
Priority to CN202010258278.4A priority Critical patent/CN111475295B/zh
Publication of CN111475295A publication Critical patent/CN111475295A/zh
Application granted granted Critical
Publication of CN111475295B publication Critical patent/CN111475295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种软硬件分层管理方法、装置、电子设备及计算机可读存储介质,其中,软硬件分层管理方法包括:将计算机器的计算资源进行分类;基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。根据本发明的软硬件分层管理方法,能够使得软件可以根据需求调用硬件的计算资源,并对硬件的计算资源进行管理。

Description

软硬件分层管理方法、装置及计算机可读存储介质
技术领域
本发明涉及计算机领域,具体涉及一种软硬件分层管理方法、装置、电子设备及计算机可读存储介质。
背景技术
现在的硬件,对于程序运行而言,占用多少硬件的计算资源完全是进程自己的行为,存在有一些硬件资源空闲,有一些硬件资源忙碌,资源利用率很低。
在多软件或多任务处理的过程中,存在多软件抢计算资源情况,某一软件卡顿过程可能导致系统的奔溃。
发明内容
有鉴于此,本发明提供一种软硬件分层管理方法、计算机器及软件,能够使得软件可以根据需求调用硬件的计算资源,并对硬件的计算资源进行管理。
为解决上述技术问题,一方面,本发明提供一种软硬件分层管理方法,包括如下步骤:
将计算机器的计算资源进行分类;
基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
进一步地,所述计算机器包括中央处理器和图像处理器,且所述中央处理器的计算资源分为图形处理资源和除图形处理资源外的通用数据计算资源,当运行图像处理软件时,所述图像处理器的处理能力不足的情况下调用所述中央处理器的图形处理资源供软件运行。
进一步地,将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,
基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
进一步地,图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
进一步地,依据按照所述最小计算单元的性能将所述最小计算单元进行分组,
基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行。
进一步地,所述软硬件分层管理方法还包括:
将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能,
其中,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
第二方面,本发明提供一种软硬件分层管理装置,包括:
分类模块,用于将计算机器的计算资源进行分类;
调用模块,用于基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
进一步地,所述软硬件分层管理装置还包括:
最小单元划分模块,用于将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,
最小单元调用模块,用于基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
进一步地,图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
进一步地,所述软硬件分层管理装置还包括:
分组模块,用于依据按照所述最小计算单元的性能将所述最小计算单元进行分组;
分组调用模块,用于基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行。
进一步地,所述软硬件分层管理装置还包括:
软件拆分模块,用于将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能;
所述最小单元调用模块用于基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
第三方面,本发明提供一种用于软硬件分层管理的电子设备,包括:
一个或多个处理器;
一个或多个存储器,其中存储了计算机可读代码,所述计算机可读代码当由所述一个或多个处理器运行时,使得所述处理器执行如下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
第四方面,本发明提供一种计算机可读存储介质,其特征在于,其中存储了计算机可读代码,所述计算机可读代码当由一个或多个处理器运行时,使得所述处理器执行如下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
本发明的上述技术方案至少具有如下有益效果之一:
根据本发明的软硬件分层管理方法,将计算机器的计算资源进行分类,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,能够使得各种软件统一使用硬件,只需要关注计算资源,不需要过多关注硬件的差异,而且可以利用软硬件关于计算资源的对应关系,针对硬件特性进行软件开发,而不用担心兼容性的问题,且多个软件同时运行的时候,可以将多个软件与多个硬件计算资源进行匹配,即分别给每个软件预定地计算资源,即使单个软件卡死,也不影响其他软件运行,且可以预留计算资源,待后续重要软件运行;
进一步地,基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行,能够使得软件更精确的调用硬件,更好的利用硬件的计算资源,避免不同软件争抢计算资源的情况;
进一步地,基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行,能够根据软件的需求,更好的利用不同硬件所提供相应性能的计算资源,使得软硬件更换的匹配;
更进一步地,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行,能够使得软件运行更加安全,结合将软件拆分成不同代码片段,不同代码片段可以同步运行,提高运行效率。
附图说明
图1为根据本发明一实施例的软硬件分层管理方法的流程图;
图2为根据本发明实施例的软硬件分层管理装置的示意图;
图3为根据本发明实施例的用于软硬件分层管理的电子设备的示意图。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
目前基于现有的计算机器和软件能够解决部分问题,大家习惯性使用更高性能的硬件,增加硬件成本或使用多台设备来维护软件的运行,使得软件运行尽量稳定,维护成本较高,而忽略了识别和细分计算机器的各个计算资源,及关心各个计算资源的利用率情况。
本发明人发现,部分硬件的计算资源很多是浪费的,也存在先运行的软件抢硬件的计算资源,后运行的软件只能使用先运行软件剩余的计算资源,一些后面的重要的软件运行受阻,一旦某一软件出现卡顿,所有的计算资源都被耗费。而硬件的计算资源根据硬件的自身情况运行,不会考虑计算资源的利用率,存在有一些硬件的计算资源空闲,有一些硬件的计算资源忙碌,根据以上问题分析出主要缺少一个分配和管理机制。
本发明人通过大量实验,基于操作系统,软件、硬件进行实验和开发,创造性地提出了对计算机器的计算资源进行划分,而不仅仅是通常情况下的仅考虑各个硬件的主要用途对硬件进行划分,而且基于计算资源对软硬件进行分层结构管理,充分地利用率计算机器的各个计算资源,很好地解决上述技术问题。
下面,结合图1说明根据本发明实施例的软硬件分层管理方法。
如图1所示,本发明实施例的软硬件分层管理方法,包括:
步骤S1,将计算机器的计算资源进行分类。
也就是说,将计算机器的硬件划分成可以进行各种计算的计算资源,以便于软件调用。由此,能够使得软件可以更好的使用硬件。
计算机器可以包括以下一种或多种:中央处理器(例如CPU)、图像处理器(例如GPU)及智能机器(例如TF卡)中的一种或多种。
可选地,计算资源的类型可以包括以下一种或多种:图形处理计算资源、通用数据计算资源及智能计算资源。
这些计算资源可以是基于处理能力(例如,中央处理器的图形处理计算资源较少,通用数据计算资源较多,而图像处理器的图形处理计算资源较多),也可以是基于硬件,也可以结合硬件和处理能力。
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行。
也就是说,根据软件对计算资源种类和数量的需求,调用相应类型的计算资源进行软件运行。
由此,能够使得各种软件统一使用硬件,只需要关注计算资源,不需要过多关注硬件的差异,充分利用所有的计算资源,实现硬件的计算资源的最优效利用。而且可以利用软硬件关于计算资源的对应关系,可以针对硬件特性进行软件开发,而不用担心兼容性的问题。
多个软件同时运行的时候,可以将多个软件与多个硬件计算资源进行匹配,即分别给每个软件预定地计算资源,即使单个软件卡死,也不影响其他软件运行,且可以预留计算资源,待后续重要软件运行。
根据本发明一些实施例,所述计算机器包括中央处理器和图像处理器,且所述中央处理器的计算资源分为图形处理计算资源和除图形处理计算资源外的通用数据计算资源,当运行图像处理软件时,所述图像处理器的处理能力不足的情况下调用所述中央处理器的图形处理计算资源供软件运行。
也就是说,中央处理器由于图形处理能力相比图像处理器要差一些,相对的图形处理计算资源要少一些,但是特殊情况下,也可以使用中央处理器的图形处理计算资源作为补充,以避免有些软件因为图像处理器占用内存过高而无法运行的情况。
根据本发明一些实施例,将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,此后,基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
也就是说,软件调用最小计算单元进行运行,每个最小单元的计算资源数量的确定的。可以多个软件调用一个最小单元,也可以一个软件调用多个最小单元,这里不做限定。由此,能够使得软件更精确的调用硬件,更好的利用硬件的计算资源,避免不同软件争抢计算资源的情况。
进一步地,图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
例如,图像处理器有8个卡(计算资源的一种,即卡计算资源,一个卡计算资源可以为基于单个的显卡的计算资源),可以划分为8个最小单元;智能机器有4个簇(能独立运行软件的一种硬件计算资源,一个簇可以为基于单个智能芯片的硬件计算资源),可以划分为4个最小单元。
中央处理器总体计算的节点和单元是数量可以计算出,可以按照软件最小需要的运行的节点/单元数量最为最小单元进行计算资源的划分,也可以将基于单个中央处理器芯片的计算资源划分为最小计算单元。
需要注意的是,以上只是可选地示例,最小计算单元还可以是卡或簇的接口等,即任何可以将计算资源进一步细分的单元均应该理解在本发明范围内。
进一步地,依据按照所述最小计算单元的性能将所述最小计算单元进行分组,此后,基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行。
例如,图像处理机器的卡来源不同厂家或类型,性能不一致,有些稳定性好但是速度慢,有些稳定性稍差,但是速度快,可以根据实际需要进行调用,例如比较紧急且重要性不高,可以使用稳定性稍差,但是速度快的卡进行运行,重要性很高但是不紧急的,可以使用稳定性好但是速度慢的卡进行运行。
由此,可以根据软件的需求,更好的利用不同硬件所提供相应性能的计算资源,使得软硬件更加匹配。
当然,以上只是可选地示例,还可以依据软件需要进行分组,便于与软件进行更好的匹配。
根据本发明一些实施例,将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能,
其中,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
例如,某一软件,有人体识别和人脸识别两个代码片段,分配到图形处理机器的两个不同的卡里进行计算,其中一个卡因为故障烧毁,另外一个卡正常运行,数据仍然得到保存。
由此,能够使得软件运行更加安全,而且将软件拆分成不同代码片段,不同代码片段可以同步运行,提高运行效率。
下面,结合图2,说明根据本发明实施例的软硬件分层管理装置1000。
如图2所示,本发明实施例的软硬件分层管理装置1000包括:
分类模块1001,用于将计算机器的计算资源进行分类;
调用模块1002,用于基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
进一步地,软硬件分层管理装置1000还包括:
最小单元划分模块1003,用于将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,
最小单元调用模块1004,用于基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
进一步地,图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
进一步地,软硬件分层管理装置1000还包括:
分组模块1005,用于依据按照所述最小计算单元的性能将所述最小计算单元进行分组;
分组调用模块1006,用于基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行。
进一步地,所述软硬件分层管理装置还包括:
软件拆分模块1007,用于将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能;
最小单元调用模块1004用于基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
此外,结合图3,说明根据本发明实施例的用于软硬件分层管理的电子设备1400。
如图3所示,本发明实施例的用于软硬件分层管理的电子设备1400包括:
处理器1401和存储器1402,在存储器1402中存储有计算机程序指令,其中,在计算机程序指令被处理器运行时,使得处理器1401执行以下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
进一步地,处理器1401还可以执行软硬件分层管理方法中的相应步骤,在此省略其详细说明。
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器1401代表的一个或者多个中央处理器(CPU),以及由存储器1402代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
所述网络接口1403,可以连接至网络(如因特网、局域网等),从网络中获取相关数据,并可以保存在硬盘1405中。
所述输入设备1404,可以接收操作人员输入的各种指令,并发送给处理器1401以供执行。所述输入设备1404可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
所述显示设备1406,可以将处理器1401执行指令获得的结果进行显示。
所述存储器1402,用于存储操作系统运行所必须的程序和数据,以及处理器1401计算过程中的中间结果等数据。
可以理解,本发明实施例中的存储器1402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器1402旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1402存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统14021和应用程序14014。
其中,操作系统14021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序14014,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序14014中。
上述处理器1401,当调用并执行所述存储器1402中所存储的应用程序和数据,具体的,可以是应用程序14014中存储的程序或指令时,首先,将计算机器的计算资源进行分类;接着,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
本发明上述实施例揭示的方法可以应用于处理器1401中,或者由处理器1401实现。处理器1401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1401可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1402,处理器1401读取存储器1402中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行以下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种。
进一步地,所述处理器还可以执行软硬件分层管理方法中的相应步骤,在此省略其详细说明。
更进一步地,本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备(例如可以是服务器、云服务器、或者服务器的一部分等)的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得软硬件分层管理装置1000实施上述各种实施方式提供的软硬件分层管理方法中。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种软硬件分层管理方法,其特征在于,包括如下步骤:
将计算机器的计算资源进行分类;
基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种;
所述计算机器包括中央处理器和图像处理器,且所述中央处理器的计算资源分为图形处理资源和除图形处理资源外的通用数据计算资源,当运行图像处理软件时,所述图像处理器的处理能力不足的情况下调用所述中央处理器的图形处理资源供软件运行;
将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行;
依据按照所述最小计算单元的性能将所述最小计算单元进行分组,基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行;
所述的软硬件分层管理方法,还包括:
将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能,
其中,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
2.根据权利要求1所述的软硬件分层管理方法,其特征在于,图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
3.根据权利要求1所述的软硬件分层管理方法,其特征在于,多个软件同时运行的时候,将多个软件与多个硬件计算资源进行匹配,即分别给每个软件预定地计算资源。
4.一种软硬件分层管理装置,其特征在于,包括:
分类模块,用于将计算机器的计算资源进行分类;
调用模块,用于基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种;
所述的软硬件分层管理装置,还包括:
最小单元划分模块,用于将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件;
最小单元调用模块,用于基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行;
所述的软硬件分层管理装置,还包括:
分组模块,用于依据按照所述最小计算单元的性能将所述最小计算单元进行分组;
分组调用模块,用于基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行;
所述的软硬件分层管理装置,还包括:
软件拆分模块,用于将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能;
所述最小单元调用模块用于基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
5.根据权利要求4所述的软硬件分层管理装置,其特征在于,
图像处理器的图形处理计算资源的最小计算单元为卡,智能机器的智能计算资源的最小计算单元为簇。
6.根据权利要求4所述的软硬件分层管理装置,其特征在于,所述调用模块,还包括:多个软件同时运行的时候,将多个软件与多个硬件计算资源进行匹配,即分别给每个软件预定地计算资源。
7.一种用于软硬件分层管理的电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器,其中存储了计算机可读代码,所述计算机可读代码当由所述一个或多个处理器运行时,使得所述处理器执行如下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种;
所述计算机器包括中央处理器和图像处理器,且所述中央处理器的计算资源分为图形处理资源和除图形处理资源外的通用数据计算资源,当运行图像处理软件时,所述图像处理器的处理能力不足的情况下调用所述中央处理器的图形处理资源供软件运行;
将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行;
依据按照所述最小计算单元的性能将所述最小计算单元进行分组,基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行;
所述的软硬件分层管理方法,还包括:
将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能,
其中,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
8.一种计算机可读存储介质,其特征在于,其中存储了计算机可读代码,所述计算机可读代码当由一个或多个处理器运行时,使得所述处理器执行如下步骤:
步骤S1,将计算机器的计算资源进行分类;
步骤S2,基于软件对计算资源的需求,调用相应类型的计算资源进行软件的运行,
其中,所述计算资源的类型包括图形处理计算资源、通用数据计算资源及智能计算资源中的一种或多种,所述计算机器包括中央处理器、图像处理器及智能机器中的一种或多种;
所述计算机器包括中央处理器和图像处理器,且所述中央处理器的计算资源分为图形处理资源和除图形处理资源外的通用数据计算资源,当运行图像处理软件时,所述图像处理器的处理能力不足的情况下调用所述中央处理器的图形处理资源供软件运行;
将每个类型的计算资源划分为多个最小计算单元,每个所述最小计算单元能够独立运行软件,基于软件对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行;
依据按照所述最小计算单元的性能将所述最小计算单元进行分组,基于软件对计算资源的需求,调用相应组的最小计算单元进行软件的运行;
所述的软硬件分层管理方法,还包括:
将软件拆分成不同的代码片段,每个代码片段能够独立执行且实现相应的功能,
其中,基于软件对计算资源的需求具体为基于各个所述代码片段对计算资源的需求,调用相应计算资源类型的最小计算单元进行软件的运行。
CN202010258278.4A 2020-04-03 2020-04-03 软硬件分层管理方法、装置及计算机可读存储介质 Active CN111475295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010258278.4A CN111475295B (zh) 2020-04-03 2020-04-03 软硬件分层管理方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010258278.4A CN111475295B (zh) 2020-04-03 2020-04-03 软硬件分层管理方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111475295A CN111475295A (zh) 2020-07-31
CN111475295B true CN111475295B (zh) 2024-02-20

Family

ID=71750570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010258278.4A Active CN111475295B (zh) 2020-04-03 2020-04-03 软硬件分层管理方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111475295B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431107B (zh) * 2023-03-14 2023-12-29 芜湖市桀蒲网络科技有限公司 一种基于大数据的软件模块划分方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641590A (zh) * 2004-01-13 2005-07-20 国际商业机器公司 通过硬件资源利用报告优化性能的方法和数据处理系统
CN108694069A (zh) * 2017-03-30 2018-10-23 英特尔公司 动态可组成的计算系统、数据中心和用于动态组成计算系统的方法
CN110750359A (zh) * 2019-10-17 2020-02-04 中科寒武纪科技股份有限公司 硬件资源配置方法、装置、云侧设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130019015A1 (en) * 2011-07-12 2013-01-17 International Business Machines Corporation Application Resource Manager over a Cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641590A (zh) * 2004-01-13 2005-07-20 国际商业机器公司 通过硬件资源利用报告优化性能的方法和数据处理系统
CN108694069A (zh) * 2017-03-30 2018-10-23 英特尔公司 动态可组成的计算系统、数据中心和用于动态组成计算系统的方法
CN110750359A (zh) * 2019-10-17 2020-02-04 中科寒武纪科技股份有限公司 硬件资源配置方法、装置、云侧设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭鹏 ; 张亚棣 ; 李亚晖 ; 刘帅 ; .新一代机载计算机资源架构研究.航空计算技术.2013,(第01期),全文. *

Also Published As

Publication number Publication date
CN111475295A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
US10162658B2 (en) Virtual processor allocation techniques
US9268394B2 (en) Virtualized application power budgeting
US8910153B2 (en) Managing virtualized accelerators using admission control, load balancing and scheduling
EP2798491B1 (en) Method and device for managing hardware errors in a multi-core environment
US20230127141A1 (en) Microservice scheduling
US8972702B2 (en) Systems and methods for power management in a high performance computing (HPC) cluster
KR20100058670A (ko) 크로스-시스템의 프록시-기반 태스크 오프로딩을 위한 장치, 시스템 및 방법
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
CN114741207A (zh) 一种基于多维度组合并行的gpu资源调度方法和系统
CN109417488A (zh) 虚拟网络功能资源管理的方法和设备
CN113590508B (zh) 动态可重构的内存地址映射方法及装置
CN103116517A (zh) 虚拟化平台下i/o通道的调整方法和调整装置
CN115981685A (zh) 应用升级方法、装置、计算设备和芯片系统
EP1393175A2 (en) A resource management method
CN111475295B (zh) 软硬件分层管理方法、装置及计算机可读存储介质
CN111552547A (zh) 作业处理方法、装置以及计算机设备
CN118069575A (zh) 一种存储空间管理方法及管理设备
CN113556264A (zh) 实时云平台管理监控系统
US10157066B2 (en) Method for optimizing performance of computationally intensive applications
CN109614242B (zh) 一种计算能力共享方法、装置、设备及介质
CN110908783A (zh) 一种云数据中心虚拟机的管控方法、系统及设备
WO2013165349A1 (en) Processor providing multiple system images
CN113220368B (zh) 一种存储客户端资源隔离方法、系统、终端及存储介质
CN112948118A (zh) 边缘计算方法、平台、计算机设备和可读存储介质
CN109302386B (zh) 一种服务器压缩解压缩刀片、系统、及压缩解压缩方法

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