CN113722065B - Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching - Google Patents
Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching Download PDFInfo
- Publication number
- CN113722065B CN113722065B CN202110960149.4A CN202110960149A CN113722065B CN 113722065 B CN113722065 B CN 113722065B CN 202110960149 A CN202110960149 A CN 202110960149A CN 113722065 B CN113722065 B CN 113722065B
- Authority
- CN
- China
- Prior art keywords
- component
- scheduling
- components
- plug
- state
- 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
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
- 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]
- 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
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a resource scheduling method for embedded heterogeneous hardware based on sub-graph matching, which comprises scheduling information generation and application component scheduling, wherein an upper computer programs application function components, combines components with larger communication data streams, generates topological relations and corresponding computing resource requirements of each new component after scheduling, acquires IDs of a CPU occupied by a user, IDs of an occupied plug box and interconnection relations of the occupied plug box, generates a plug box topological relation and a state data structure of the CPU in the plug box, adopts a sub-graph matching method of traversing pruning according to the topological relation and corresponding computing resource requirements of each new component after scheduling, searches a feasible scheduling scheme in computing nodes currently owned by the user, performs search space pruning on symmetry of computing nodes with the same number of cores in the same plug box, reduces scheduling time consumption, schedules application components and combines associated components, meets special combination requirements for component deployment, and reduces the scale of the scheduling components.
Description
Technical Field
The invention belongs to the technical field of computers, and particularly relates to a resource scheduling technology.
Background
To cope with the changing application demands, the software and hardware system needs to have new functions quickly realized by component reorganization. The computing nodes in the system comprise CPU, DSP, FPGA and other heterogeneous computing nodes, and dynamic scheduling deployment of software in the heterogeneous computing nodes is a necessary condition for realizing dynamic reorganization of the system.
Scheduling and deployment of heterogeneous computing nodes faces the problems of asymmetric computing capacity and non-full interconnection of the computing nodes, and provides an innovative challenge for real-time performance of dynamic scheduling and deployment. The software dynamic reconfiguration technology is designed, the real-time dynamic reconfiguration of the application component is supported, the upgrade maintenance efficiency can be improved, and the system can be quickly adapted to running under the condition of different hardware configurations.
Disclosure of Invention
In order to solve the problem that the time is consumed for generating the binding scheme of the application function component and the computing nodes in the scene of full interconnection of the computing nodes in the same plug-in box and non-full interconnection of the computing nodes among different plug-in boxes in the prior art, the invention provides a resource scheduling method facing embedded heterogeneous hardware based on sub-graph matching, the front end component is arranged to complete component combination, the related components are deployed on the same computing node, the symmetrical nodes are adopted to prune, and the time consumed for generating the scheme is shortened.
The scheduling method comprises the following steps: the scheduling information generates and applies component scheduling.
The scheduling information generation includes: the upper computer programs application function components, combines components with larger communication data flow, and generates topological relation and corresponding computing resource requirements of the new components after the arrangement; and acquiring the ID of the CPU occupied by the user, the ID of the occupied plug box and the interconnection relation of the occupied plug box, and generating a plug box topological relation and a state data structure of the CPU in the plug box.
Further, the scheduling information generation includes:
step 1: a plurality of new components are generated by combining components with large interaction data flow and components with high coupling degree in an application with a plurality of functional components.
Step 2: analyzing the topological relation of the new components and the resource requirement of the new components for calculating the number of cores, storing the topological relation by adopting an adjacent matrix, storing the resource requirement by adopting a linked list, and setting the states of all the new components as 'temporary unallocated'.
Step 3: analyzing information of the remaining computing nodes, obtaining IDs of the plug boxes where the remaining computing nodes are located, and storing topological relations of the plug boxes by adopting an adjacent matrix.
Step 4: and constructing a data structure of the information of the corresponding node of the plug-in box, storing in a dictionary form, taking a key of the dictionary as a core number, taking a value of the dictionary as an ID list of the node with the core number, storing all data structures according to the list, and setting the states of all computing nodes as unbound.
The application component scheduling includes: according to the topological relation of each new component after arrangement and the corresponding computing resource requirement, a sub-graph matching method of traversing pruning is adopted, and a feasible scheduling scheme is searched in the computing nodes currently owned by the user.
Further, the application component scheduling includes:
step 5: and sequentially selecting a new component with a state of 'temporary unallocated', setting the state of the component as 'allocation in', and if no component with the state of 'temporary unallocated', jumping to the step 9.
Step 6: and sequentially selecting the non-traversed plug boxes corresponding to the current component, and if the plug boxes do not exist, jumping to the step 8.
Step 7: and (3) sequentially selecting the computing node which is not traversed and has the state of 'unbinding' in the plug box selected in the step (6), repeating the step (7) if the symmetric node is failed to be bound with the current component, and setting the state of the computing node as 'bound component' and the state of the component as 'successful allocation' if the binding is successful, and jumping to the step (5).
Further, the symmetric node refers to a computing node with the same number of remaining cores in the same plug-in box.
Further, if the number of cores required by the current component is not greater than the remaining number of cores of the corresponding computing node, binding the current component with the corresponding computing node, wherein any two components with successful allocation states and the bound computing nodes have interconnection relations, and the binding is considered to be successful.
Step 8: setting the state of the current component as 'temporary unassigned', if the current component is not the first component, setting the state of the previous component as 'temporary unassigned', and the state of the computing node corresponding to the component as 'unbound', jumping to the step 6, and if the current component is the first component, jumping to the step 9.
Step 9: if the states of all the components are 'successful allocation', outputting an allocation scheme, ending scheduling, otherwise, outputting scheduling failure.
The invention has the beneficial effects that: the symmetry of the computing nodes with the same number of cores in the same plug-in box is subjected to search space pruning, scheduling time consumption is reduced, application components and combination association components are arranged, special combination requirements for component deployment are met, and the scale of the scheduling components is reduced.
Description of the embodiments
The technical scheme of the invention is specifically described below.
All the calculation nodes in the plug boxes are interacted through a data bus, the plug boxes are connected through optical fibers, only the nodes between the directly connected plug boxes can be interacted with data, and a structure of full interconnection in the plug boxes and non-full interconnection between the plug boxes is formed.
The application software comprises a plurality of functional components, the functional components are arranged to form a new component, the nuclear number requirements and the interconnection relation are given by the original components, an arranged component topological structure is formed, and the mapping relation between the arranged component and the computing nodes is realized.
Step 1: a plurality of new components are generated by combining components with large interaction data flow and components with high coupling degree in an application with a plurality of functional components.
Step 2: analyzing the topological relation of the new components and the resource requirement of the new components for calculating the number of cores, storing the topological relation by adopting an adjacent matrix, storing the resource requirement by adopting a linked list, and setting the states of all the new components as 'temporary unallocated'.
Step 3: analyzing information of the remaining computing nodes, obtaining IDs of the plug boxes where the remaining computing nodes are located, and storing topological relations of the plug boxes by adopting an adjacent matrix.
Step 4: and constructing a data structure of the information of the corresponding node of the plug-in box, storing in a dictionary form, taking a key of the dictionary as a core number, taking a value of the dictionary as an ID list of the node with the core number, storing all data structures according to the list, and setting the states of all computing nodes as unbound.
Step 5: and sequentially selecting a new component with a state of 'temporary unallocated', setting the state of the component as 'allocation in', and if no component with the state of 'temporary unallocated', jumping to the step 9.
Step 6: and sequentially selecting the non-traversed plug boxes corresponding to the current component, and if the plug boxes do not exist, jumping to the step 8.
Step 7: and (3) sequentially selecting the computing node which is not traversed and has the state of 'unbinding' in the plug box selected in the step (6), repeating the step (7) if the symmetric node is failed to be bound with the current component, and setting the state of the computing node as 'bound component' and the state of the component as 'successful allocation' if the binding is successful, and jumping to the step (5).
Step 8: setting the state of the current component as 'temporary unassigned', if the current component is not the first component, setting the state of the previous component as 'temporary unassigned', and the state of the computing node corresponding to the component as 'unbound', jumping to the step 6, and if the current component is the first component, jumping to the step 9.
Step 9: if the states of all the components are 'successful allocation', outputting an allocation scheme, ending scheduling, otherwise, outputting scheduling failure.
The foregoing is illustrative of the present invention and is not to be construed as limiting thereof, but rather as being included within the spirit and scope of the present invention.
Claims (3)
1. The resource scheduling method for the embedded heterogeneous hardware based on sub-graph matching is characterized by comprising the following steps of: scheduling information generation and application component scheduling; the scheduling information generation includes: the upper computer programs an application function component, combines components with larger communication data flow, generates topological relation of each new component after the arrangement and corresponding calculation resource requirement, acquires ID of CPU occupied by a user, ID of an occupied plug box and interconnection relation of the occupied plug box, and generates a plug box topological relation and a state data structure of CPU in the plug box; the application component scheduling includes: according to the topological relation of each new component after arrangement and the corresponding computing resource requirement, searching a feasible scheduling scheme in a computing node currently owned by a user by adopting a sub-graph matching method of traversing pruning;
the scheduling information generation includes:
step 1: combining components with large interaction data flow and components with high coupling degree in application with a plurality of functional components to generate a plurality of new components;
step 2: analyzing the topological relation of the new components and the resource requirement of the new components for calculating the nuclear number, storing the topological relation by adopting an adjacent matrix, storing the resource requirement by adopting a linked list, and setting the states of all the new components as 'temporary unallocated';
step 3: analyzing information of the remaining computing nodes, obtaining IDs of the plug boxes where the remaining computing nodes are located, and storing topological relations of the plug boxes by adopting an adjacent matrix;
step 4: constructing a data structure of node information corresponding to the plug-in box, storing in a dictionary form, taking a key of the dictionary as a core number, taking a value of the dictionary as an ID list of a node with the core number, storing all data structures according to the list, and setting the states of all computing nodes as unbound;
the application component scheduling includes:
step 5: sequentially selecting a new component with a state of 'temporary unallocated', setting the state of the component as 'in allocation', and if no component with a state of 'temporary unallocated', jumping to the step 9;
step 6: sequentially selecting the non-traversed plug boxes corresponding to the current component, and if the plug boxes do not exist, jumping to the step 8;
step 7: sequentially selecting the computing node which is not traversed and has the state of 'unbinding' in the selected plug-in box in the step 6, repeating the step 7 if the symmetric node is failed to be bound with the current component, setting the state of the computing node as 'binding component' and the state of the component as 'successful allocation', and jumping to the step 5 if the binding is successful;
step 8: setting the state of the current component as 'temporary unassigned', if the current component is not the first component, setting the state of the previous component as 'temporary unassigned', and the state of a computing node corresponding to the component as 'unbound', jumping to the step 6, and if the current component is the first component, jumping to the step 9;
step 9: if the states of all the components are 'successful allocation', outputting an allocation scheme, ending scheduling, otherwise, outputting scheduling failure.
2. The resource scheduling method for embedded heterogeneous hardware based on sub-graph matching according to claim 1, wherein the symmetric node comprises: the same number of computing nodes remain in the same plug-in box.
3. The resource scheduling method for embedded heterogeneous hardware based on sub-graph matching according to claim 2, wherein the binding is successful, comprising: if the number of cores required by the current component is not greater than the number of remaining cores of the corresponding computing node, binding the current component with the corresponding computing node, wherein any two components with the successful distribution state and the bound computing nodes have interconnection relations, and the binding is considered to be successful.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960149.4A CN113722065B (en) | 2021-08-20 | 2021-08-20 | Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960149.4A CN113722065B (en) | 2021-08-20 | 2021-08-20 | Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722065A CN113722065A (en) | 2021-11-30 |
CN113722065B true CN113722065B (en) | 2023-08-18 |
Family
ID=78677029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110960149.4A Active CN113722065B (en) | 2021-08-20 | 2021-08-20 | Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722065B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237904A (en) * | 2021-12-22 | 2022-03-25 | 中国电子科技集团公司第十四研究所 | Resource scheduling method facing embedded heterogeneous hardware based on subgraph matching |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795219A (en) * | 2019-10-24 | 2020-02-14 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Resource scheduling method and system suitable for multiple computing frameworks |
CN111147555A (en) * | 2019-12-13 | 2020-05-12 | 苏州博纳讯动软件有限公司 | Heterogeneous resource mixed arrangement method |
CN111611087A (en) * | 2020-06-30 | 2020-09-01 | 中国人民解放军国防科技大学 | Resource scheduling method, device and system |
CN112099848A (en) * | 2020-09-11 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | Service processing method, device and equipment |
-
2021
- 2021-08-20 CN CN202110960149.4A patent/CN113722065B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795219A (en) * | 2019-10-24 | 2020-02-14 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Resource scheduling method and system suitable for multiple computing frameworks |
CN111147555A (en) * | 2019-12-13 | 2020-05-12 | 苏州博纳讯动软件有限公司 | Heterogeneous resource mixed arrangement method |
CN111611087A (en) * | 2020-06-30 | 2020-09-01 | 中国人民解放军国防科技大学 | Resource scheduling method, device and system |
CN112099848A (en) * | 2020-09-11 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | Service processing method, device and equipment |
Non-Patent Citations (1)
Title |
---|
汪亮.面向多核的数据流程序任务划分与调度方法研究.2019,第2019年卷(第3期), * |
Also Published As
Publication number | Publication date |
---|---|
CN113722065A (en) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066319B (en) | Multi-dimensional scheduling system for heterogeneous resources | |
CN101697166B (en) | Method for accelerating data integration of heterogeneous platform | |
CN110022226A (en) | A kind of data collection system and acquisition method based on object-oriented | |
CN102750406B (en) | Multi-version management method for model set and difference model-based power grid model | |
CN108228724A (en) | Power grid GIS topology analyzing method and storage medium based on chart database | |
CN113722065B (en) | Resource scheduling method for embedded heterogeneous hardware based on sub-graph matching | |
CN104754008A (en) | Network storage node, network storage system and device and method for network storage node | |
CN109101338A (en) | A kind of block chain processing framework and its method based on the extension of multichannel chip | |
CN107070709A (en) | A kind of NFV implementation methods based on bottom NUMA aware | |
Liu et al. | PSNet: Reconfigurable network topology design for accelerating parameter server architecture based distributed machine learning | |
CN105391651A (en) | Virtual optical network multilayer resource convergence method and system | |
Ma et al. | Cost-aware multi-domain virtual data center embedding | |
CN104657115A (en) | Cluster file system client-side multi-core concurrence and load implementation method | |
CN103347098A (en) | Network enumeration method of Rapid IO bus interconnection system | |
CN102420812A (en) | Automatic quality of service (QoS) combination method supporting distributed parallel processing in web service | |
Clemente-Castelló et al. | Cost model and analysis of iterative MapReduce applications for hybrid cloud bursting | |
Liu et al. | Survivability optimisation of communication network for demand response in source–grid–load system | |
CN107357529A (en) | A kind of storage cluster online upgrading method and system | |
CN114237904A (en) | Resource scheduling method facing embedded heterogeneous hardware based on subgraph matching | |
CN105490859B (en) | A kind of node positioning method of high-end fault-tolerant server | |
Peng et al. | A novel framework of distributed datacenter networks to support intelligent services: Architecture, operation, and solutions | |
Li et al. | FLASH: A Framework for Programming Distributed Graph Processing Algorithms | |
Chauhan et al. | Resource based optimized decentralized grid scheduling algorithm | |
Yu et al. | Application of In-Memory Database in Concurrent Topology Analysis of GIS Systems for Large-Scale Distribution Power Grids | |
Xiao et al. | QoS-awared replica placement techniques in data grid applications |
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 |