CN112148456A - FPGA high-level comprehensive scheduling method - Google Patents

FPGA high-level comprehensive scheduling method Download PDF

Info

Publication number
CN112148456A
CN112148456A CN202011062643.0A CN202011062643A CN112148456A CN 112148456 A CN112148456 A CN 112148456A CN 202011062643 A CN202011062643 A CN 202011062643A CN 112148456 A CN112148456 A CN 112148456A
Authority
CN
China
Prior art keywords
control step
scheduling
time frame
force
scheduled
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
CN202011062643.0A
Other languages
Chinese (zh)
Other versions
CN112148456B (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.)
Chengdu Sino Microelectronics Technology Co ltd
Original Assignee
Chengdu Sino Microelectronics Technology Co ltd
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 Chengdu Sino Microelectronics Technology Co ltd filed Critical Chengdu Sino Microelectronics Technology Co ltd
Priority to CN202011062643.0A priority Critical patent/CN112148456B/en
Publication of CN112148456A publication Critical patent/CN112148456A/en
Application granted granted Critical
Publication of CN112148456B publication Critical patent/CN112148456B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

An FPGA high-level comprehensive scheduling method relates to an integrated circuit technology. The invention comprises the following steps: 1) calculating to obtain the length of a time frame of each operation; 2) calculating the sum of the occurrence probability of each operation in each control step according to the time frame to obtain probability distribution; 3) judging whether operations which are not scheduled exist, if so, calculating direct force and indirect force of all operations to be scheduled to each control step in the time frame, and selecting (op) with minimum resultant forcei,csj) Scheduling, and setting the length of the current operation time frame as 1, otherwise ending the scheduling; the inter-relay force is calculated by adopting the following method:
Figure DDA0002712870680000011
the invention has obvious improvement on reducing the operation amount of the scheduling algorithm.

Description

