CN114579295A - 适应性调用外部硬件资源的方法 - Google Patents
适应性调用外部硬件资源的方法 Download PDFInfo
- Publication number
- CN114579295A CN114579295A CN202011405174.8A CN202011405174A CN114579295A CN 114579295 A CN114579295 A CN 114579295A CN 202011405174 A CN202011405174 A CN 202011405174A CN 114579295 A CN114579295 A CN 114579295A
- Authority
- CN
- China
- Prior art keywords
- external
- operating system
- hardware
- determining
- response
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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
技术领域
本发明是有关于一种调用硬件资源的技术,且特别是有关于一种适应性调用外部硬件资源的方法及电子装置。
背景技术
经量测,使用Chrome操作系统(OS)的电子装置(例如Chromebook)在使用图像处理单元(GPU)时的效能数据远不及使用WindowsTM 10的电子装置。
在现有技术中,虽存在有调用外部装置的硬件资源来协助本地装置运行程序、软件以改善运行效能的技术,但针对虚拟环境而言,目前并未有相关的技术存在。
发明内容
有鉴于此,本发明提供一种适应性调用外部硬件资源的方法及电子装置,其可用于解决上述技术问题。
本发明提供一种适应性调用外部硬件资源的方法,适于一电子装置,其中电子装置经建置有一虚拟环境,且虚拟环境中运行有一客户操作系统,包括:反应于接收到来自客户操作系统的一虚拟装置命令,取得电子装置中一特定硬件装置的一使用率;反应于判定特定硬件装置的使用率高于一第一使用率门限值,取得电子装置的一前景程序、一背景程序及至少一操作系统服务,并依据前景程序、背景程序及至少一操作系统服务决定一外部资源需求量;基于外部资源需求量调用至少一外部装置的硬件装置,并以至少一外部装置的硬件装置及特定硬件装置协同运行前景程序、背景程序及至少一操作系统服务。
本发明提供一种电子装置,其中电子装置经建置有一虚拟环境,且虚拟环境中运行有一客户操作系统。电子装置包括储存电路及处理器。储存电路储存有多个模块。处理器耦接于储存电路,并存取所述多个模块以执行下列步骤:反应于接收到来自客户操作系统的一虚拟装置命令,取得电子装置中一特定硬件装置的一使用率;反应于判定特定硬件装置的使用率高于一第一使用率门限值,取得电子装置的一前景程序、一背景程序及至少一操作系统服务,并依据前景程序、背景程序及至少一操作系统服务决定一外部资源需求量;基于外部资源需求量调用至少一外部装置的硬件装置,并以至少一外部装置的硬件装置及特定硬件装置协同运行前景程序、背景程序及至少一操作系统服务。
附图说明
图1是依据本发明之一实施例绘示的电子装置实体环境与虚拟环境示意图。
图2是依据图1绘示的电子装置实体环境与虚拟环境以及外部装置的示意图。
图3是依据本发明之一实施例绘示的适应性调用外部硬件资源的方法流程图。
图4是依据本发明之一实施例绘示的调用外部装置的硬件装置机制示意图。
其中:
100,200:电子装置;
102,202:虚拟环境;
104,206:客户操作系统;
201:CPU;
204:资源安排函数库;
204a:资源安排推理API;
204b:外部资源安排API;
299:外部装置;
S310~S330,S410~S480:步骤。
具体实施方式
请参照图1,其是依据本发明之一实施例绘示的电子装置实体环境与虚拟环境示意图。在不同的实施例中,电子装置100例如是各式电脑装置及智能型装置,但可不限于此。在图1中,电子装置100可包括各式处理器(例如中央处理单元(CPU)、GPU)、各式储存电路(例如系统随机存取内存(RAM)、图像RAM)、屏幕、屏幕控制器等硬件装置,但可不限于此。
另外,电子装置100上可经建置有虚拟环境102,而其中可运行有客户操作系统(guest OS)104。在不同的实施例中,虚拟环境102例如可采用虚拟机器(virtual machine,VM)、容器(container)、Docker映像档、Wine等方式实现,而操作系统104例如是Chrome操作系统、WindowsTM,或其他类似者。
如图1所示,在虚拟环境102中可运行有图形函数库(graphic library,GL)渲染器(renderer),而在操作系统104中可运行有VirGL、Vulkan、Virtio-GPU及应用程序。此外,电子装置100本身可运行有主操作系统(host OS),而此主操作系统可运行有OpenGL、Vulkan及系统调用接口(system call interface,SCI)等程序,但可不限于此。
图1所示的各种软件/程序可参照相关现有技术中的说明,故其细节于此不另赘述。
参照图2,其是依据图1绘示的电子装置实体环境与虚拟环境以及外部装置的示意图。在图2中,电子装置200可以各种有线/无线方式连接于一或多个外部装置299(其例如是各式电脑装置及/或智能型装置),而电子装置200可基于本发明提出的方法适应性地调用这些外部装置299中的一或多者所提供的可用资源,相关细节将在之后详述。
如图2所示,电子装置200的硬件架构及实施方式大致相似于图1中的电子装置100,惟电子装置200的虚拟环境202中另设置有资源安排函数库204,而其可包括资源安排推理应用程序界面(API)204a及外部资源安排API 204b。
在本发明的一实施例中,电子装置200中的CPU 201可用于执行资源安排推理API204a及外部资源安排API 204b,以执行本发明提出的适应性调用外部硬件资源的方法,以下将作进一步说明。
请参照图3,其是依据本发明之一实施例绘示的适应性调用外部硬件资源的方法流程图。本实施例的方法可由图2的电子装置200执行,以下即搭配图2所示的元件说明图3各步骤的细节。
首先,在步骤S310中,反应于接收到来自客户操作系统206的虚拟装置命令,CPU201可执行资源安排推理API 204a以取得电子装置200中特定硬件装置的使用率。在一实施例中,上述虚拟装置命令例如是Virtio装置命令(Virtio device command),但可不限于此。另外,在不同的实施例中,上述特定硬件装置例如是电子装置200的CPU 201、GPU、系统RAM及/或图像RAM,或其他电子装置200中的硬件装置。
为便于说明,以下将以CPU 201作为所述特定硬件装置的实例,但其并非用以限定本发明可能的实施方式。在此情况下,CPU 201在步骤S310中可取得自身的使用率,并可接着判断所取得的使用率是否高于第一负载门限值。
在不同的实施例中,所述第一负载门限值可理解为判断特定硬件装置(例如CPU201)是否处于过载状态的依据,而设计者可依需求而设定第一负载门限值的数值(例如95%),但可不限于此。
在一实施例中,反应于判定特定硬件装置的使用率未高于第一使用率门限值,则CPU 201可执行资源安排推理API 204a以仅以特定硬件装置运行电子装置200的前景程序、背景程序及操作系统服务。
另一方面,在步骤S320中,反应于判定特定硬件装置的使用率高于第一使用率门限值,CPU 201可执行资源安排推理API 204a以取得电子装置200的前景程序、背景程序及操作系统服务(OS service),并依据前景程序、背景程序及操作系统服务决定外部资源需求量。在不同的实施例中,上述前景/背景程序例如是电子装置200上运作中的各式前景/背景应用程序/软件,而所述操作系统服务例如是记录于工作管理员中的各式软件服务,但可不限于此。
在一实施例中,CPU 201例如可执行资源安排推理API 204a以将前景程序、背景程序及操作系统服务输入经训练的人工智能模型,其中人工智能模型可因应于前景程序、背景程序及操作系统服务而输出一特定资源需求量。
在一实施例中,上述人工智能模型例如是一长短期记忆(long short termmemory,LSTM)模型,而在其相关的预训练过程中,设计者例如可先将某个装置运作某些前景程序、背景程序及操作系统服务时的硬件装置使用率(例如CPU使用率)、装置规格、容量、操作系统显示的装置信息等内容转换为两份文字档,以作为上述人工智能模型的训练资料集。在训练所述人工智能模型的过程中,可建立每一组前景程序、背景程序及操作系统服务与所调用到的硬件装置(包括CPU/GPU/RAM)的资源(例如页面档案(page file)、Swap档案、Swap分割等)的关联性。藉此,在完成所述人工智能模型的训练之后,当所述人工智能模型接收到以文字档表示的某一组前景程序、背景程序及操作系统服务时,所述人工智能模型即可相应地提供需多少硬件资源(即,所述特定资源需求量)才能让硬件装置以较低的使用率(例如50%)运行此组前景程序、背景程序及操作系统服务。
在取得所述特定资源需求量之后,CPU 201可执行资源安排推理API 204a以基于特定资源需求量与特定硬件装置(例如CPU 201)的可用资源量决定外部资源需求量。例如,CPU 201可将特定资源需求量与特定硬件装置的可用资源量之间的差值作为上述外部资源需求量,但可不限于此。
接着,在步骤S330中,CPU 201可执行外部资源安排API 204b基于外部资源需求量调用外部装置的硬件装置,并以外部装置的硬件装置及特定硬件装置协同运行前景程序、背景程序及操作系统服务。为便于说明,以下另辅以图4说明步骤S330的细节。
请参照图4,其是依据本发明之一实施例绘示的调用外部装置的硬件装置机制示意图。图4的各个步骤可由CPU 201藉由执行外部资源安排API 204b以实现。概略而言,假设外部装置299皆具有虚拟环境,则对于外部装置299中的第i个外部装置而言,CPU 201可判断外部装置299中的第1个外部装置(下称第一外部装置)至所述第i个外部装置所能提供的全部可用资源是否可满足所述外部资源需求量。若是,则CPU 201可相应地调用所述第1个至第i个外部装置的硬件装置来协助电子装置200运行前景程序、背景程序及操作系统服务,反之则可对外部装置299中的第i+1个外部装置进行上述判断,直至所述外部资源需求量被满足为止,但可不限于此。
具体而言,在步骤S410中,CPU 201可判断第一外部装置是否具有操作系统。若是,则CPU 201可执行步骤S420,反之则可执行步骤S460以忽略第一外部装置460。并且,在步骤S460之后,CPU 201可接续执行步骤S480,而其细节将在之后详述。
在步骤S420中,CPU 201可判断第一外部装置是否具有虚拟环境。若否,则CPU 201可执行步骤S470以控制第一外部装置建立虚拟环境,并接着执行步骤S430。另一方面,若CPU201在步骤S420中判定第一外部装置具有虚拟环境,则CPU 201可接着执行步骤S430,以取得第一外部装置中对应于特定硬件装置的第一硬件装置的第一可用硬件资源。承上例,在特定硬件装置经假设为电子装置200的CPU 201的情况下,CPU 201例如可相应地取得第一外部装置中CPU的可用硬件资源作为上述第一可用硬件资源,但可不限于此。
之后,在步骤S440中,CPU 201可判断第一可用硬件资源是否满足外部资源需求量。若是,则CPU 201可执行步骤S450以调用第一外部装置的第一硬件装置(例如CPU),并以第一硬件装置与特定硬件装置协同运行前景程序、背景程序及操作系统服务。在一实施例中,CPU 201例如可将第一硬件装置的相关资讯回报至图2中的客户操作系统206,以让客户操作系统206可同时使用电子装置200的CPU 201及第一外部装置的第一硬件装置(例如CPU)来运行步骤S320中所取得的前景程序、背景程序及操作系统服务,但可不限于此。
另一方面,若CPU 201在步骤S440中判断第一可用硬件资源未满足外部资源需求量,则CPU 201可接续执行步骤S480,以调用其他外部装置。
概略而言,CPU 201可接着对外部装置299中的第2个外部装置(下称第二外部装置)进行类似于步骤S410~S480的内容,惟在对第二外部装置执行步骤S440的细节略有不同。
具体而言,对于第二外部装置,CPU 201可经配置以:判断第二外部装置是否具有操作系统(对应步骤S410);反应于判定第二外部装置具有操作系统,判断第二外部装置是否具有虚拟环境(对应步骤S420);反应于判定第二外部装置具有虚拟环境,取得第二外部装置中对应于特定硬件装置的一第二硬件装置(例如第二外部装置的CPU)的一第二可用硬件资源(对应步骤S430)。
在取得第二硬件装置的第二可用硬件资源之后,CPU 201可判断第一可用硬件资源及第二可用硬件资源的总和是否满足外部资源需求量。若是,则CPU 201可相应地调用第一硬件装置及第二硬件装置,并以第一硬件装置、第二硬件装置与特定硬件装置协同运行前景程序、背景程序及操作系统服务。
另一方面,若CPU 201仍判定第一可用硬件资源及第二可用硬件资源的总和未满足外部资源需求量,则CPU 201可对外部装置299中的第3个外部装置再次执行相似于步骤S410~S480的内容,直至所考虑的N个外部装置的可用硬件资源的总和满足外部资源需求量为止。
在一些实施例中,在执行步骤S330之后,CPU 201可判断特定硬件装置及各外部装置的硬件装置中任一的使用率是否高于一第二使用率门限值。若是,则CPU 201可重新训练上述人工智能模型,反之则可维持所述人工智能模型。
详细而言,在执行步骤S330之后,特定硬件装置及各外部装置的硬件装置理应以较低使用率运行。换言之,若特定硬件装置及各外部装置的硬件装置仍以高于第二使用率门限值(例如50%)的状态运行,其代表上述人工智能模型所推理而得的外部资源需求量可能因品质不佳而无法有效地降低特定硬件装置及各外部装置的硬件装置。因此,CPU 201可相应地重新训练上述人工智能模型。
在一实施例中,CPU 201可维护有一观察程序(observation agent),而此观察程序可用于判断特定硬件装置及各外部装置的硬件装置中任一的使用率是否高于第二使用率门限值。若是,则观察程序可提供一惩罚(punishment)信号,以触发CPU 201重新训练上述人工智能模型。另一方面,若观察程序判定特定硬件装置及各外部装置的硬件装置的使用率皆未高于第二使用率门限值,则观察程序可提供一奖赏(reward)信号,以触发CPU 201维持上述人工智能模型,但可不限于此。
综上所述,本发明实施例提出的方法可在电子装置因在虚拟环境中运行客户操作系统而导致特定硬件装置出现较高的使用率时,基于当下的前景程序、背景程序及操作系统服务决定相应的外部资源需求量,并进而调用外部装置的硬件装置来协助电子装置执行上述前景程序、背景程序及操作系统服务。藉此,可降低电子装置的特定硬件装置的使用率,进而得到增加系统效能的效果。并且,透过适当地训练用于推理外部资源需求量的人工智能模型,可让外部装置的硬件装置能够较为智能且合理地被调用。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求书所界定者为准。
Claims (10)
1.一种适应性调用外部硬件资源的方法,适于一电子装置,其中该电子装置经建置有一虚拟环境,且该虚拟环境中运行有一客户操作系统,包括:
反应于接收到来自该客户操作系统的一虚拟装置命令,取得该电子装置中一特定硬件装置的一使用率;
反应于判定该特定硬件装置的该使用率高于一第一使用率门限值,取得该电子装置的一前景程序、一背景程序及至少一操作系统服务,并依据该前景程序、该背景程序及该至少一操作系统服务决定一外部资源需求量;
基于该外部资源需求量调用至少一外部装置的硬件装置,并以该至少一外部装置的该硬件装置及该特定硬件装置协同运行该前景程序、该背景程序及该至少一操作系统服务。
2.如权利要求1所述的方法,其特征在于,依据该前景程序、该背景程序及该至少一操作系统服务决定该外部资源需求量的步骤包括:
将该前景程序、该背景程序及该至少一操作系统服务输入经训练的一人工智能模型,其中该人工智能模型因应于该前景程序、该背景程序及该至少一操作系统服务而输出一特定资源需求量;以及
基于该特定资源需求量与该特定硬件装置的一可用资源量决定该外部资源需求量。
3.如权利要求2所述的方法,其特征在于,在以该至少一外部装置的该硬件装置及该特定硬件装置协同运行该前景程序、该背景程序及该至少一操作系统服务的步骤之后,还包括:
反应于判定该特定硬件装置及各该外部装置的该硬件装置中任一的使用率高于一第二使用率门限值,重新训练该人工智能模型。
4.如权利要求1所述的方法,其特征在于,该至少一外部装置包括一第一外部装置,且基于该外部资源需求量调用至少一外部装置的该硬件资源的步骤包括:
判断该第一外部装置是否具有一操作系统;
反应于判定该第一外部装置具有该操作系统,判断该第一外部装置是否具有一虚拟环境;
反应于判定该第一外部装置具有该虚拟环境,取得该第一外部装置中对应于该特定硬件装置的一第一硬件装置的一第一可用硬件资源;
反应于判定该第一可用硬件资源满足该外部资源需求量,调用该第一硬件装置。
5.如权利要求4所述的方法,其特征在于,反应于判定该第一外部装置未具有任何操作系统,所述方法还包括忽略该第一外部装置。
6.如权利要求4所述的方法,其特征在于,反应于判定该第一外部装置未具有任何虚拟环境,所述方法还包括控制该第一外部装置建立该虚拟环境。
7.如权利要求4所述的方法,其特征在于,该至少一外部装置还包括一第二外部装置,且反应于判定该第一可用硬件资源未满足该外部资源需求量,所述方法还包括:
判断该第二外部装置是否具有该操作系统;
反应于判定该第二外部装置具有该操作系统,判断该第二外部装置是否具有该虚拟环境;
反应于判定该第二外部装置具有该虚拟环境,取得该第二外部装置中对应于该特定硬件装置的一第二硬件装置的一第二可用硬件资源;
反应于判定该第一可用硬件资源及该第二可用硬件资源的总和满足该外部资源需求量,调用该第一硬件装置及该第二硬件装置。
8.如权利要求1所述的方法,其特征在于,该虚拟装置命令包括来自该客户操作系统的一Virtio装置命令。
9.如权利要求1所述的方法,其特征在于,反应于判定该特定硬件装置的该使用率未高于该第一使用率门限值,还包括仅以该特定硬件装置运行该前景程序、该背景程序及该至少一操作系统服务。
10.一种电子装置,其中该电子装置经建置有一虚拟环境,且该虚拟环境中运行有一客户操作系统,包括:
一储存电路,储存有多个模块;以及
一处理器,耦接于该储存电路,并存取该些模块以执行下列步骤:
反应于接收到来自该客户操作系统的一虚拟装置命令,取得该电子装置中一特定硬件装置的一使用率;
反应于判定该特定硬件装置的该使用率高于一第一使用率门限值,取得该电子装置的一前景程序、一背景程序及至少一操作系统服务,并依据该前景程序、该背景程序及该至少一操作系统服务决定一外部资源需求量;
基于该外部资源需求量调用至少一外部装置的硬件装置,并以该至少一外部装置的该硬件装置及该特定硬件装置协同运行该前景程序、该背景程序及该至少一操作系统服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405174.8A CN114579295A (zh) | 2020-12-02 | 2020-12-02 | 适应性调用外部硬件资源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405174.8A CN114579295A (zh) | 2020-12-02 | 2020-12-02 | 适应性调用外部硬件资源的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579295A true CN114579295A (zh) | 2022-06-03 |
Family
ID=81769518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011405174.8A Pending CN114579295A (zh) | 2020-12-02 | 2020-12-02 | 适应性调用外部硬件资源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579295A (zh) |
-
2020
- 2020-12-02 CN CN202011405174.8A patent/CN114579295A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102490908B1 (ko) | 자원 스케줄링 방법 및 단말 장치 | |
US11157302B2 (en) | Idle processor management in virtualized systems via paravirtualization | |
WO2020063041A1 (zh) | 多核处理器的调度方法、装置、终端及存储介质 | |
CN111400000A (zh) | 网络请求处理方法、装置、设备和存储介质 | |
US8780120B2 (en) | GPU self throttling | |
CN112860396B (zh) | 一种基于分布式深度学习的gpu调度方法及系统 | |
CN111274044B (zh) | Gpu虚拟化资源限制处理方法及装置 | |
US20230403437A1 (en) | Graphics engine and graphics processing method applicable to player | |
CN111708642A (zh) | Vr系统中处理器性能优化方法、装置及vr设备 | |
CN118035618B (zh) | 数据处理器、数据处理方法、电子设备、存储介质 | |
US20210209471A1 (en) | Processor memory optimization method and apparatus for deep learning training tasks | |
CN117311628A (zh) | 一种固态硬盘的命令处理方法、装置、设备及介质 | |
CN114816766B (zh) | 一种计算资源分配方法及其相关组件 | |
CN116866661A (zh) | 一种视频预渲染方法、装置、设备及存储介质 | |
CN114579295A (zh) | 适应性调用外部硬件资源的方法 | |
TWI768478B (zh) | 適應性調用外部硬體資源的方法 | |
CN114116220B (zh) | 一种gpu共享控制方法、gpu共享控制装置及存储介质 | |
CN113032154B (zh) | 一种虚拟cpu的调度方法、装置、电子设备及存储介质 | |
CN115827552A (zh) | 计算任务处理方法、装置以及存储介质 | |
CN114386577A (zh) | 用于执行深度学习模型的方法、设备和存储介质 | |
CN112114967A (zh) | 一种基于服务优先级的gpu资源预留方法 | |
CN117971317B (zh) | 中央处理器与加速器交互方法、装置及电子设备 | |
CN114217872B (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
US12093806B1 (en) | Static memory allocation for neural network inference | |
CN115373507B (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 |