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 PDF

Info

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
Application number
CN201910947700.4A
Other languages
Chinese (zh)
Other versions
CN110674078B (en
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 University of Aeronautics and Astronautics
Original Assignee
Beijing University of Aeronautics and Astronautics
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 University of Aeronautics and Astronautics filed Critical Beijing University of Aeronautics and Astronautics
Priority to CN201910947700.4A priority Critical patent/CN110674078B/en
Publication of CN110674078A publication Critical patent/CN110674078A/en
Application granted granted Critical
Publication of CN110674078B publication Critical patent/CN110674078B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7835Architectures 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

Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system
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.
CN201910947700.4A 2019-10-08 2019-10-08 Digital twin system complex task heterogeneous multi-core parallel efficient solving method and system Active CN110674078B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张军能: "动态可重构平台操作系统中的资源管理问题研究", 《中国博士学位论文全文数据库·信息科技辑》 *
陶飞 等: "数字孪生及其应用探索", 《计算机集成制造系统》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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