FPGA high-level comprehensive scheduling method
Technical Field
The present invention relates to integrated circuit technology.
Background
With the increase of logic scale and performance requirement of FPGA devices, optimization of a scheduling algorithm in a high-level integration process is of great importance. The quality of the scheduling algorithm directly affects the time characteristics such as the execution speed and the response delay of the device and the space characteristics such as the hardware resource cost.
Commonly used Scheduling algorithms mainly include ASAP (As Soon As Possible), ALAP (As Late As Possible), List Scheduling algorithm (LS, List Scheduling), and force-guided algorithm (FDS, F)race-Directed Scheduling). Paulin and Knight proposed in 1989 to apply force-guided algorithms to high-level synthesis, which is a construction algorithm for finding minimum resource scheduling based on time constraints. The algorithm simulates the state of the minimum stress of a spring to distribute a force to each movement according to the Hooke's law f-k x in mechanics, so that the resources are uniformly distributed to the maximum extent in each period. In the force guidance algorithm, k represents an initial pressure on a control step, x represents a probability variation amount of an operation occurring in the control step, f represents an acting force of the control step on the operation, and a larger f represents a larger repulsive force to the operation. f comprises direct forces and indirect forces, wherein direct forces characterize the operation opiScheduling to control step csjTime, to control step csjThe resulting influence, indirect force, characterizes the operation opiScheduling to control step csjThen, to opiThe effect of the predecessor and successor operations. FIG. 1 is a drawing of
The main flow of the traditional force guidance algorithm comprises the following steps:
1) running ASAP and ALAP scheduling algorithms to obtain a time frame of each operation;
2) calculating the sum of the occurrence probability of each operation in each control step according to the time frame to obtain a probability distribution map;
3) judging whether operations which are not scheduled exist, if so, calculating direct force and indirect force of all operations to be scheduled to each control step in the time frame, and selecting (op) with minimum resultant forcei,csj) Scheduling, and setting the length of the current operation time frame as 1, otherwise ending the scheduling;
4) updating the time frames of the direct predecessor and direct successor of the operation;
5) update the probability distribution map, go to 3).
Wherein, the operation opiMay be expressed as
Figure BDA0002712870660000021
ALAP(opi) Representing operations opiCan adjustThe latest control step of the degree is recorded as
Figure BDA0002712870660000022
Can be obtained by an ALAP scheduling algorithm; ASAP (op)i) To operate oniThe earliest control step that can be scheduled is recorded as
Figure BDA0002712870660000023
May be derived from the ASAP scheduling algorithm.
Operation opiIn a control step csjProbability P (op)i,csj) Is composed of
Figure BDA0002712870660000024
The probability distribution over each control step is then obtained as follows
Figure BDA0002712870660000025
Where n is the total number of operations of that type, K (cs)j) Can be regarded as k in the mechanical formula f ═ k × x, and is used for representing control step csjThe initial pressure of (a). Let x (cs)k) Represents an operation opiScheduling to control step csjWhen, P (op)i,csj) In a control step csjThe generated variation can be regarded as x in the mechanical formula. And drawing a probability distribution diagram through the probability distribution condition.
Solving the direct force and the indirect force to obtain the resultant force, i.e. the operation opiScheduling to control step csjThe direct forces generated are:
Figure BDA0002712870660000026
when cs isk=csjX (cs) isk) 1-1/h; when cs isk≠csjX (cs) isk) -1/h. The above formula is modified to obtain:
Figure BDA0002712870660000027
the deformation formula avoids the pair x (cs)k) The direct acting force generated by the dispatching operation can be obtained by directly utilizing the initial pressure distribution condition. Considering operation opiScheduling to control step csjThe influence of the successor on the predecessor and successor is generated by the scheduling, and the indirect force formula is as follows
Figure BDA0002712870660000028
Wherein opwEither immediately preceding or succeeding the current operation,
Figure BDA0002712870660000029
is opwThe time frame of (a) is,
Figure BDA00027128706600000210
to operate oniPost-dispatch opwThe length of the time frame of the update,
Figure BDA0002712870660000031
aiming at the indirect force, the algorithm time complexity can reach
Figure BDA0002712870660000032
Will opiScheduling to csjThe resultant force calculation formula is as follows
F(opi,csj)=Fdirect(opi,csj)+Findirect(opi,csj,opw) (7)
Disclosure of Invention
The invention aims to solve the technical problem of providing a rapid and efficient FPGA high-level comprehensive scheduling method in order to adapt to the continuous increase of the scale of FPGA devices.
The technical scheme adopted by the invention for solving the technical problems is that the FPGA high-level comprehensive scheduling method comprises the following steps:
1) the time frame length for each operation is calculated:
operation opiMay be expressed as
Figure BDA0002712870660000033
Wherein ALAP (op)i) Representing operations opiThe latest control step that can be scheduled is recorded as
Figure BDA0002712870660000034
ASAP(opi) To operate oniThe earliest control step that can be scheduled is recorded as
Figure BDA0002712870660000035
2) Calculating the sum of the probability of each operation in each control step according to the time frame to obtain probability distribution, namely operation opiIn a control step csjProbability P (op)i,csj) Comprises the following steps:
Figure BDA0002712870660000036
the probability distribution over each control step is as follows:
Figure BDA0002712870660000037
where n is the total number of operations of that type, K (cs)j) Indicating the control step csjAn initial pressure on;
3) judging whether operations which are not scheduled exist, if so, calculating direct force and indirect force of all operations to be scheduled to each control step in the time frame, and selecting (op) with minimum resultant forcei,csj) The scheduling is carried out, the length of the time frame of the current operation is set to be 1,otherwise, finishing the scheduling;
wherein the content of the first and second substances,
(3.a) calculating the direct force: let x (cs)k) Represents an operation opiScheduling to control step csjWhen, P (op)i,csj) In a control step csjThe generated variable is to be operated oniScheduling to control step csjThe direct forces generated are:
Figure BDA0002712870660000041
(3.b) calculating the inter-relay;
4) updating the time frames of the direct predecessor and direct successor of the operation;
5) updating the probability distribution, go to 3);
the method is characterized in that in the step (3.b), the inter-relay force is calculated by adopting the following method:
Figure BDA0002712870660000042
wherein opwEither immediately preceding or succeeding the current operation,
Figure BDA0002712870660000043
is opwThe length of the time frame of (a),
Figure BDA0002712870660000044
to operate oniPost-dispatch opwThe length of the time frame of the update,
Figure BDA0002712870660000045
Figure BDA0002712870660000046
the invention improves the existing scheduling algorithm, and simplifies the calculation of indirect force in the calculation of involution force. While solving for intermediate relay for any predecessor or successorThe algorithm needs to be calculated before improvement
Figure BDA0002712870660000047
Direct force generated by secondary predecessor or successor implicit scheduling is not needed to be considered independently in the improved algorithm, indirect force is calculated directly, and the time complexity of the algorithm can be changed from the original time
Figure BDA0002712870660000048
Is reduced to
Figure BDA0002712870660000049
For a large-scale integrated circuit, the invention obviously improves the reduction of the operation amount of the scheduling algorithm, and can effectively improve the running speed of the system without reducing the scheduling effect.
Drawings
FIG. 1 is a flow chart of an FPGA high-level scheduling algorithm.
Fig. 2 is a data flow diagram of embodiment 1.
Fig. 3 is a schematic diagram of the distribution of the operation time frames.
Fig. 4 is a diagram illustrating a scheduling result according to an embodiment.
Detailed Description
The invention improves the existing force guidance algorithm based on time frame length priority division, simplifies the calculation mode of indirect force, and avoids the complex calculation process of the indirect force when the length of the time frame of the predecessor or successor of the current operation is larger. The problem of excessive calculation in the force guidance algorithm can be further solved.
The invention is characterized in that the intermediate relay formula of the original algorithm is improved, and the intermediate relay formula (6) in the prior art is replaced by the following formula:
Figure BDA0002712870660000051
wherein the content of the first and second substances,
Figure BDA0002712870660000052
representing operations opiScheduling to control step csjThen at opwAn average value of the initial pressure within the schedulable time frame range;
Figure BDA0002712870660000053
represents opwInitial pressure average value in the range of the original time frame. Differencing the two terms may characterize the operation opiScheduling to control step csjIndirect effects of time. The algorithm time complexity of the improved intermediate relay can be reduced to
Figure BDA0002712870660000054
Selecting (op) with the smallest resultant forcei,csj) For scheduling, when the resultant force is the same, sigma can be selectedAlltypeK(csi) The smaller control step is scheduled.
And after the current operation scheduling is finished, updating the preceding time frame and the following time frame, and implicitly scheduling and deleting the operation to be scheduled, which can be determined by the child node after the parent node is scheduled.
When the probability distribution map needs to be updated, only the operation type and the time frame which affect the current operation type and the time frame thereof and the implicit scheduling are considered for updating.
To further illustrate the present invention, an analysis is performed according to the dataflow diagram shown in FIG. 2, assuming that all numbered operations are of the same type.
For the data stream shown in fig. 2, the operation time frame representation obtained by using the ASAP and ALAP algorithms is shown in fig. 3.
Wherein cs is1-cs5To control the step, op1-op10To operate, it can be seen that op1、op2、op4、op5、op8、op10For critical path operations, the only op to be scheduled is3、op6、op7、op9. (Note: conventional force-guided algorithms need to calculate the resultant force of all the operations, this documentIn the embodiment, the time frame is sorted according to the sorting length) and all the operation to be scheduled are sorted according to the time frame length and then are op6、op9、op3、op7And 2, the initial pressure distribution on each control step can be obtained through calculation and is shown in the table 1.
TABLE 1 initial pressure distribution over control steps
Control step Initial pressure (K (cs)i))
cs 1 1
cs 2 4/3
cs3 19/6
cs 4 8/3
cs5 11/6
First op6And (3) scheduling to obtain the following resultant force calculation formula:
(Note: since the scheduling of op6 to cs3 has no effect on predecessor successors, it is sufficient to directly calculate predecessor forces)
Figure BDA0002712870660000061
Figure BDA0002712870660000062
Selecting the operation-control step pair (op) with the smallest resultant force6,cs4) Will op6Scheduling to cs4,4.op9For its immediate successor operation, it can only be implicitly scheduled to cs5
After updating probability distribution, p pairs3Scheduling is carried out to obtain
Figure BDA0002712870660000063
Figure BDA0002712870660000064
Will op3Scheduling to cs2. Subsequent op7Can be scheduled to cs3、cs4And cs5Updating the probability distribution map, F (op)7,cs3)=0,F(op7,cs4)=0,F(op7,cs5) And (4) performing scheduling in the optional control step, and performing scheduling for three times to obtain a final result as shown in fig. 4.

