CN117112169A - Heterogeneous multi-core system-oriented resource management method - Google Patents

Heterogeneous multi-core system-oriented resource management method Download PDF

Info

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
Application number
CN202311050911.0A
Other languages
Chinese (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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202311050911.0A priority Critical patent/CN117112169A/en
Publication of CN117112169A publication Critical patent/CN117112169A/en
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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]
    • 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)
  • 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

Heterogeneous multi-core system-oriented resource management method
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.
CN202311050911.0A 2023-08-21 2023-08-21 Heterogeneous multi-core system-oriented resource management method Pending CN117112169A (en)

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)

Similar Documents

Publication Publication Date Title
CN112465129B (en) On-chip heterogeneous artificial intelligent processor
US7137116B2 (en) Method and system for performing a task on a computer
JP2829078B2 (en) Process distribution method
CN109997112B (en) Data processing
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
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
US7975269B2 (en) Parallel processor methods and apparatus
WO2019218708A1 (en) Task processing method and device, and computer system
US9158713B1 (en) Packet processing with dynamic load balancing
CN101414270A (en) Method for implementing assist nuclear task dynamic PRI scheduling with hardware assistant
US7765548B2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
CN114721818A (en) Kubernetes cluster-based GPU time-sharing method and system
CN112860396A (en) GPU (graphics processing Unit) scheduling method and system based on distributed deep learning
JP7346649B2 (en) Synchronous control system and method
CN102736949B (en) Improve the scheduling to being performed for task of non-coherent equipment
CN117112169A (en) Heterogeneous multi-core system-oriented resource management 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
NL2014534B1 (en) Many-core operating system.

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