CN110674078A - Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system - Google Patents
Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system Download PDFInfo
- Publication number
- CN110674078A CN110674078A CN201910947700.4A CN201910947700A CN110674078A CN 110674078 A CN110674078 A CN 110674078A CN 201910947700 A CN201910947700 A CN 201910947700A CN 110674078 A CN110674078 A CN 110674078A
- Authority
- CN
- China
- Prior art keywords
- microblaze
- core
- fpga
- arm
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 6
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7817—Specially adapted for signal processing, e.g. Harvard architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7835—Architectures of general purpose stored program computers comprising a single central processing unit without memory on more than one IC chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Advance Control (AREA)
Abstract
The invention discloses a heterogeneous multi-core parallel efficient solving method and a heterogeneous multi-core parallel efficient solving system for complex tasks of a digital twin system, wherein the method is suitable for a ZYNQ-7000SoC chip of Xilinx company and comprises the following steps: step 1, designing a digital twin system complex task heterogeneous multi-core architecture and a digital description module, wherein the module firstly builds a heterogeneous multi-core architecture for running a digital twin system complex task, and then completes digital description of the heterogeneous multi-core architecture based on a multivariate array model; and 2, designing a heterogeneous multi-core parallel efficient solving decision module for the complex task of the digital twin system, determining an idle core in the current heterogeneous multi-core architecture based on the digital description of the heterogeneous multi-core architecture, and scheduling the arrived digital twin complex task to the idle core for solving operation. The invention can solve the requirement of the complex task of the digital twin system on parallel solution to a certain extent and improve the solution efficiency of the complex task of the digital twin system.
Description
Technical Field
The invention belongs to the field of electronic engineering and computer science, and particularly relates to a method and a system for efficiently solving complex task heterogeneous multi-core parallel of a digital twin system.
Background
The device health management and control, process simulation analysis and production line running state monitoring based on digital twin driving show strong vitality in intelligent manufacturing, the physical workshop/production line can be simulated and predicted while the real state of the physical workshop/production line is reflected through linkage of a physical entity and a virtual scene, the prediction can cover equipment level, production line level and workshop level, and simulation prediction with the scale of seconds, minutes, hours and the like can be realized, and the complexity of the simulation prediction can be completely referred to as a complex task in a digital twin system. The invention discloses a heterogeneous multi-core parallel high-efficiency solving method and system for complex tasks of a digital twin system, which are suitable for ZYNQ-7000SoC chips of Xilinx company, can solve the requirement of the complex tasks of the digital twin system on parallel solving to a certain extent and improve the solving efficiency of the complex tasks of the digital twin system.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the method covers the design of a digital twin system complex task heterogeneous multi-core architecture and a digital description module and the design of a digital twin system complex task heterogeneous multi-core parallel efficient solution decision module, can solve the requirement of the digital twin system complex task on parallel solution to a certain extent, and improves the solving efficiency of the digital twin system complex task.
The technical problem to be solved by the invention is realized by adopting the following technical scheme: a digital twin system complex task heterogeneous multi-core parallel efficient solving method comprises the following steps:
designing a digital twin system complex task heterogeneous multi-core architecture and a digital description module, wherein the module firstly builds a heterogeneous multi-core architecture for running a digital twin system complex task, and then completes digital description of the heterogeneous multi-core architecture based on a multivariate array model, and the specific implementation is as follows:
①, building a heterogeneous multi-core architecture of a complex task of a digital twin system, wherein the built heterogeneous multi-core architecture for the complex task operation of the digital twin system comprises 1 FPGA and 4 MicroBlaze cores for parallel solution, the 4 MicroBlaze cores are respectively represented as MicroBlaze _1, MicroBlaze _2, MicroBlaze _3, MicroBlaze _4 and 2 ARM cores and are respectively represented as ARM _1 and ARM _2, a BRAM, a MailBox and an OCM for inter-core communication, and a DDR and a Flash for program storage and data caching;
② digital description of the digital twin system complex task heterogeneous multi-core architecture, defining an octant array model to represent the digital description of the digital twin system complex task heterogeneous multi-core architecture, namely S _ SoC ═ { S _ FPGA, S _ MicroBlaze, S _ ARM, S _ AXI, S _ MailBox, S _ OCM, S _ DDR, S _ Flash }, wherein:
i S _ FPGA is a digital description set of FPGA, including a quaternion set of FPGA performance index, namely S _ FPGA { S _ FPGA _ clb, S _ FPGA _ bram _ clb, S _ FPGA _ clock, S _ FPGA _ rate }, S _ FPGA _ clb represents the size of hardware resource in FPGA; s _ FPGA _ BRAM _ clb describes the size of a BRAM cache in the FPGA; s _ FPGA _ clock describes the FPGA clock dominant frequency in unit MHz; the S _ FPGA _ rate describes the rate of loading the configuration file from the Flash by the FPGA, namely the read-write rate of the Flash in bps;
ii, S _ MicroBlaze is a digital description set of the MicroBlaze core, and includes a binary number of a performance index of the MicroBlaze core, that is, S _ MicroBlaze ═ { S _ MicroBlaze _ AXIs, S _ MicroBlaze _ clock }, where S _ MicroBlaze _ AXIs represents a bandwidth rate of interaction of the MicroBlaze core with the AXI bus in bps; s _ MicroBlaze _ clock describes MicroBlaze core clock dominant frequency in MHz; the digital description sets of each MicroBlaze core are the same;
iii, the S _ ARM is a digital description set of the ARM core, and includes a binary array of ARM core performance indicators, that is, S _ ARM ═ { S _ ARM _ AXIs, S _ ARM _ clock }, where S _ ARM _ AXIs represents a bandwidth rate of ARM core and AXI bus interaction, in bps; the S _ ARM _ clock describes ARM core clock dominant frequency in unit of MHz; the digital description sets of each ARM core are the same;
iv S _ AXI is a digital description set of the AXI bus, including an unary array of AXI bus performance indicators, i.e., S _ AXI ═ { S _ AXI _ AXIs }, where S _ AXI _ AXIs represents the maximum bandwidth rate of the AXI bus;
v S _ MailBox is a digital description set of MailBox, and includes a unary array of MailBox performance indicators, namely S _ MailBox ═ { S _ MailBox _ size }, S _ MailBox _ size indicates the space size of MailBox, and the indicators affect the single communication volume when the MicroBlaze cores communicate;
vi S _ OCM is a set of digitized descriptions of OCM, and includes a unary array of OCM performance indicators, i.e., S _ OCM ═ { S _ OCM _ size }, S _ OCM _ size indicates the size of space of OCM, and the indicators affect the single traffic during the ARM inter-core communication;
vii S _ DDR is a digital description set of DDR, and includes a binary array of DDR main performance indicators, i.e., S _ DDR ═ { S _ DDR _ rate, S _ DDR _ size }, where S _ DDR _ rate represents the read-write rate of DDR, in bps; s _ DDR _ size represents the space size of DDR;
viii S _ Flash is a digital description set of Flash, and includes a binary array of Flash performance indexes, i.e., S _ Flash ═ { S _ Flash _ rate, S _ Flash _ size }, where S _ Flash _ rate represents the read-write rate of Flash in bps; s _ Flash _ size represents the space size of Flash;
step (2), designing a digital twin system complex task heterogeneous multi-core parallel efficient solving decision module, finishing the determination of an idle core in the current heterogeneous multi-core architecture based on the digital description of the heterogeneous multi-core architecture, and scheduling the arrived digital twin complex task to the idle core for solving operation, wherein the specific implementation is as follows:
① an embedded Linux system is transplanted in ARM _1, ARM _1 runs a digital twin system complex task heterogeneous multi-core parallel solution decision module in a multithread mode to improve the efficiency of a multitask parallel solution decision, and digital description of a digital twin system complex task heterogeneous multi-core architecture is used as input of the module;
② defines the number of solution operation attempts of task iNumber CiWhen task i arrives, C is initializediIs 0;
③, when the sum of the FPGA hardware resource and the FPGA hardware resource needed by the task i is less than S _ FPGA _ clb, scheduling the task i to the FPGA to carry out solving operation and returning to ②, otherwise, executing ④;
④, when the S _ MicroBlaze _ index of MicroBlaze _1 is equal to 0 at the moment, indicating that MicroBlaze _1 is idle, scheduling the task i to MicroBlaze _1 for solution operation, and returning to ②, otherwise, executing ⑤;
⑤, when the S _ MicroBlaze _ index of MicroBlaze _2 is equal to 0 at the moment, indicating that MicroBlaze _2 is idle, scheduling the task i to MicroBlaze _2 for solution operation, and returning to ②, otherwise, executing ⑥;
⑥, when the S _ MicroBlaze _ index of the MicroBlaze _3 is equal to 0 at the moment, indicating that the MicroBlaze _3 is idle, scheduling the task i to the MicroBlaze _3 for solution operation, and returning to ②, otherwise, executing ⑦;
⑦, when the S _ MicroBlaze _ index of MicroBlaze _4 is equal to 0 at the moment, indicating that MicroBlaze _4 is idle, scheduling the task i to MicroBlaze _4 for solution operation, and returning to ②, otherwise, executing ⑧;
⑧ when the S _ ARM _ axirate of ARM _2 is equal to 0 at this time, it means that ARM _2 is idle, scheduling task i to ARM _2 for solution operation, and returning to ②, otherwise, scheduling CiAdd 1 and perform ⑨;
⑨ if CiIf the number of the solution operation attempts of the task i exceeds the set value, the task i is discarded and the process returns to ②, otherwise, the process returns to ③.
The invention designs a heterogeneous multi-core parallel efficient solving method for complex tasks of a digital twin system, which is suitable for ZYNQ-7000SoC chips of Xilinx company.
The invention also provides a complex task heterogeneous multi-core parallel efficient solving system of the digital twin system, which comprises the following steps: the system comprises a digital twin system complex task heterogeneous multi-core architecture, a digital description module and a digital twin system complex task heterogeneous multi-core parallel efficient solution decision module; wherein,
the digital twin system complex task heterogeneous multi-core architecture and the digital description module are realized by firstly building the heterogeneous multi-core architecture for running the digital twin system complex task, and then completing the digital description of the heterogeneous multi-core architecture based on a multi-element array model as follows:
①, building a heterogeneous multi-core architecture of a complex task of a digital twin system, wherein the built heterogeneous multi-core architecture for the complex task operation of the digital twin system comprises 1 FPGA and 4 MicroBlaze cores for parallel solution, the 4 MicroBlaze cores are respectively represented as MicroBlaze _1, MicroBlaze _2, MicroBlaze _3, MicroBlaze _4 and 2 ARM cores and are respectively represented as ARM _1 and ARM _2, a BRAM, a MailBox and an OCM for inter-core communication, and a DDR and a Flash for program storage and data caching;
② digital description of the digital twin system complex task heterogeneous multi-core architecture, defining an octant array model to represent the digital description of the digital twin system complex task heterogeneous multi-core architecture, namely S _ SoC ═ { S _ FPGA, S _ MicroBlaze, S _ ARM, S _ AXI, S _ MailBox, S _ OCM, S _ DDR, S _ Flash }, wherein:
i S _ FPGA is a digital description set of FPGA, including a quaternion set of FPGA performance index, namely S _ FPGA { S _ FPGA _ clb, S _ FPGA _ bram _ clb, S _ FPGA _ clock, S _ FPGA _ rate }, S _ FPGA _ clb represents the size of hardware resource in FPGA; s _ FPGA _ BRAM _ clb describes the size of a BRAM cache in the FPGA; s _ FPGA _ clock describes the FPGA clock dominant frequency in unit MHz; the S _ FPGA _ rate describes the rate of loading the configuration file from the Flash by the FPGA, namely the read-write rate of the Flash in bps;
ii, S _ MicroBlaze is a digital description set of the MicroBlaze core, and includes a binary number of a performance index of the MicroBlaze core, that is, S _ MicroBlaze ═ { S _ MicroBlaze _ AXIs, S _ MicroBlaze _ clock }, where S _ MicroBlaze _ AXIs represents a bandwidth rate of interaction of the MicroBlaze core with the AXI bus in bps; s _ MicroBlaze _ clock describes MicroBlaze core clock dominant frequency in MHz; the digital description sets of each MicroBlaze core are the same;
iii, the S _ ARM is a digital description set of the ARM core, and includes a binary array of ARM core performance indicators, that is, S _ ARM ═ { S _ ARM _ AXIs, S _ ARM _ clock }, where S _ ARM _ AXIs represents a bandwidth rate of ARM core and AXI bus interaction, in bps; the S _ ARM _ clock describes ARM core clock dominant frequency in unit of MHz; the digital description sets of each ARM core are the same;
iv S _ AXI is a digital description set of the AXI bus, including an unary array of AXI bus performance indicators, i.e., S _ AXI ═ { S _ AXI _ AXIs }, where S _ AXI _ AXIs represents the maximum bandwidth rate of the AXI bus;
v S _ MailBox is a digital description set of MailBox, and includes a unary array of MailBox performance indicators, namely S _ MailBox ═ { S _ MailBox _ size }, S _ MailBox _ size indicates the space size of MailBox, and the indicators affect the single communication volume when the MicroBlaze cores communicate;
vi S _ OCM is a set of digitized descriptions of OCM, and includes a unary array of OCM performance indicators, i.e., S _ OCM ═ { S _ OCM _ size }, S _ OCM _ size indicates the size of space of OCM, and the indicators affect the single traffic during the ARM inter-core communication;
vii S _ DDR is a digital description set of DDR, and includes a binary array of DDR main performance indicators, i.e., S _ DDR ═ { S _ DDR _ rate, S _ DDR _ size }, where S _ DDR _ rate represents the read-write rate of DDR, in bps; s _ DDR _ size represents the space size of DDR;
viii S _ Flash is a digital description set of Flash, and includes a binary array of Flash performance indexes, i.e., S _ Flash ═ { S _ Flash _ rate, S _ Flash _ size }, where S _ Flash _ rate represents the read-write rate of Flash in bps; s _ Flash _ size represents the space size of Flash;
the heterogeneous multi-core parallel efficient solution decision module for the complex task of the digital twin system finishes determination of an idle core in a current heterogeneous multi-core architecture based on digital description of the heterogeneous multi-core architecture, dispatches an arriving digital twin complex task to the idle core for solution operation, and specifically realizes the following steps:
① an embedded Linux system is transplanted in ARM _1, ARM _1 runs a digital twin system complex task heterogeneous multi-core parallel solution decision module in a multithread mode to improve the efficiency of a multitask parallel solution decision, and digital description of a digital twin system complex task heterogeneous multi-core architecture is used as input of the module;
② defines the number of solution operation attempts of task i as CiWhen task i arrives, C is initializediIs 0;
③, when the sum of the FPGA hardware resource and the FPGA hardware resource needed by the task i is less than S _ FPGA _ clb, scheduling the task i to the FPGA to carry out solving operation and returning to ②, otherwise, executing ④;
④, when the S _ MicroBlaze _ index of MicroBlaze _1 is equal to 0 at the moment, indicating that MicroBlaze _1 is idle, scheduling the task i to MicroBlaze _1 for solution operation, and returning to ②, otherwise, executing ⑤;
⑤, when the S _ MicroBlaze _ index of MicroBlaze _2 is equal to 0 at the moment, indicating that MicroBlaze _2 is idle, scheduling the task i to MicroBlaze _2 for solution operation, and returning to ②, otherwise, executing ⑥;
⑥, when the S _ MicroBlaze _ index of the MicroBlaze _3 is equal to 0 at the moment, indicating that the MicroBlaze _3 is idle, scheduling the task i to the MicroBlaze _3 for solution operation, and returning to ②, otherwise, executing ⑦;
⑦, when the S _ MicroBlaze _ index of MicroBlaze _4 is equal to 0 at the moment, indicating that MicroBlaze _4 is idle, scheduling the task i to MicroBlaze _4 for solution operation, and returning to ②, otherwise, executing ⑧;
⑧ when the S _ ARM _ axirate of ARM _2 is equal to 0 at this time, it means that ARM _2 is idle, scheduling task i to ARM _2 for solution operation, and returning to ②, otherwise, scheduling CiAdd 1 and perform ⑨;
⑨ if CiIf the number of the solution operation attempts of the task i exceeds the set value, the task i is discarded and the process returns to ②, otherwise, the process returns to ③.
Compared with the prior art, the invention has the advantages that:
(1) the heterogeneous multi-core architecture described based on the multi-element array model can more comprehensively realize the digital description of the heterogeneous multi-core architecture and improve the digital description fineness of the heterogeneous multi-core architecture;
(2) the digital description of the heterogeneous multi-core architecture is used as the input of the parallel solution decision module, so that the states of all operation units in the current heterogeneous multi-core architecture can be more accurately determined, and the scheduling and parallel solution of multiple tasks on heterogeneous cores are facilitated.
Drawings
FIG. 1 is a block diagram of the system architecture of the present invention.
Detailed Description
The present invention is described in further detail below with reference to the attached drawings.
The invention relates to a method and a system for parallel efficient solution of complex task heterogeneous multi-core of a digital twin system, which are suitable for ZYNQ-7000SoC chips of Xilinx company. The key technology of the digital twin is represented by reflecting the real state of a physical workshop/production line through the linkage of a physical entity and a virtual scene, and simultaneously realizing the simulation prediction of the physical workshop/production line, wherein the prediction can cover equipment level, production line level and workshop level, and can realize the simulation prediction with the scale of seconds, minutes, hours and the like, and the complexity of the simulation prediction can be completely referred to as a complex task in a digital twin system. The functions which can be realized in the application of the digital twin technology all need to realize solving operation through a certain operation unit, the efficiency of the solving operation is closely related to the performance of the operation unit, and for tasks with different characteristics, the solving efficiency can be improved if the corresponding operation unit can meet the operation requirements. The method disclosed by the invention comprises a digital twin system complex task heterogeneous multi-core architecture and digital description module design and a digital twin system complex task heterogeneous multi-core parallel efficient solution decision module design, can solve the requirement of the digital twin system complex task on parallel solution to a certain extent, and improves the digital twin system complex task solution efficiency.
The system structure block diagram of the invention is shown in fig. 1, and the specific implementation mode is as follows:
(1) fig. 1 shows a digital twin system complex task heterogeneous multi-core architecture and a digital description module, which are specifically implemented as follows:
① construction of a heterogeneous multi-core architecture of a complex task of a digital twin system, wherein the constructed heterogeneous multi-core architecture for the complex task operation of the digital twin system comprises 1 FPGA, 4 MicroBlaze cores (respectively expressed as MicroBlaze _1, MicroBlaze _2, MicroBlaze _3, MicroBlaze _4) and 2 ARM cores (respectively expressed as ARM _1 and ARM _2) for parallel solution, a BRAM (Block Random Access Memory) for inter-core communication, a MailBox (MailBox), an OCM (On Chip Memory, On-Chip Memory) and DDR and Flash for program storage and data caching, and the interaction among the FPGA, the MicroBlaze cores, the ARM cores and the DDR is completed through an I bus;
② digital description of the digital twin system complex task heterogeneous multi-core architecture, defining an octant array model to represent the digital description of the digital twin system complex task heterogeneous multi-core architecture, namely S _ SoC ═ { S _ FPGA, S _ MicroBlaze, S _ ARM, S _ AXI, S _ MailBox, S _ OCM, S _ DDR, S _ Flash }, wherein:
i. the S _ FPGA is a digital description set of the FPGA and is composed of a quaternion group containing main performance indexes of the FPGA, that is, S _ FPGA is { S _ FPGA _ CLB, S _ FPGA _ bram _ CLB, S _ FPGA _ clock, S _ FPGA _ rate }, and S _ FPGA _ CLB represents the size of hardware resources in the FPGA (the interior of the FPGA includes various resources, most of which are CLBs (programmable logic blocks), and programs of users run on the CLBs, so the number of CLBs in the FPGA is referred to herein); s _ FPGA _ BRAM _ clb describes the size of a BRAM cache in the FPGA; s _ FPGA _ clock describes the FPGA clock dominant frequency in unit MHz; the S _ FPGA _ rate describes the rate of loading the configuration file from the Flash by the FPGA, namely the read-write rate of the Flash in bps;
ii. The S _ MicroBlaze is a digital description set of the MicroBlaze core and is composed of a binary array containing main performance indexes of the MicroBlaze core, that is, S _ MicroBlaze ═ { S _ MicroBlaze _ AXIs, S _ MicroBlaze _ clock }, and S _ MicroBlaze _ AXIs represents a bandwidth rate of interaction between the MicroBlaze core and the AXI bus, in bps; s _ MicroBlaze _ clock describes MicroBlaze core clock dominant frequency in MHz; the digital description sets of each MicroBlaze core are the same;
iii, the S _ ARM is a digital description set of the ARM core, and is composed of a binary array containing main performance indexes of the ARM core, that is, S _ ARM ═ { S _ ARM _ AXIs, S _ ARM _ clock }, where S _ ARM _ AXIs represents a bandwidth rate of interaction between the ARM core and the AXI bus, in bps; the S _ ARM _ clock describes ARM core clock dominant frequency in unit of MHz; the digital description sets of each ARM core are the same;
iv, S _ AXI is a digital description set of the AXI bus, and is composed of an unary array containing main performance indexes of the AXI bus, that is, S _ AXI ═ { S _ AXI _ AXIs }, where S _ AXI _ AXIs represents the maximum bandwidth rate of the AXI bus;
v and S _ MailBox are a digital description set of the MailBox and are composed of a unary array containing main performance indexes of the MailBox, namely S _ MailBox ═ { S _ MailBox _ size }, and S _ MailBox _ size represents the space size of the MailBox, and the indexes affect single communication volume during communication between MicroBlaze cores; the MailBox realizes the communication among MicroBlaze cores in the Xilinx FPGA/SoC and is a communication medium.
vi, S _ OCM is a digitized description set of OCM, and is composed of a unary array including a main performance index of OCM, i.e., S _ OCM ═ { S _ OCM _ size }, S _ OCM _ size indicates the space size of OCM, and the index affects single traffic during communication between ARM cores; the OCM realizes communication among ARM cores in the Xilinx SoC and is a communication medium.
vii, S _ DDR is a digital description set of DDR, and is composed of a binary array including main performance indicators of DDR, that is, { S _ DDR _ rate, S _ DDR _ size }, S _ DDR _ rate represents the read-write rate of DDR, in bps; s _ DDR _ size represents the space size of DDR;
viii and S _ Flash are digital description sets of Flash, and are composed of binary arrays containing main performance indexes of Flash, that is, S _ Flash is { S _ Flash _ rate, S _ Flash _ size }, and S _ Flash _ rate represents the read-write rate of Flash in units of bps; s _ Flash _ size represents the space size of Flash;
(2) fig. 1 shows a decision module for parallel efficient solution of heterogeneous multi-core complex tasks of a digital twin system at 2, which is specifically implemented as follows:
① an embedded Linux system is transplanted in ARM _1, ARM _1 runs a digital twin system complex task heterogeneous multi-core parallel solution decision module in a multithread mode to improve the efficiency of a multitask parallel solution decision, and digital description of a digital twin system complex task heterogeneous multi-core architecture is used as input of the module;
② defines the number of solution operation attempts of task i as CiWhen task i arrives, C is initializediIs 0;
③, when the sum of the FPGA hardware resource and the FPGA hardware resource needed by the task i is less than S _ FPGA _ clb, scheduling the task i to the FPGA to carry out solving operation and returning to ②, otherwise, executing ④;
④, when the S _ MicroBlaze _ index of MicroBlaze _1 is equal to 0 at the moment, indicating that MicroBlaze _1 is idle, scheduling the task i to MicroBlaze _1 for solution operation, and returning to ②, otherwise, executing ⑤;
⑤, when the S _ MicroBlaze _ index of MicroBlaze _2 is equal to 0 at the moment, indicating that MicroBlaze _2 is idle, scheduling the task i to MicroBlaze _2 for solution operation, and returning to ②, otherwise, executing ⑥;
⑥, when the S _ MicroBlaze _ index of the MicroBlaze _3 is equal to 0 at the moment, indicating that the MicroBlaze _3 is idle, scheduling the task i to the MicroBlaze _3 for solution operation, and returning to ②, otherwise, executing ⑦;
⑦, when the S _ MicroBlaze _ index of MicroBlaze _4 is equal to 0 at the moment, indicating that MicroBlaze _4 is idle, scheduling the task i to MicroBlaze _4 for solution operation, and returning to ②, otherwise, executing ⑧;
⑧ when the S _ ARM _ axirate of ARM _2 is equal to 0 at this time, it means that ARM _2 is idle, scheduling task i to ARM _2 for solution operation, and returning to ②, otherwise, scheduling CiAdd 1 and perform ⑨;
⑨ if CiIf the number of the solution operation attempts of the task i exceeds the set value, the task i is discarded and the process returns to ②, otherwise, the process returns to ③.
In summary, the invention discloses a digital twin system complex task heterogeneous multi-core parallel efficient solving method and system, which comprises a digital twin system complex task heterogeneous multi-core architecture and digital description module design and a digital twin system complex task heterogeneous multi-core parallel efficient solving decision module design, and can solve the requirement of the digital twin system complex task on parallel solving to a certain extent and improve the solving efficiency of the digital twin system complex task.
Those skilled in the art will appreciate that the invention may be practiced without these specific details.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.
Claims (4)
1. A digital twin system complex task heterogeneous multi-core parallel efficient solving method is characterized by comprising the following steps:
designing a digital twin system complex task heterogeneous multi-core architecture and a digital description module, wherein the module firstly builds a heterogeneous multi-core architecture for running a digital twin system complex task, and then completes digital description of the heterogeneous multi-core architecture based on a multivariate array model, and the specific implementation is as follows:
①, building a heterogeneous multi-core architecture of a complex task of a digital twin system, wherein the built heterogeneous multi-core architecture for the complex task operation of the digital twin system comprises 1 FPGA and 4 MicroBlaze cores for parallel solution, the 4 MicroBlaze cores are respectively represented as MicroBlaze _1, MicroBlaze _2, MicroBlaze _3, MicroBlaze _4 and 2 ARM cores and are respectively represented as ARM _1 and ARM _2, a BRAM, a MailBox and an OCM for inter-core communication, and a DDR and a Flash for program storage and data caching;
② digital description of the digital twin system complex task heterogeneous multi-core architecture, defining an octant array model to represent the digital description of the digital twin system complex task heterogeneous multi-core architecture, namely S _ SoC ═ { S _ FPGA, S _ MicroBlaze, S _ ARM, S _ AXI, S _ MailBox, S _ OCM, S _ DDR, S _ Flash }, wherein:
i S _ FPGA is a digital description set of FPGA, including a quaternion set of FPGA performance index, namely S _ FPGA { S _ FPGA _ clb, S _ FPGA _ bram _ clb, S _ FPGA _ clock, S _ FPGA _ rate }, S _ FPGA _ clb represents the size of hardware resource in FPGA; s _ FPGA _ BRAM _ clb describes the size of a BRAM cache in the FPGA; s _ FPGA _ clock describes the FPGA clock dominant frequency in unit MHz; the S _ FPGA _ rate describes the rate of loading the configuration file from the Flash by the FPGA, namely the read-write rate of the Flash in bps;
ii, S _ MicroBlaze is a digital description set of the MicroBlaze core, and includes a binary number of a performance index of the MicroBlaze core, that is, S _ MicroBlaze ═ { S _ MicroBlaze _ AXIs, S _ MicroBlaze _ clock }, where S _ MicroBlaze _ AXIs represents a bandwidth rate of interaction of the MicroBlaze core with the AXI bus in bps; s _ MicroBlaze _ clock describes MicroBlaze core clock dominant frequency in MHz; the digital description sets of each MicroBlaze core are the same;
iii, the S _ ARM is a digital description set of the ARM core, and includes a binary array of ARM core performance indicators, that is, S _ ARM ═ { S _ ARM _ AXIs, S _ ARM _ clock }, where S _ ARM _ AXIs represents a bandwidth rate of ARM core and AXI bus interaction, in bps; the S _ ARM _ clock describes ARM core clock dominant frequency in unit of MHz; the digital description sets of each ARM core are the same;
iv S _ AXI is a digital description set of the AXI bus, including an unary array of AXI bus performance indicators, i.e., S _ AXI ═ { S _ AXI _ AXIs }, where S _ AXI _ AXIs represents the maximum bandwidth rate of the AXI bus;
v S _ MailBox is a digital description set of MailBox, and includes a unary array of MailBox performance indicators, namely S _ MailBox ═ { S _ MailBox _ size }, S _ MailBox _ size indicates the space size of MailBox, and the indicators affect the single communication volume when the MicroBlaze cores communicate;
vi S _ OCM is a set of digitized descriptions of OCM, and includes a unary array of OCM performance indicators, i.e., S _ OCM ═ { S _ OCM _ size }, S _ OCM _ size indicates the size of space of OCM, and the indicators affect the single traffic during the ARM inter-core communication;
vii S _ DDR is a digital description set of DDR, and includes a binary array of DDR main performance indicators, i.e., S _ DDR ═ { S _ DDR _ rate, S _ DDR _ size }, where S _ DDR _ rate represents the read-write rate of DDR, in bps; s _ DDR _ size represents the space size of DDR;
viii S _ Flash is a digital description set of Flash, and includes a binary array of Flash performance indexes, i.e., S _ Flash ═ { S _ Flash _ rate, S _ Flash _ size }, where S _ Flash _ rate represents the read-write rate of Flash in bps; s _ Flash _ size represents the space size of Flash;
step (2), designing a digital twin system complex task heterogeneous multi-core parallel efficient solving decision module, finishing the determination of an idle core in the current heterogeneous multi-core architecture based on the digital description of the heterogeneous multi-core architecture, and scheduling the arrived digital twin complex task to the idle core for solving operation, wherein the specific implementation is as follows:
① an embedded Linux system is transplanted in ARM _1, ARM _1 runs a digital twin system complex task heterogeneous multi-core parallel solution decision module in a multithread mode to improve the efficiency of a multitask parallel solution decision, and digital description of a digital twin system complex task heterogeneous multi-core architecture is used as input of the module;
② defines the number of solution operation attempts of task i as CiWhen task i arrives, C is initializediIs 0;
③, when the sum of the FPGA hardware resource and the FPGA hardware resource needed by the task i is less than S _ FPGA _ clb, scheduling the task i to the FPGA to carry out solving operation and returning to ②, otherwise, executing ④;
④, when the S _ MicroBlaze _ index of MicroBlaze _1 is equal to 0 at the moment, indicating that MicroBlaze _1 is idle, scheduling the task i to MicroBlaze _1 for solution operation, and returning to ②, otherwise, executing ⑤;
⑤, when the S _ MicroBlaze _ index of MicroBlaze _2 is equal to 0 at the moment, indicating that MicroBlaze _2 is idle, scheduling the task i to MicroBlaze _2 for solution operation, and returning to ②, otherwise, executing ⑥;
⑥, when the S _ MicroBlaze _ index of the MicroBlaze _3 is equal to 0 at the moment, indicating that the MicroBlaze _3 is idle, scheduling the task i to the MicroBlaze _3 for solution operation, and returning to ②, otherwise, executing ⑦;
⑦, when the S _ MicroBlaze _ index of MicroBlaze _4 is equal to 0 at the moment, indicating that MicroBlaze _4 is idle, scheduling the task i to MicroBlaze _4 for solution operation, and returning to ②, otherwise, executing ⑧;
⑧ S _ ARM _ axira of ARM _2 at this timete is equal to 0, which means ARM _2 is idle, the task i is dispatched to ARM _2 to carry out solving operation, and the solution returns to ②, otherwise, C is carried outiAdd 1 and perform ⑨;
⑨ if CiIf the number of the solution operation attempts of the task i exceeds the set value, the task i is discarded and the process returns to ②, otherwise, the process returns to ③.
2. The method for parallel efficient solution of heterogeneous multi-core of complex task of digital twin system as claimed in claim 1, wherein the method is applied to Xilinx ZYNQ-7000SoC chip.
3. A digital twin system complex task heterogeneous multi-core parallel efficient solving system is characterized by comprising the following steps: the system comprises a digital twin system complex task heterogeneous multi-core architecture, a digital description module and a digital twin system complex task heterogeneous multi-core parallel efficient solution decision module; wherein,
the digital twin system complex task heterogeneous multi-core architecture and the digital description module are realized by firstly building the heterogeneous multi-core architecture for running the digital twin system complex task, and then completing the digital description of the heterogeneous multi-core architecture based on a multi-element array model as follows:
①, building a heterogeneous multi-core architecture of a complex task of a digital twin system, wherein the built heterogeneous multi-core architecture for the complex task operation of the digital twin system comprises 1 FPGA and 4 MicroBlaze cores for parallel solution, the 4 MicroBlaze cores are respectively represented as MicroBlaze _1, MicroBlaze _2, MicroBlaze _3, MicroBlaze _4 and 2 ARM cores and are respectively represented as ARM _1 and ARM _2, a BRAM, a MailBox and an OCM for inter-core communication, and a DDR and a Flash for program storage and data caching;
② digital description of the digital twin system complex task heterogeneous multi-core architecture, defining an octant array model to represent the digital description of the digital twin system complex task heterogeneous multi-core architecture, namely S _ SoC ═ { S _ FPGA, S _ MicroBlaze, S _ ARM, S _ AXI, S _ MailBox, S _ OCM, S _ DDR, S _ Flash }, wherein:
i S _ FPGA is a digital description set of FPGA, including a quaternion set of FPGA performance index, namely S _ FPGA { S _ FPGA _ clb, S _ FPGA _ bram _ clb, S _ FPGA _ clock, S _ FPGA _ rate }, S _ FPGA _ clb represents the size of hardware resource in FPGA; s _ FPGA _ BRAM _ clb describes the size of a BRAM cache in the FPGA; s _ FPGA _ clock describes the FPGA clock dominant frequency in unit MHz; the S _ FPGA _ rate describes the rate of loading the configuration file from the Flash by the FPGA, namely the read-write rate of the Flash in bps;
ii, S _ MicroBlaze is a digital description set of the MicroBlaze core, and includes a binary number of a performance index of the MicroBlaze core, that is, S _ MicroBlaze ═ { S _ MicroBlaze _ AXIs, S _ MicroBlaze _ clock }, where S _ MicroBlaze _ AXIs represents a bandwidth rate of interaction of the MicroBlaze core with the AXI bus in bps; s _ MicroBlaze _ clock describes MicroBlaze core clock dominant frequency in MHz; the digital description sets of each MicroBlaze core are the same;
iii, the S _ ARM is a digital description set of the ARM core, and includes a binary array of ARM core performance indicators, that is, S _ ARM ═ { S _ ARM _ AXIs, S _ ARM _ clock }, where S _ ARM _ AXIs represents a bandwidth rate of ARM core and AXI bus interaction, in bps; the S _ ARM _ clock describes ARM core clock dominant frequency in unit of MHz; the digital description sets of each ARM core are the same;
iv S _ AXI is a digital description set of the AXI bus, including an unary array of AXI bus performance indicators, i.e., S _ AXI ═ { S _ AXI _ AXIs }, where S _ AXI _ AXIs represents the maximum bandwidth rate of the AXI bus;
v S _ MailBox is a digital description set of MailBox, and includes a unary array of MailBox performance indicators, namely S _ MailBox ═ { S _ MailBox _ size }, S _ MailBox _ size indicates the space size of MailBox, and the indicators affect the single communication volume when the MicroBlaze cores communicate;
vi S _ OCM is a set of digitized descriptions of OCM, and includes a unary array of OCM performance indicators, i.e., S _ OCM ═ { S _ OCM _ size }, S _ OCM _ size indicates the size of space of OCM, and the indicators affect the single traffic during the ARM inter-core communication;
vii S _ DDR is a digital description set of DDR, and includes a binary array of DDR main performance indicators, i.e., S _ DDR ═ { S _ DDR _ rate, S _ DDR _ size }, where S _ DDR _ rate represents the read-write rate of DDR, in bps; s _ DDR _ size represents the space size of DDR;
viii S _ Flash is a digital description set of Flash, and includes a binary array of Flash performance indexes, i.e., S _ Flash ═ { S _ Flash _ rate, S _ Flash _ size }, where S _ Flash _ rate represents the read-write rate of Flash in bps; s _ Flash _ size represents the space size of Flash;
the heterogeneous multi-core parallel efficient solution decision module for the complex task of the digital twin system finishes determination of an idle core in a current heterogeneous multi-core architecture based on digital description of the heterogeneous multi-core architecture, dispatches an arriving digital twin complex task to the idle core for solution operation, and specifically realizes the following steps:
① an embedded Linux system is transplanted in ARM _1, ARM _1 runs a digital twin system complex task heterogeneous multi-core parallel solution decision module in a multithread mode to improve the efficiency of a multitask parallel solution decision, and digital description of a digital twin system complex task heterogeneous multi-core architecture is used as input of the module;
② defines the number of solution operation attempts of task i as CiWhen task i arrives, C is initializediIs 0;
③, when the sum of the FPGA hardware resource and the FPGA hardware resource needed by the task i is less than S _ FPGA _ clb, scheduling the task i to the FPGA to carry out solving operation and returning to ②, otherwise, executing ④;
④, when the S _ MicroBlaze _ index of MicroBlaze _1 is equal to 0 at the moment, indicating that MicroBlaze _1 is idle, scheduling the task i to MicroBlaze _1 for solution operation, and returning to ②, otherwise, executing ⑤;
⑤, when the S _ MicroBlaze _ index of MicroBlaze _2 is equal to 0 at the moment, indicating that MicroBlaze _2 is idle, scheduling the task i to MicroBlaze _2 for solution operation, and returning to ②, otherwise, executing ⑥;
⑥, when the S _ MicroBlaze _ index of the MicroBlaze _3 is equal to 0 at the moment, indicating that the MicroBlaze _3 is idle, scheduling the task i to the MicroBlaze _3 for solution operation, and returning to ②, otherwise, executing ⑦;
⑦, when the S _ MicroBlaze _ index of MicroBlaze _4 is equal to 0 at the moment, indicating that MicroBlaze _4 is idle, scheduling the task i to MicroBlaze _4 for solution operation, and returning to ②, otherwise, executing ⑧;
⑧ when the S _ ARM _ axirate of ARM _2 is equal to 0 at this time, it means that ARM _2 is idle, scheduling task i to ARM _2 for solution operation, and returning to ②, otherwise, scheduling CiAdd 1 and perform ⑨;
⑨ if CiIf the number of the solution operation attempts of the task i exceeds the set value, the task i is discarded and the process returns to ②, otherwise, the process returns to ③.
4. The system as claimed in claim 3, wherein the system is suitable for Xilinx ZYNQ-7000SoC chips.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947700.4A CN110674078B (en) | 2019-10-08 | 2019-10-08 | Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947700.4A CN110674078B (en) | 2019-10-08 | 2019-10-08 | Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674078A true CN110674078A (en) | 2020-01-10 |
CN110674078B CN110674078B (en) | 2020-11-10 |
Family
ID=69080946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910947700.4A Active CN110674078B (en) | 2019-10-08 | 2019-10-08 | Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674078B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306658A (en) * | 2020-10-31 | 2021-02-02 | 贵州电网有限责任公司 | Digital twin application management scheduling method for multi-energy system |
CN113111201A (en) * | 2021-04-19 | 2021-07-13 | 北京航空航天大学 | Digital twin model lightweight method and system |
CN113848780A (en) * | 2021-09-22 | 2021-12-28 | 北京航空航天大学 | High maneuvering platform attitude resolving device and method under multi-core heterogeneous processor architecture |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944049A (en) * | 2010-09-16 | 2011-01-12 | 四川大学 | Unified dispatching algorithm of reconfigurable system software/ hardware task based on placement cost |
CN102360246A (en) * | 2011-10-14 | 2012-02-22 | 武汉理工大学 | Self-adaptive threshold-based energy-saving scheduling method in heterogeneous distributed system |
CN105260164A (en) * | 2015-09-25 | 2016-01-20 | 北京航空航天大学 | Multi-core SoC architecture design method supporting multi-task parallel execution |
CN107423120A (en) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | Method for scheduling task and device |
CN108196953A (en) * | 2017-12-28 | 2018-06-22 | 北京航空航天大学 | A kind of heterogeneous polynuclear parallel processing apparatus and method towards isomerous multi-source big data |
CN108919760A (en) * | 2018-07-05 | 2018-11-30 | 长安大学 | A kind of intelligent workshop autonomy production process dynamic linkage control method twin based on number |
-
2019
- 2019-10-08 CN CN201910947700.4A patent/CN110674078B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944049A (en) * | 2010-09-16 | 2011-01-12 | 四川大学 | Unified dispatching algorithm of reconfigurable system software/ hardware task based on placement cost |
CN102360246A (en) * | 2011-10-14 | 2012-02-22 | 武汉理工大学 | Self-adaptive threshold-based energy-saving scheduling method in heterogeneous distributed system |
CN105260164A (en) * | 2015-09-25 | 2016-01-20 | 北京航空航天大学 | Multi-core SoC architecture design method supporting multi-task parallel execution |
CN107423120A (en) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | Method for scheduling task and device |
CN108196953A (en) * | 2017-12-28 | 2018-06-22 | 北京航空航天大学 | A kind of heterogeneous polynuclear parallel processing apparatus and method towards isomerous multi-source big data |
CN108919760A (en) * | 2018-07-05 | 2018-11-30 | 长安大学 | A kind of intelligent workshop autonomy production process dynamic linkage control method twin based on number |
Non-Patent Citations (2)
Title |
---|
张军能: "动态可重构平台操作系统中的资源管理问题研究", 《中国博士学位论文全文数据库·信息科技辑》 * |
陶飞 等: "数字孪生及其应用探索", 《计算机集成制造系统》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306658A (en) * | 2020-10-31 | 2021-02-02 | 贵州电网有限责任公司 | Digital twin application management scheduling method for multi-energy system |
CN112306658B (en) * | 2020-10-31 | 2024-08-02 | 贵州电网有限责任公司 | Digital twin application management scheduling method for multi-energy system |
CN113111201A (en) * | 2021-04-19 | 2021-07-13 | 北京航空航天大学 | Digital twin model lightweight method and system |
CN113111201B (en) * | 2021-04-19 | 2022-02-11 | 北京航空航天大学 | Digital twin model lightweight method and system |
CN113848780A (en) * | 2021-09-22 | 2021-12-28 | 北京航空航天大学 | High maneuvering platform attitude resolving device and method under multi-core heterogeneous processor architecture |
Also Published As
Publication number | Publication date |
---|---|
CN110674078B (en) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Cloud-DNN: An open framework for mapping DNN models to cloud FPGAs | |
CN110674078B (en) | Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system | |
CN108280514B (en) | FPGA-based sparse neural network acceleration system and design method | |
CN101932996B (en) | Parallel processing computer systems with reduced power consumption and methods for providing the same | |
US10452605B2 (en) | Method and apparatus for task scheduling on heterogeneous multi-core reconfigurable computing platform | |
CN107122243B (en) | The method of Heterogeneous Cluster Environment and calculating CFD tasks for CFD simulation calculations | |
WO2016112701A1 (en) | Method and device for task scheduling on heterogeneous multi-core reconfigurable computing platform | |
CN105373432B (en) | A kind of cloud computing resource scheduling method based on virtual resource status predication | |
CN207817702U (en) | Data processing system for improving data processing speed | |
US20200250525A1 (en) | Lightweight, highspeed and energy efficient asynchronous and file system-based ai processing interface framework | |
CN106462431B (en) | The extraction system framework in higher synthesis | |
US8489824B2 (en) | Selective memory compression for multi-threaded applications | |
CN110750345B (en) | Efficient complex task scheduling system of digital twin system | |
CN102236543B (en) | Data decompression device and method | |
CN111176784B (en) | Virtual machine integration method based on extreme learning machine and ant colony system | |
CN109301936B (en) | Intelligent substation operation and maintenance information monitoring system based on container scheduling framework | |
CN116501505B (en) | Method, device, equipment and medium for generating data stream of load task | |
CN114897133A (en) | Universal configurable Transformer hardware accelerator and implementation method thereof | |
CN110059024A (en) | A kind of memory headroom data cache method and device | |
CN115033188A (en) | Storage hardware acceleration module system based on ZNS solid state disk | |
US20230065842A1 (en) | Prediction and optimization of multi-kernel circuit design performance using a programmable overlay | |
CN110046024A (en) | Method for data center's storage appraisal framework emulation | |
CN114911604A (en) | Resource scheduling method, device and management equipment | |
CN112667562A (en) | CPU-FPGA-based random walk heterogeneous computing system on large-scale graph | |
Diamantopoulos et al. | A system-level transprecision FPGA accelerator for BLSTM using on-chip memory reshaping |
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 |