Claims (1)

  1. The FPGA high-level comprehensive scheduling method comprises the following steps:
    1) the time frame length for each operation is calculated:
    operation opiMay be expressed as
    Figure FDA0002712870650000011
    Wherein ALAP (op)i) Representing operations opiThe latest control step that can be scheduled is recorded as
    Figure FDA0002712870650000012
    ASAP(opi) To operate oniThe earliest control step that can be scheduled is recorded as
    Figure FDA0002712870650000013
    2) Calculating the sum of the occurrence probability of each operation in each control step according to the time frame to obtain probability distribution:
    operation opiIn a control step csjProbability P (op)i,csj) Comprises the following steps:
    Figure FDA0002712870650000014
    the probability distribution over each control step is as follows:
    Figure FDA0002712870650000015
    where n is the total number of operations of that type, K (cs)j) Indicating the control step csjAn initial pressure on;
    3) judging whether operations which are not scheduled exist, if so, calculating direct force and indirect force of all operations to be scheduled to each control step in the time frame, and selecting (op) with minimum resultant forcei,csj) Scheduling, and setting the length of the current operation time frame as 1, otherwise ending the scheduling;
    wherein the content of the first and second substances,
    (3.a) calculating the direct force: let x (cs)k) Represents an operation opiScheduling to control step csjWhen, P (op)i,csj) In a control step csjThe generated variable is to be operated oniScheduling to control step csjThe direct forces generated are:
    Figure FDA0002712870650000016
    (3.b) calculating the inter-relay;
    4) updating the time frames of the direct predecessor and direct successor of the operation;
    5) updating the probability distribution, go to 3);
    the method is characterized in that in the step (3.b), the inter-relay force is calculated by adopting the following method:
    Figure FDA0002712870650000021
    wherein opwEither immediately preceding or succeeding the current operation,
    Figure FDA0002712870650000022
    is opwThe length of the time frame of (a),
    Figure FDA0002712870650000023
    to operate oniPost-dispatch opwThe length of the time frame of the update,
    Figure FDA0002712870650000024
