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

FPGA high-level comprehensive scheduling method Download PDF

Info

Publication number
CN112148456B
CN112148456B CN202011062643.0A CN202011062643A CN112148456B CN 112148456 B CN112148456 B CN 112148456B CN 202011062643 A CN202011062643 A CN 202011062643A CN 112148456 B CN112148456 B CN 112148456B
Authority
CN
China
Prior art keywords
control step
time frame
force
scheduling
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011062643.0A
Other languages
Chinese (zh)
Other versions
CN112148456A (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 Hua Microelectronics Technology Co ltd
Original Assignee
Chengdu Hua 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 Hua Microelectronics Technology Co ltd filed Critical Chengdu Hua 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 time frame length of each operation; 2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution; 3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not; the indirect force is calculated as follows:
Figure DDA0002712870680000011
the invention obviously improves 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 the logic scale and the increase of the performance demands of the FPGA device, the optimization of a scheduling algorithm in a high-level synthesis process is of great importance. The advantages and disadvantages of the scheduling algorithm directly affect the execution speed, response delay and other time characteristics of the device and the space characteristics of hardware resource cost and the like.
Commonly used Scheduling algorithms mainly include ASAP (As Soon As Possible), ALAP (As Late AsPossible), list Scheduling (LS) and Force guidance (FDS, force-Directed Scheduling). Paulin and Knight in 1989 proposed applying the force-directed algorithm to high-level synthesis, a construction algorithm that looked for minimum resource scheduling based on time constraints. The calculation isAccording to Hooke's law f=k x in mechanics, a state with minimum spring stress is simulated to distribute a force to each movement, so that resources are uniformly distributed to the greatest extent in each period. In the force guidance algorithm, k represents an initial pressure on the control step, x represents a probability variation of the operation occurring in the control step, f represents a force of the control step on the operation, and f represents a repulsive force on the operation larger the f. f comprises a direct force and an indirect force, wherein the direct force characterizes the operation op i Dispatch to control step cs j For control step cs j The resulting influence, the indirect force, characterizes the operation op i Dispatch to control step cs j At the time of op i The effects of the precursor operation and the subsequent operation. Fig. 1 is a main flow of a conventional force guidance algorithm, which includes 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 probabilities of the operations in each control step according to the time frame to obtain a probability distribution map;
3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;
4) Updating the operation direct predecessor and the direct successor timeframe;
5) Update probability distribution map, go to 3).
Wherein op is operated i The time frame length of (a) can be expressed as
Figure GDA0004146454600000021
ALAP(op i ) Representing operation op i The latest control step which can be scheduled is recorded as
Figure GDA0004146454600000022
Available from the ALAP scheduling algorithm; ASAP (op) i ) To operate op i The earliest control step that can be scheduled is denoted +.>
Figure GDA0004146454600000023
Available from ASAP scheduling algorithms.
Operation op i In the control step cs j Probability P (op) i ,cs j ) Is that
Figure GDA0004146454600000024
The probability distribution at each control step is then obtained as follows
Figure GDA0004146454600000025
Where n is the total number of operations of this type, K (cs j ) Can be regarded as k in the mechanical formula f=k×x, for representing the control step cs j Initial pressure on the cylinder. Let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The resulting change can be seen as x in the mechanical formula. The probability distribution map can be drawn by the probability distribution case.
Solving the direct force and the indirect force to obtain the resultant force, namely operating op i Dispatch to control step cs j The direct acting force generated is as follows:
Figure GDA0004146454600000026
when cs k =cs j When x (cs) k ) =1-1/h; when cs k ≠cs j When x (cs) k ) = -1/h. The above formula is deformed to obtain:
Figure GDA0004146454600000027
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. In view of operating op i Dispatch to control step cs j The influence of the latter on the predecessor and successor is as follows, and the indirect force formula generated by the scheduling is as follows
Figure GDA0004146454600000028
Wherein op is w For either direct predecessor or successor to the current operation,
Figure GDA0004146454600000029
is op w Time frame of->
Figure GDA00041464546000000210
To operate op i Post-scheduling op w Updated time frame length, +.>
Figure GDA0004146454600000031
For indirect forces, the algorithm time complexity can be up to +.>
Figure GDA0004146454600000032
Op is put into i Dispatch to cs j The resultant force calculation formula of (2) is as follows
F(op i ,cs j )=F direct (op i ,cs j )+F indirect (op i ,cs j ,op w ) (7)
Disclosure of Invention
The technical problem to be solved by the invention is to provide a rapid and efficient high-level comprehensive scheduling method for the FPGA in order to adapt to the continuous increase of the scale of the FPGA device.
The technical scheme adopted by the invention for solving the technical problems is that the high-level comprehensive scheduling method of the FPGA comprises the following steps:
1) Calculating the time frame length of each operation:
operation op i The time frame length of (a) can be expressed as
Figure GDA0004146454600000033
Wherein ALAP (op i ) Representing operation op i The latest control step which can be scheduled is recorded as
Figure GDA0004146454600000034
ASAP(op i ) To operate op i The earliest control step that can be scheduled is recorded as
Figure GDA0004146454600000035
2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution:
operation op i In the control step cs j Probability P (op) i ,cs j ) The method comprises the following steps:
Figure GDA0004146454600000036
the probability distribution at each control step is as follows:
Figure GDA0004146454600000037
/>
where n is the total number of operations, K (cs j ) Representing a control step cs j Initial pressure on;
3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;
wherein,,
(3. A) calculating the direct force:let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The generated variation will operate op i Dispatch to control step cs j The direct acting force generated is as follows:
Figure GDA0004146454600000041
(3.b) calculating an indirect force;
4) Updating the operation direct predecessor and the direct successor timeframe;
5) Updating the probability distribution, and turning to 3);
in the step (3.b), the following method is adopted to calculate the indirect force:
Figure GDA0004146454600000042
wherein op is w For either direct predecessor or successor to the current operation,
Figure GDA0004146454600000043
is op w Time frame length,/, of%>
Figure GDA0004146454600000044
To operate op i Post-scheduling op w Updated time frame length, +.>
Figure GDA0004146454600000045
Figure GDA0004146454600000046
The invention improves the existing scheduling algorithm, and simplifies the calculation of indirect force in the calculation of the involutive force. When solving the indirect force for any one precursor or subsequent precursor, the algorithm before improvement needs to be calculated
Figure GDA0004146454600000047
Direct force generated by secondary precursor or subsequent implicit dispatching, while the improved algorithm does not need to consider the direct force generated by the implicit dispatching precursor or subsequent implicit dispatching alone, and can directly calculate indirect force, so that the algorithm time complexity can be changed from original ++>
Figure GDA0004146454600000048
Decrease to->
Figure GDA0004146454600000049
For large-scale integrated circuits, the invention obviously improves the operation amount of a scheduling algorithm, and can effectively improve the running speed of a 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 example 1.
Fig. 3 is a schematic diagram of the distribution of the operation time frames.
Fig. 4 is a schematic diagram of scheduling results of an embodiment.
Detailed Description
The method improves the existing force guiding algorithm based on time frame length priority, simplifies the calculation mode of indirect force, and avoids the complex calculation process of indirect force when the precursor or the subsequent time frame length of the current operation is larger. The problem of excessive calculation amount 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 indirect force formula (6) in the prior art is replaced by the following formula:
Figure GDA0004146454600000051
wherein,,
Figure GDA0004146454600000052
representing operation op i Dispatch to control step cs j After that, at op w An average value of initial pressures within a schedulable timeframe range; />
Figure GDA0004146454600000053
Represents op w An initial pressure average over the original time frame. Making the difference between these two terms characterizes the operation op i Dispatch to control step cs j Indirect effects of the time. The algorithm time complexity of the relay after improvement can be reduced to +.>
Figure GDA0004146454600000054
Selecting (op) with the smallest resultant force i ,cs j ) For scheduling, when the resultant forces are the same, the sum can be selected All type K(cs i ) Smaller control steps schedule.
After the current operation is scheduled, the predecessor and the subsequent time frame need to be updated, and the child node can determine that the next operation needs to be implicitly scheduled after the parent node is scheduled and delete the operation from the operation to be scheduled.
When the probability distribution map is required to be updated, only the operation type and the time frame which affect the current operation type and the time frame and the implicit scheduling are considered to be updated.
To further illustrate the present invention, analysis is performed in accordance with the dataflow graph shown in FIG. 2, assuming that all numbered operations are of the same type.
For the data flow shown in fig. 2, an ASAP algorithm and an ALAP algorithm may be used to obtain each operation time frame, for example, as shown in fig. 3.
Wherein cs 1 -cs 5 To control the steps op 1 -op 10 For operation, it can be seen that op 1 、op 2 、op 4 、op 5 、op 8 、op 10 For critical path operations, the operations to be scheduled have only ops 3 、op 6 、op 7 、op 9 . (note: the conventional force-directed algorithm requires calculation of the resultant force of all operations, in this example time frames are ordered by order length), time frame lengthThe operation priority of all the operations to be scheduled is ordered to be op 6 、op 9 、op 3 、op 7 The initial pressure profile over each control step is calculated as shown in table 1.
TABLE 1 initial pressure distribution at each control step
Control step Initial pressure (K (cs) i ))
cs 1 1
cs 2 4/3
cs 3 19/6
cs 4 8/3
cs 5 11/6
First op 6 Scheduling is carried out, and the following resultant force calculation formula can be obtained:
( And (3) injection: since the op6 is dispatched to cs3 and has no influence on the follow-up of the precursor, the precursor force is directly calculated )
Figure GDA0004146454600000061
/>
Figure GDA0004146454600000062
Selecting the smallest combined operation-control step pair (op 6 ,cs 4 ) Op is arranged 6 Dispatch to cs 4 ,4.op 9 For its immediate successor operation, it can only be implicitly scheduled to cs 5
Updating probability distribution and then performing op 3 Scheduling to obtain
Figure GDA0004146454600000063
Figure GDA0004146454600000064
Op is put into 3 Dispatch to cs 2 . Successive op 7 Schedulable to cs 3 、cs 4 And cs 5 Updating probability distribution map, F (op) 7 ,cs 3 )=0,F(op 7 ,cs 4 )=0,F9op 7 ,cs 5 ) The final result obtained by three times of scheduling is shown in fig. 4, and it can be seen that the final operation is uniformly scheduled into the control step, so that the minimum utilization of resources under the time constraint is realized, and meanwhile, the operation speed of the algorithm is optimized, so that the whole scheduling algorithm has certain applicability in the advanced integrated circuit scheduling process. />

