CN107402807A - 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 - Google Patents
在计算机系统中有效提升多任务执行效率的方法、系统和处理器 Download PDFInfo
- Publication number
- CN107402807A CN107402807A CN201710584813.3A CN201710584813A CN107402807A CN 107402807 A CN107402807 A CN 107402807A CN 201710584813 A CN201710584813 A CN 201710584813A CN 107402807 A CN107402807 A CN 107402807A
- Authority
- CN
- China
- Prior art keywords
- resource
- region
- lifting
- execution efficiency
- multitask
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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)
- Multi Processors (AREA)
Abstract
本发明公开了一种在计算机系统中有效提升多任务执行效率的方法,按照如下步骤进行:加载系统和相关资源进程;根据进程和各进程资源的实际占用将其划分成优先等级从高到低的区域;根据各区域的优先权等级分配硬件资源;实时监控各区域资源的实际占用,如果有变化则循环步骤S2‑S3。通过本方法可以提升系统资源利用率、减少进程切换延迟,提升多任务应用的响应速率。从而在同等硬件资源的前提下,更加有效的管理多任务程序之间的资源分配和调度,是复杂系统环境下提升计算机系统运行效率的必要手段。
Description
技术领域:
本发明属于计算机处理技术领域,特别涉及一种计算机系统中有效提升多任务执行效率的方法,还涉及其利用该方法的系统和处理器。
背景技术:
随着多核心处理器终端设备和大型分布式计算系统的逐渐普及,能够承载大规模复杂计算任务的云系统、大数据、智能化处理等各种新兴密集运算系统与其衍生产品得到了广泛的发展。而在个人终端计算设备中,包括移动设备在内,其中所负载的应用程序也同样向复杂化、多功能化和高度集中化的方向发展,过去只需要开启一个进程就能运行的程序,现在往往会开启数个进程才能完成工作,从而导致设备内的进程数量大幅增加。
与此同时,传统的操作系统进程管理机制没有得到应有的改善。以Windows平台为例,进程的切换需要效果大量的CPU计算资源,而切换的标准是以系统进程的优先级为依据,依次轮换执行。也就是说,随着进程数量的增加,同等硬件条件下的单位任务处理能力便会相应减少。
在某些移动平台中,多任务的处理往往是以强制休眠后台进程的方式来提升用户操作的流畅度体验,例如安卓系统。这一方面是由于移动设备的运算能力有限,无法应对多任务复杂环境中的进程间频繁切换所带来的性能损耗,同时也是因为后台任务的计算往往会造成电量的无谓损耗,最终导致待机时间的大幅减少,例如一些较老的智能手机,用户在多个app之间切换变得非常困难。
综上所述,无论是在传统终端、服务器领域,还是在个人移动平台中,多任务所带来的便捷性往往都受到了客观条件的制约,与硬件系统的执行效能相冲突。为解决这一问题,尽可能的发挥出多核心设备在处理并行化任务时的固有优势,减少无谓的资源浪费,本公司提出了一种使用多维化概念动态分配系统资源的方法。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容:
本发明的目的之一在于提供一种在计算机系统中有效提升多任务执行效率的方法,本发明的目的之二在于提供一种利用前述方法工作的系统,本发明的目的之三在于提供一种运行前述系统的处理器,从而克服上述现有技术中的缺陷。
为实现上述目的,本发明提供了一种在计算机系统中有效提升多任务执行效率的方法,按照如下步骤进行:
S1 加载系统和相关资源进程;
S2 根据进程和各进程资源的实际占用将其划分成优先等级从高到低的区域;
S3 根据各区域的优先权等级分配硬件资源;
S4 实时监控各区域资源的实际占用,如果有变化则循环步骤S2-S3。
本方法的核心原理在于多维数据空间中的时间维度相对性,即在相同单位时间内,不同空间区域中的时间片段数量是不同的。比如,假设进程A为空闲进程,则其在单位时间1秒内可能只会被分配到1个CPU时间片段,而进程B为繁忙进程,则在1秒内可能就会被分配99个CPU时间片段。因此,相对于进程B来说,其所经历的实际时间是进程A的99倍。
以上述数据空间中的时间相对法则为基础,本方法将数据空间中的不同区域按照系统硬件的支持能力划分为了多种时间流速,每一个独立区域内部的实际计算需求决定了该区域所能得到的实际计算资源的多少,不同区域之间可以共享一个CPU核心,也可以专属某一个核心,所有区域按照运算资源需求量的多少依次划分。
优选地,上述技术方案中,步骤S1具体为:初始化数据空间系统,将所要管理的系统与相关资源载入数据空间。
优选地,上述技术方案中,步骤S2具体为:
S2.1如果用户有自定义优先设定,则载入用户自定义的优先级设定并进入S3,如不存在自定义设定,则将数据空间中的优先级统一设置为背景区域并进入S2.2;
S2.2记录每个进程的运行情况,根据进程和相关资源的实际占用找到系统运算的核心区域;
S2.3 以核心区域为中心,划定专属区域、外围区域和背景区域。
优选地,上述技术方案中,步骤S3具体为:
S3.1 保证专属区域、外围区域和背景区域拥有一个专属或共享的运算核心;
S3.2 将空闲的运算资源集中在专属区域,保证核心区域极其专属资源的快速切换与衔接;
S3.3 如果处理器具有两个或以上计算核心,则核心区域和/或专属区域与其他区域之间不允许共享同一个计算核心。
优选地,上述技术方案中,背景区域包括了所有进程间的低利用率共享资源;而外围区域则包括其专属调用的外部DLL资源,且其资源占用量高于背景区域;专属区域则包含了进程运行所依赖的所有内部专属资源,且资源占用量高于外围区域;核心运算区域则为完成当前运算的所属区域。
优选地,上述技术方案中,核心区域运算任务完成,系统对其进行资源清理或转入后台休眠模式,根据划分规则重新划分区域和分配资源。
一种有效提升多任务执行效率的系统,该系统包括:
系统监控模块,记录每个进程和硬件资源的实际占用;
系统资源分配模块,根据系统监控模块的记录将进程分为核心区域、专属区域、外围区域和背景区域。
一种处理器,处理器运行有权利要求7所述的有效提升多任务执行效率的系统。
与现有技术相比,本发明具有如下有益效果:通过本方法可以提升系统资源利用率、减少进程切换延迟,提升多任务应用的响应速率。从而在同等硬件资源的前提下,更加有效的管理多任务程序之间的资源分配和调度,是复杂系统环境下提升计算机系统运行效率的必要手段。同时该方法也可以应用于分布式计算领域,对于大型计算机网络内部的资源管理也具有极好的效果,可以极大提升数据库服务器并发处理、云计算、大数据分析等各种多任务系统的运算能力。
附图说明:
图1为本发明的区域划分示意图。
具体实施方式:
下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或 组成部分,而并未排除其它元件或其它组成部分。
一种在计算机系统中有效提升多任务执行效率的方法,按照如下步骤进行:
S1 加载系统和相关资源进程,具体为:初始化数据空间系统,将所要管理的系统与相关资源载入数据空间。
S2 根据进程和各进程资源的实际占用将其划分成优先等级从高到低的区域;其具体为:
S2.1 如果用户有自定义优先设定,则载入用户自定义的优先级设定并进入S3,如不存在自定义设定,则将数据空间中的优先级统一设置为背景区域并进入S2.2;
S2.2 记录每个进程的运行情况,根据进程和相关资源的实际占用找到系统运算的核心区域;
S2.3 以核心区域为中心,划定专属区域、外围区域和背景区域。
背景区域包括了所有进程间的低利用率共享资源;而外围区域则包括其专属调用的外部DLL资源,且其资源占用量高于背景区域;专属区域则包含了进程运行所依赖的所有内部专属资源,且资源占用量高于外围区域;核心运算区域则为完成当前运算的所属区域。
S3 根据各区域的优先权等级分配硬件资源;其具体为:
S3.1 保证专属区域、外围区域和背景区域拥有一个专属或共享的运算核心;
S3.2 将空闲的运算资源集中在专属区域,保证核心区域极其专属资源的快速切换与衔接;
S3.3 如果处理器具有两个或以上计算核心,则核心区域和/或专属区域与其他区域之间不允许共享同一个计算核心。
S4 实时监控各区域资源的实际占用,如果有变化则循环步骤S2-S3。核心区域运算任务完成,系统对其进行资源清理或转入后台休眠模式,根据划分规则重新划分区域和分配资源。
一种有效提升多任务执行效率的系统,该系统包括:
系统监控模块,记录每个进程和硬件资源的实际占用;
系统资源分配模块,根据系统监控模块的记录将进程分为核心区域、专属区域、外围区域和背景区域。
一种处理器,处理器运行有有效提升多任务执行效率的系统,具体为:
系统监控模块,记录每个进程和硬件资源的实际占用;
系统资源分配模块,根据系统监控模块的记录将进程分为核心区域、专属区域、外围区域和背景区域。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。 这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (8)
1.一种在计算机系统中有效提升多任务执行效率的方法,其特征在于:按照如下步骤进行:
S1 加载系统和相关资源进程;
S2 根据进程和各进程资源的实际占用将其划分成优先等级从高到低的区域;
S3 根据各区域的优先权等级分配硬件资源;
S4 实时监控各区域资源的实际占用,如果有变化则循环步骤S2-S3。
2.根据权利要求1所述的在计算机系统中有效提升多任务执行效率的方法,其特征在于:步骤S1具体为:初始化数据空间系统,将所要管理的系统与相关资源载入数据空间。
3.根据权利要求1所述的在计算机系统中有效提升多任务执行效率的方法,其特征在于:步骤S2具体为:
S2.1如果用户有自定义优先设定,则载入用户自定义的优先级设定并进入S3,如不存在自定义设定,则将数据空间中的优先级统一设置为背景区域并进入S2.2;
S2.2记录每个进程的运行情况,根据进程和相关资源的实际占用找到系统运算的核心区域;
S2.3 以核心区域为中心,划定专属区域、外围区域和背景区域。
4.根据权利要求1所述的在计算机系统中有效提升多任务执行效率的方法,其特征在于:步骤S3具体为:
S3.1 保证专属区域、外围区域和背景区域拥有一个专属或共享的运算核心;
S3.2 将空闲的运算资源集中在专属区域,保证核心区域极其专属资源的快速切换与衔接;
S3.3 如果处理器具有两个或以上计算核心,则核心区域和/或专属区域与其他区域之间不允许共享同一个计算核心。
5.根据权利要求1所述的在计算机系统中有效提升多任务执行效率的方法,其特征在于:背景区域包括了所有进程间的低利用率共享资源;而外围区域则包括其专属调用的外部DLL资源,且其资源占用量高于背景区域;专属区域则包含了进程运行所依赖的所有内部专属资源,且资源占用量高于外围区域;核心运算区域则为完成当前运算的所属区域。
6.根据权利要求3-5任一权利要求所述的在计算机系统中有效提升多任务执行效率的方法,其特征在于:核心区域运算任务完成,系统对其进行资源清理或转入后台休眠模式,根据划分规则重新划分区域和分配资源。
7.一种有效提升多任务执行效率的系统,其特征在于:该系统包括:
系统监控模块,记录每个进程和硬件资源的实际占用;
系统资源分配模块,根据系统监控模块的记录将进程分为核心区域、专属区域、外围区域和背景区域。
8.一种处理器,其特征在于:所述处理器运行有权利要求7所述的有效提升多任务执行效率的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710584813.3A CN107402807A (zh) | 2017-07-18 | 2017-07-18 | 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710584813.3A CN107402807A (zh) | 2017-07-18 | 2017-07-18 | 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107402807A true CN107402807A (zh) | 2017-11-28 |
Family
ID=60402160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710584813.3A Pending CN107402807A (zh) | 2017-07-18 | 2017-07-18 | 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402807A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352710A (zh) * | 2018-12-24 | 2020-06-30 | 北京奇虎科技有限公司 | 进程管理方法及装置、计算设备、存储介质 |
CN111427686A (zh) * | 2020-03-23 | 2020-07-17 | 贵阳块数据城市建设有限公司 | 一种处理器多线程并发方法 |
CN112698943A (zh) * | 2020-12-29 | 2021-04-23 | 北京顺达同行科技有限公司 | 资源分配方法、装置、计算机设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080066077A1 (en) * | 2003-04-22 | 2008-03-13 | International Business Machines Corporation | Cooperatively multitasking in an interrupt free computing environment |
US20110252429A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
CN104268022A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮(北京)电子信息产业有限公司 | 一种操作系统中进程的资源分配方法及系统 |
CN105787360A (zh) * | 2016-03-02 | 2016-07-20 | 杭州字节信息技术有限公司 | 一种嵌入式系统内存安全访问控制的技术实现方法 |
-
2017
- 2017-07-18 CN CN201710584813.3A patent/CN107402807A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080066077A1 (en) * | 2003-04-22 | 2008-03-13 | International Business Machines Corporation | Cooperatively multitasking in an interrupt free computing environment |
US20110252429A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
CN104268022A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮(北京)电子信息产业有限公司 | 一种操作系统中进程的资源分配方法及系统 |
CN105787360A (zh) * | 2016-03-02 | 2016-07-20 | 杭州字节信息技术有限公司 | 一种嵌入式系统内存安全访问控制的技术实现方法 |
Non-Patent Citations (1)
Title |
---|
候泽欣 等: ""基于综合优先级的改进执行时间分配算法"", 《雷达与对抗》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352710A (zh) * | 2018-12-24 | 2020-06-30 | 北京奇虎科技有限公司 | 进程管理方法及装置、计算设备、存储介质 |
CN111352710B (zh) * | 2018-12-24 | 2024-02-06 | 三六零科技集团有限公司 | 进程管理方法及装置、计算设备、存储介质 |
CN111427686A (zh) * | 2020-03-23 | 2020-07-17 | 贵阳块数据城市建设有限公司 | 一种处理器多线程并发方法 |
CN111427686B (zh) * | 2020-03-23 | 2023-03-24 | 贵阳块数据城市建设有限公司 | 一种处理器多线程并发方法 |
CN112698943A (zh) * | 2020-12-29 | 2021-04-23 | 北京顺达同行科技有限公司 | 资源分配方法、装置、计算机设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210073169A1 (en) | On-chip heterogeneous ai processor | |
US20210073170A1 (en) | Configurable heterogeneous ai processor | |
US8146089B2 (en) | Sharing resources of a partitioned system | |
US9612648B2 (en) | System and method for memory channel interleaving with selective power or performance optimization | |
US10922153B2 (en) | Communication method and device for virtual base stations | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
US10013264B2 (en) | Affinity of virtual processor dispatching | |
WO2022105440A1 (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
US10048886B2 (en) | Method and system providing file system for an electronic device comprising a composite memory device | |
CN107070709B (zh) | 一种基于底层numa感知的nfv实现方法 | |
US20140237151A1 (en) | Determining a virtual interrupt source number from a physical interrupt source number | |
US10831539B2 (en) | Hardware thread switching for scheduling policy in a processor | |
CN107562685B (zh) | 一种基于延时补偿的多核处理器核心间数据交互的方法 | |
CN107402807A (zh) | 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 | |
CN105718315A (zh) | 一种任务处理方法及服务器 | |
WO2016202153A1 (zh) | 一种gpu资源的分配方法及系统 | |
CN111191777A (zh) | 一种神经网络处理器及其控制方法 | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
WO2016202154A1 (zh) | 一种gpu资源的分配方法及系统 | |
KR102320324B1 (ko) | 쿠버네티스 환경에서의 이종 하드웨어 가속기 활용 방법 및 이를 이용한 장치 | |
CA3139693A1 (en) | Dynamic allocation of computing resources | |
US20190272461A1 (en) | System and method to dynamically and automatically sharing resources of coprocessor ai accelerators | |
Liu et al. | KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes | |
CN107479870A (zh) | 一种第三方类库调用方法、装置、移动终端及存储介质 | |
US9176910B2 (en) | Sending a next request to a resource before a completion interrupt for a previous request |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171128 |
|
RJ01 | Rejection of invention patent application after publication |