CN202011062643.0A 2020-09-30 2020-09-30 FPGA high-level comprehensive scheduling method Active CN112148456B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011062643.0A CN112148456B (en) 2020-09-30 2020-09-30 FPGA high-level comprehensive scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011062643.0A CN112148456B (en) 2020-09-30 2020-09-30 FPGA high-level comprehensive scheduling method

Publications (2)

Publication Number Publication Date
CN112148456A true CN112148456A (en) 2020-12-29
CN112148456B CN112148456B (en) 2023-05-16

Family

ID=73951624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011062643.0A Active CN112148456B (en) 2020-09-30 2020-09-30 FPGA high-level comprehensive scheduling method

Country Status (1)

Country Link
CN (1) CN112148456B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6505645A (en) * 1964-05-04 1965-11-05
GB0002874D0 (en) * 1999-06-03 2000-03-29 Sharp Kk Scheduling method for high-level synthesis and recording medium
JP2000148808A (en) * 1998-11-06 2000-05-30 Nec Corp Method for verifying correctness of structural rtl for scheduled motion description
US20050193359A1 (en) * 2004-02-13 2005-09-01 The Regents Of The University Of California Method and apparatus for designing circuits using high-level synthesis
WO2007124048A2 (en) * 2006-04-19 2007-11-01 Trustees Of Princeton University A hybrid nanotube/cmos dynamically reconfigurable architecture and an integrated design optimization method and system therefor
US20120065956A1 (en) * 2010-08-31 2012-03-15 The Regents Of The University Of California Digital processors
CN104360906A (en) * 2014-10-31 2015-02-18 中山大学 High-level comprehensive scheduling method based on difference constraint system and iterative model
CN106599366A (en) * 2016-11-11 2017-04-26 中国人民解放军国防科学技术大学 High-level integrated dispatching method based on motility
CN110334436A (en) * 2019-07-03 2019-10-15 腾讯科技(深圳)有限公司 A kind of data processing method and equipment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6505645A (en) * 1964-05-04 1965-11-05
JP2000148808A (en) * 1998-11-06 2000-05-30 Nec Corp Method for verifying correctness of structural rtl for scheduled motion description
GB0002874D0 (en) * 1999-06-03 2000-03-29 Sharp Kk Scheduling method for high-level synthesis and recording medium
US20050193359A1 (en) * 2004-02-13 2005-09-01 The Regents Of The University Of California Method and apparatus for designing circuits using high-level synthesis
WO2007124048A2 (en) * 2006-04-19 2007-11-01 Trustees Of Princeton University A hybrid nanotube/cmos dynamically reconfigurable architecture and an integrated design optimization method and system therefor
US20120065956A1 (en) * 2010-08-31 2012-03-15 The Regents Of The University Of California Digital processors
CN104360906A (en) * 2014-10-31 2015-02-18 中山大学 High-level comprehensive scheduling method based on difference constraint system and iterative model
CN106599366A (en) * 2016-11-11 2017-04-26 中国人民解放军国防科学技术大学 High-level integrated dispatching method based on motility
CN110334436A (en) * 2019-07-03 2019-10-15 腾讯科技(深圳)有限公司 A kind of data processing method and equipment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SUN QIANG: "A peak power optimization scheduling algorithm for multi-cycle operation" *
刘乙力等: "基于时间约束的高层次综合调度方法" *
司巧梅等: "一种面向多周期操作的峰值功耗优化调度算法" *