Claims (1)

  1. The high-level comprehensive scheduling method of the FPGA comprises the following steps:
    1) Calculating the time frame length of each operation:
    operation op i The time frame length of (a) can be expressed as
    Figure FDA0004146454590000011
    Wherein ALAP (op i ) Representing operation op i The latest control step which can be scheduled is recorded as
    Figure FDA0004146454590000012
    ASAP(op i ) To operate op i The earliest control step that can be scheduled is denoted +.>
    Figure FDA0004146454590000013
    2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution:
    operation op i In the control step cs j Probability P (op) i ,cs j ) The method comprises the following steps:
    Figure FDA0004146454590000014
    the probability distribution at each control step is as follows:
    Figure FDA0004146454590000015
    where n is the total number of operations, K (cs j ) Representing a control step cs j Initial pressure on;
    3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;
    wherein,,
    (3. A) calculating the direct force: let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The generated variation will operate op i Dispatch to control step cs j The direct acting force generated is as follows:
    Figure FDA0004146454590000016
    (3.b) calculating an indirect force;
    4) Updating the operation direct predecessor and the direct successor timeframe;
    5) Updating the probability distribution, and turning to 3);
    in the step (3.b), the following method is adopted to calculate the indirect force:
    Figure FDA0004146454590000021
    wherein op is w For either direct predecessor or successor to the current operation,
    Figure FDA0004146454590000022
    is op w Time frame length,/, of%>
    Figure FDA0004146454590000023
    To operate op i Post-scheduling op w Updated time frame length, +.>
    Figure FDA0004146454590000024
    />
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 CN112148456A (en) 2020-12-29
CN112148456B true 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 (7)

* 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
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
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383529B2 (en) * 2004-02-13 2008-06-03 The Regents Of The University Of California Method and apparatus for designing circuits using high-level synthesis
US8812285B2 (en) * 2010-08-31 2014-08-19 The Regents Of The University Of California Designing digital processors using a flexibility metric

Patent Citations (7)

* 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
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
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.《2016 13th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT)》.2017,1-4. *
刘乙力等.基于时间约束的高层次综合调度方法.《电子技术与软件工程》.2020,第15卷95-97. *
司巧梅等.一种面向多周期操作的峰值功耗优化调度算法.《微电子学与计算机》.2011,第28卷(第11期),27-30,34. *

Also Published As

Publication number Publication date
CN112148456A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
CN101788819B (en) Dispatching method based on iterative decomposition and flow relaxation in large-scale production process
JP5872561B2 (en) Predictive sequential computer
CN110222923A (en) Dynamically configurable big data analysis system
CN102508708A (en) Heterogeneous multi-core energy-saving task schedule method based on improved genetic algorithm
CN101583147B (en) Segmental online support vector regression method applied in traffic prediction
CN114442583B (en) Method, apparatus and medium for controlling a plurality of controlled apparatuses
CN112148456B (en) FPGA high-level comprehensive scheduling method
Li et al. Degradation-aware decision making in reconfigurable manufacturing systems
US20160162267A1 (en) Optimizing if statements in computer programming
CN114004441B (en) Parallelization deduction calculation method for vehicle scheduling scheme
CN112288341B (en) Credit factory order scheduling method and device based on multi-agent reinforcement learning
CN111522845B (en) Watermark issuing method of stream computing system based on time sequence prediction
WO2017149598A1 (en) Apparatus classification device
KR20180043928A (en) Method for predicting elevator calls using hybrid artificial intelligence learning techniques
JP7400819B2 (en) Prediction device, prediction method, and prediction program
Yuan et al. Research on real-time prediction of completion time based on AE-CNN-LSTM
JP2005135280A (en) Production scheme planning method and device
CN116134387B (en) Method and system for determining the compression ratio of an AI model for an industrial task
CN112514352A (en) Method, device, system, storage medium and terminal for updating scheduling rule
CN114675647A (en) AGV trolley scheduling and path planning method
CN117973635B (en) Decision prediction method, electronic device, and computer-readable storage medium
Choi et al. Deep Learning-Based Multi-Horizon forecasting for automated material handling system throughput in semiconductor Fab
CN116050809B (en) Fault operation planning method and equipment for virtual maintenance
CN116934058B (en) Product service decision method based on multi-agent reinforcement learning
JP2019008499A (en) Solution search processing device

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
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.

GR01 Patent grant
GR01 Patent grant