CN117112169A - Heterogeneous multi-core system-oriented resource management method - Google Patents
Heterogeneous multi-core system-oriented resource management method Download PDFInfo
- Publication number
- CN117112169A CN117112169A CN202311050911.0A CN202311050911A CN117112169A CN 117112169 A CN117112169 A CN 117112169A CN 202311050911 A CN202311050911 A CN 202311050911A CN 117112169 A CN117112169 A CN 117112169A
- Authority
- CN
- China
- Prior art keywords
- core
- slave
- task
- computing
- slave core
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 28
- 230000003068 static effect Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 abstract description 4
- 230000010354 integration Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Multi Processors (AREA)
Abstract
The invention relates to a resource management method for a heterogeneous multi-core system, and belongs to the technical field of resource management. The invention is composed of three parts of slave core computing capability registration, master control core dynamic scheduling and resource release. The computing capability registration of the slave cores is used for knowing and mastering the computing types and the capabilities supported by each slave core, and the master core dynamically distributes different slave core resource execution according to different computing task types, so that the characteristics of the slave cores, the computing capabilities and the priority of execution tasks are fully considered in the distribution process, and the real-time performance of the system is ensured and the hardware characteristics of the system are exerted to the greatest extent. The invention realizes full play of system hardware resources on the premise of reducing resource method access conflict, meets flexible and complex application requirements, and provides method support for system information processing integration.
Description
Technical Field
The invention belongs to the technical field of resource management, and particularly relates to a resource management method for a heterogeneous multi-core system.
Background
With the development of computer system architecture, autonomy and intelligence, software functions will be more complex. Taking a certain electronic information system software as an example, the system not only needs to comprise the traditional guidance, navigation and control functions, but also comprises the functions of equipment management and monitoring, system fault diagnosis and processing, batch data transmission, image recognition and matching and the like. In view of the above multi-task requirements, the conventional single CPU and single DSP modes cannot meet the requirements of the system multi-task integrated processor. Therefore, the computer system is developing to heterogeneous multi-core parallel processing modes such as CPU+DSP, CPU+GPU and the like, and the hardware platform tends to be heterogeneous so as to meet the comprehensive information processing requirement under the multi-task and realize the great improvement of the system performance. How to ensure that the heterogeneous resources of the system are fully and effectively utilized, so that the hardware performance is exerted to the maximum extent is an important problem to be solved by the heterogeneous multi-core system.
At present, solutions and techniques for a problem of computing resource management in a multi-core processor system can be categorized into two categories according to a design manner of a resource management policy thereof: design-time resource management and run-time resource management. The resource management method during design is to perform full design space exploration and evaluation on aspects of performance, power consumption and the like on resource allocation schemes of different operation scenes in an offline state, and aims to comprehensively consider the optimal or near optimal actual performance of the different operation scenes, so that a certain resource allocation is designated for each application program; the main idea of the run-time resource management method is to find a feasible scheme in the shortest time instead of spending a lot of time to find the optimal solution, so that most of related researches adopt heuristic algorithms to quickly generate the resource allocation scheme on line.
At present, most heterogeneous systems adopt a 'master-slave mode' architecture, namely, one core in a CPU is selected as a master core, and is used for carrying out main resource management and complex logic operation, and the rest is used as a slave core for carrying out the work of simple logic but large operation amount. In the existing multi-core heterogeneous system, each core runs a respective different operating system, and a method for carrying out unified fusion management on the different operating systems is lacked. In the existing research, the occupation strategy of the operating system on each core of the heterogeneous system on the resources is generally completed through one-time configuration of system hardware, namely, the management of the operating system resources is realized through the setting of the hardware, namely, the resource management method during design. The method has sufficient cognition on the conditions of the application programs and platform computing resources in advance in the design process, and can not dynamically sense the system running load and environment change in the application running process so as to make proper response, so that the method is neither suitable for the scene with higher flexibility requirements (such as adding new application programs into the system when running is needed) nor can fully exert the performance potential of the heterogeneous multi-core processor system; the method for managing the resources in the running process is characterized in that a solution is rapidly given, whether the solution is an optimal solution is not considered, and the real-time performance of the system operation is guaranteed to a certain extent, but the performance of hardware is not fully considered, so that the performance of the hardware cannot be optimized.
Disclosure of Invention
First, the technical problem to be solved
The technical problem to be solved by the invention is how to provide a resource management method for a heterogeneous multi-core system so as to solve the problems of the existing resource management method.
(II) technical scheme
In order to solve the technical problems, the invention provides a resource management method for a heterogeneous multi-core system, which comprises the following steps:
step one: registering a slave core number and a calculation type and capability in a master core operating system;
step two: the master core realizes the distribution of slave core resources in a dynamic scheduling mode according to the requirement of the calculation task; in the resource scheduling process, according to the calculation type, firstly, distributing tasks to the slave cores with the strongest calculation capacity; when the slave core is idle, the task is directly distributed to the slave core, and when the slave core is busy, the task is distributed to the next slave core according to the capacity in the previous registry; if all the slave cores with the computing capability are occupied, putting the computing task into a waiting queue, and once the slave core resources are released, performing task allocation again;
step three: and after the slave core task is executed, unloading the task, releasing the resource, returning an idle command in a shared memory mode, and marking the slave core as an idle state by the master core.
Further, in the first step, the calculation type supported by the slave core is single instruction stream multiple data stream simd.
Further, in the first step, the calculation type supported by the slave core is multiple instruction stream multiple data stream mimd.
Further, in the first step, the calculation type supported by the slave core is a vector.
Further, in the first step, the calculation type supported by the slave core is a scalar.
Further, in the first step, the computing type and capability of the slave core are registered as static registration, that is, the computing type and capability of the slave core are directly written into the registry during initialization, and the operation process is kept unchanged.
Further, in the first step, the computing type and the computing capability of the slave core are registered as dynamic registration, and in the running process, the slave core dynamically evaluates and adjusts the computing capability of the slave core by sending a message with the master control core, and dynamically updates the registry.
Further, the first step further includes: the computing power of the different slave cores is ordered according to the type of computation.
Further, in the second step, in the task waiting queue, the master core automatically places the computing task in the task waiting queue according to the task priority to queue, and once the slave core resource is released, the task with high priority is preferentially allocated to the resource.
Further, the heterogeneous multi-core system is in a CPU+DSP mode or in a CPU+GPU/NPU/DPU mode.
(III) beneficial effects
The invention provides a resource management method for heterogeneous multi-core systems, which has the following key points:
1. in the process of the slave nuclear capacity registration, a dynamic registration mode is designed, and the dynamic evaluation and adjustment registration of the slave nuclear computing capacity are realized;
2. in the task allocation process, the characteristics of system hardware are fully considered, and resource access conflict is avoided, so that the performance of the system hardware is fully exerted;
3. considering the problem of task priority, the task with high priority is placed at the front end of the waiting queue to be executed preferentially.
The invention designs a resource scheduling method for a heterogeneous multi-core system aiming at the characteristics of the heterogeneous multi-core system and the defects of the existing resource scheduling method. The scheduling method distributes different processors for tasks with different calculation types according to the characteristics of hardware resources and the characteristics of calculation tasks according to the mode of a master core and a slave core, realizes full play of system hardware resources on the premise of reducing access conflict of a resource method, meets flexible and complex application requirements, and provides method support for comprehensive system information processing.
Drawings
FIG. 1 is a flow chart of heterogeneous multi-core resource scheduling according to the present invention.
Detailed Description
To make the objects, contents and advantages of the present invention more apparent, the following detailed description of the present invention will be given with reference to the accompanying drawings and examples.
Aiming at the defects of the existing resource management method, a heterogeneous multi-core system is taken as a research object, and the resource management method for the heterogeneous multi-core system is researched.
The method mainly comprises three parts of slave computing capability registration, master control core dynamic scheduling and resource release. The computing capability registration of the slave cores is used for knowing and mastering the computing types and the capabilities supported by each slave core, and the master core dynamically distributes different slave core resource execution according to different computing task types, so that the characteristics of the slave cores, the computing capabilities and the priority of execution tasks are fully considered in the distribution process, and the real-time performance of the system is ensured and the hardware characteristics of the system are exerted to the greatest extent.
In order to solve the technical problems, the invention provides a resource scheduling method for a heterogeneous multi-core system, which comprises the following steps:
step one: the slave core number and the computing type and capability are registered in the master core operating system. Wherein the computing types supported by the slave core include: single instruction stream multiple data stream simd, multiple instruction stream multiple data stream simd, vector, scalar, etc. The method comprises the following steps of supporting two modes of calculation type and capability registration of the slave core, namely, static registration, namely, directly writing the calculation type and capability of the slave core into a registry during initialization, and keeping unchanged during operation; and secondly, dynamically registering, wherein in the operation process, the slave core dynamically evaluates and adjusts the registration of the computing capability of the slave core in a mode of sending a message with the master control core, and dynamically updates a registry. It should be noted that, each slave core has a different computing type, and the slave cores having the same computing type also have different computing capacities, and the first step further includes: the computing power of the different slave cores is ordered according to the type of computation.
Heterogeneous multi-core systems are a combination of CPU+DSP mode or CPU+GPU/NPU/DPU mode, and more heterogeneous cores.
Taking the "CPU+DSP" mode as an example, the calculation power size from the core calculation type registry is shown in Table 1 below and Table 2 below.
Table 1 registration of the representation from the Nuclear computing Capacity
Slave core | Calculation type |
Slave core 1 | simd, mimd, vector |
Slave core 2 | mimd, vector, scalar |
Slave core 3 | simd, vector, scalar |
Slave core 4 | simd, mimd, scalar |
Table 2 from a core a schematic table of different computing power sizes
Calculation type | Ordering from core capability size |
simd | Slave core 1>Slave core 3>Slave core 4 |
mimd | Slave core 2>Slave core 1>Slave core 4 |
(Vector) | Slave core 2>Slave core 3>Slave core 1 |
Scalar quantity | Slave core 3>Slave core 2>Slave core 4 |
Step two: the master core realizes the distribution of slave core resources in a dynamic scheduling mode according to the requirement of the computing task so as to realize the rapid and efficient execution of the computing task. In the resource scheduling process, tasks are first allocated to the slave cores with the strongest computing power according to the computing type. When the slave core is idle, the task is directly distributed to the slave core, and when the slave core is busy, the task is distributed to the next slave core according to the capacity in the previous registry; if all the slave cores with the computing power are occupied, the computing task is put into a waiting queue, and once the slave core resources are released, the task allocation is performed again.
Let simd computing power be taken as an example. According to the calculation task requirement, the master core judges that the slave core resources with the simd calculation type are allocated to execute the task. First, a slave core 1 is allocated, and when the slave core 1 is idle, a task is executed; when slave core 1 is busy, slave core 3 is allocated, and so on. When all slave cores with simd computing power are busy, the computing task is placed in a wait queue until the slave core resources are released.
It should be noted that in the task waiting queue, there is also a task priority problem. The master core automatically places the computing tasks in a task waiting queue for queuing according to task priorities. Once released from the core resources, the task with the higher priority gets the allocated resources preferentially.
Step three: and after the slave core task is executed, unloading the task, releasing the resource, returning an idle command in a shared memory mode, and marking the slave core as an idle state by the master core.
The key points of the invention are as follows:
1. in the process of the slave nuclear capacity registration, a dynamic registration mode is designed, and the dynamic evaluation and adjustment registration of the slave nuclear computing capacity are realized;
2. in the task allocation process, the characteristics of system hardware are fully considered, and resource access conflict is avoided, so that the performance of the system hardware is fully exerted;
3. considering the problem of task priority, the task with high priority is placed at the front end of the waiting queue to be executed preferentially.
The invention designs a resource scheduling method for a heterogeneous multi-core system aiming at the characteristics of the heterogeneous multi-core system and the defects of the existing resource scheduling method. The scheduling method distributes different processors for tasks with different calculation types according to the characteristics of hardware resources and the characteristics of calculation tasks according to the mode of a master core and a slave core, realizes full play of system hardware resources on the premise of reducing access conflict of a resource method, meets flexible and complex application requirements, and provides method support for comprehensive system information processing.
The foregoing is merely a preferred embodiment of the present invention, and it should be noted that modifications and variations could be made by those skilled in the art without departing from the technical principles of the present invention, and such modifications and variations should also be regarded as being within the scope of the invention.
Claims (10)
1. The resource management method for the heterogeneous multi-core system is characterized by comprising the following steps of:
step one: registering a slave core number and a calculation type and capability in a master core operating system;
step two: the master core realizes the distribution of slave core resources in a dynamic scheduling mode according to the requirement of the calculation task; in the resource scheduling process, according to the calculation type, firstly, distributing tasks to the slave cores with the strongest calculation capacity; when the slave core is idle, the task is directly distributed to the slave core, and when the slave core is busy, the task is distributed to the next slave core according to the capacity in the previous registry; if all the slave cores with the computing capability are occupied, putting the computing task into a waiting queue, and once the slave core resources are released, performing task allocation again;
step three: and after the slave core task is executed, unloading the task, releasing the resource, returning an idle command in a shared memory mode, and marking the slave core as an idle state by the master core.
2. The method for managing resources of heterogeneous multi-core system according to claim 1, wherein in the first step, the calculation type supported by the slave core is single instruction stream multiple data stream s imd.
3. The method for managing resources of heterogeneous multi-core system according to claim 1, wherein in the first step, the calculation type supported by the slave core is multiple instruction stream multiple data stream mimd.
4. The method for managing resources of heterogeneous multi-core system according to claim 1, wherein in the first step, the calculation type supported by the slave core is a vector.
5. The heterogeneous multi-core system oriented resource management method of claim 1, wherein in the first step, the calculation type supported by the slave core is a scalar.
6. The method for managing resources of heterogeneous multi-core system according to claim 1, wherein in the first step, the computing type and capability of the slave core are registered as static registration, i.e. the computing type and capability of the slave core are directly written into the registry during initialization, and remain unchanged during operation.
7. The method for managing resources of heterogeneous multi-core system according to claim 1, wherein in the first step, the computing type and capability of the slave core are registered as dynamic registration, and in the operation process, the slave core dynamically evaluates and adjusts the registration of the computing capability of the slave core by sending a message to the master core, and dynamically updates the registry.
8. The heterogeneous multi-core system oriented resource management method of claim 1, wherein the step one further comprises: the computing power of the different slave cores is ordered according to the type of computation.
9. The heterogeneous multi-core system oriented resource management method according to any one of claims 1 to 8, wherein in the step two, in the task waiting queue, the master core automatically places the computing task in the task waiting queue according to the task priority to queue, and once the slave core resource is released, the task with the higher priority is preferentially allocated to the resource.
10. The heterogeneous multi-core system-oriented resource management method of claim 1, wherein the heterogeneous multi-core system is in a cpu+dsp mode or a cpu+gpu/NPU/DPU mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050911.0A CN117112169A (en) | 2023-08-21 | 2023-08-21 | Heterogeneous multi-core system-oriented resource management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050911.0A CN117112169A (en) | 2023-08-21 | 2023-08-21 | Heterogeneous multi-core system-oriented resource management method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112169A true CN117112169A (en) | 2023-11-24 |
Family
ID=88812131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311050911.0A Pending CN117112169A (en) | 2023-08-21 | 2023-08-21 | Heterogeneous multi-core system-oriented resource management method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112169A (en) |
-
2023
- 2023-08-21 CN CN202311050911.0A patent/CN117112169A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112465129B (en) | On-chip heterogeneous artificial intelligent processor | |
CN109997112B (en) | Data processing | |
US7137116B2 (en) | Method and system for performing a task on a computer | |
JP2829078B2 (en) | Process distribution method | |
CN103109274B (en) | Multiprocessor calculates the inter-processor communication technology in platform | |
US8117615B2 (en) | Facilitating intra-node data transfer in collective communications, and methods therefor | |
US7647483B2 (en) | Multi-threaded parallel processor methods and apparatus | |
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US20090271796A1 (en) | Information processing system and task execution control method | |
US20050022173A1 (en) | Method and system for allocation of special purpose computing resources in a multiprocessor system | |
JP4964243B2 (en) | Processor method and apparatus | |
WO2019218708A1 (en) | Task processing method and device, and computer system | |
US7975269B2 (en) | Parallel processor methods and apparatus | |
US9158713B1 (en) | Packet processing with dynamic load balancing | |
CN101414270A (en) | Method for implementing assist nuclear task dynamic PRI scheduling with hardware assistant | |
CN112860396B (en) | GPU scheduling method and system based on distributed deep learning | |
US7765548B2 (en) | System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock | |
CN111459622A (en) | Method and device for scheduling virtual CPU, computer equipment and storage medium | |
CN102736949B (en) | Improve the scheduling to being performed for task of non-coherent equipment | |
CN117112169A (en) | Heterogeneous multi-core system-oriented resource management method | |
JP2022079764A (en) | Synchronous control system and synchronous control method | |
CN112783651B (en) | Load balancing scheduling method, medium and device for vGPU of cloud platform | |
CN219642231U (en) | Task distribution device and multi-core heterogeneous processor based on task distribution device | |
CN116841751B (en) | Policy configuration method, device and storage medium for multi-task thread pool | |
CN117149471B (en) | Communication method, device, embedded system, storage medium and electronic equipment |
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 |