Also Published As

Publication number Publication date
CN112148456B (en) 2023-05-16

Similar Documents

Publication Publication Date Title
Rubinstein et al. Modern simulation and modeling
Zhang et al. Two-way-looking self-equalizing headway control for bus operations
US20090187534A1 (en) Transaction prediction modeling method
Zhao et al. Efficient algorithms for analysis and improvement of flexible manufacturing systems
JP4405520B2 (en) Computer program, computer apparatus and method for adjusting project progress schedule
CN103559129A (en) Statistical regression test data generation method based on genetic algorithm
CN111597631A (en) Automobile wind resistance coefficient optimization method based on self-adaptive agent model
CN111401642A (en) Method, device and equipment for automatically adjusting predicted value and storage medium
Göppert et al. Automated scenario analysis of reinforcement learning controlled line-less assembly systems
CN111001660A (en) Control device and control method
CN112148456A (en) FPGA high-level comprehensive scheduling method
Fnaiech et al. A new heuristic method for solving joint job shop scheduling of production and maintenance
CN103927433A (en) Multi-source multi-exit crowd emergency evacuation scheduling method based on flow control
CN106326005B (en) Parameter automatic tuning method for iterative MapReduce operation
CN116402303A (en) Active scheduling method for overcoming operation release disturbance in workshop
CN104166885A (en) Recent region load predicting method based on S-type curve
CN111522845A (en) Stream computation framework watermark issuing strategy based on time sequence prediction
KR20200104734A (en) An adaptive Batch Orchestration Algorithm for Straggler Mitigation of Synchronous SGD in the Heterogeneous GPU Cluster
CN105677936A (en) Self-adaptive recursive multi-step prediction method of demand torque for mechanical-electrical compound drive system
US11702120B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP2009258863A (en) Multi-item and multi-process dynamic lot size scheduling method
JP2000339005A (en) Method and device for controlling optimization of controlled target
WO2021090484A1 (en) Learning device, information integration system, learning method, and recording medium
CN107085536B (en) Task management method and device
JPWO2021090518A5 (en) Learning equipment, learning methods, and programs

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
CB02 Change of applicant information

Address after: No. 2201 and 2301, Floor 22-23, Building 1, No. 1800, Middle Section, Yizhou Avenue, Chengdu High-tech Zone, China (Sichuan) Free Trade Pilot Zone, Chengdu, Sichuan 610000

Applicant after: Chengdu Hua Microelectronics Technology Co.,Ltd.

Address before: 610000 22 / F, building 1, No. 1800, middle section of Yizhou Avenue, hi tech Zone, Chengdu City, Sichuan Province

Applicant before: CHENGDU SINO MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant