Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.

Similar presentations


Presentation on theme: "1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings."— Presentation transcript:

1 1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings of the 15th International Conference on VLSI Design(VLSID ’ 02) Presented by Chun-Hsain, Hwang 2005/12/22

2 2 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

3 3 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

4 4 Introduction  HW/SW co-synthesis system have to satisfy multi-objective goals, such as performance, price and power.  Three key steps in HW/SW co- synthesis systems (NP-complete) Allocation Assignment Scheduling

5 5 Introduction (cont’)  With the success of battery-based personal computing devices and wireless communication systems, low power has become a key issue in system design  On-line reconfiguration not only introduces a delay in task execution, but also a power overhead

6 6 Outline  Introduction  Definitions of the Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

7 7 Definitions of the Co-Synthesis Systems  Input specifications – Task Graphs  An embedded system containing multiple task graphs with different periods is called multi-rate

8 8 Definitions of the Co-Synthesis Systems (cont’)  Resource library model general-purpose processor dynamically reconfigurable FPGAs communication links memories  Dynamically reconfigurable FPGAs One-dimensional reconfiguration model The task has a specific configuration pattern for each frame A task may reutilize a configuration pattern left behind by earlier task Multiple frames can only be reconfigured one by one

9 9 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

10 10 HW/SW Co-Synthesis Overview

11 11 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

12 12 Scheduling Algorithm  Scheduling for dynamically reconfigurable FPGAs is two-dimensional problem – time and space domains Scheduling sequence: at each scheduling point, multiple ready task may reside in the candidate pool Location assignment policy: assigning a task to a different location not only influences the current task, but may also impact the tasks scheduled either after or before it

13 13 Motivational Example  Task 1_0 and 3_1 are assumed to have the same configuration patterns  The reconfiguration time for each frame is 3.4 units.  The communication times of C3_1 and C2_0 are 15 and 10 units.  The communication time between two tasks assigned to the same PE is zero

14 14 Motivational Example

15 15 Scheduling approach I  Static slack-based priority P i =-(T_lasted_ready i -T_earliest_ready i )  Conduct a topological search of task graphs based on as-soon-as-possible (ASAP) and as-late-as-possible (ALAP) scheduling  Configuration patterns are allowed to be loaded into FPGA before the task ready time  Configuration patterns left by earlier tasks can be utilized by later tasks

16 16 Scheduling approach I (cont’)

17 17 Scheduling approach II  The order of scheduling tasks is determined dynamically by task priorities, which consider both real- time constrains and reconfiguration overhead information

18 18 Scheduling approach II (cont’)

19 19 Scheduling Result  Since reconfiguration itself consumes a significant amount of power, minimizing the reconfiguration overhead is important for reducing system power consumption  Solutions that cannot satisfy real-time constrains necessitate faster PEs

20 20 Analysis of Scheduling Approach - Scheduling Sequence  Static slack-based priorities (approach I) are commonly used to order tasks for scheduling on processor  In the static slack-based priority approach, tasks along the critical path of one task graph may always be scheduled before tasks in other task graphs

21 21 Analysis of Scheduling Approach - Scheduling Sequence (cont’)  Propose a dynamical priority based approach, which dynamically updates the task priority  For each task i in the candidate pool that has the same patterns as taskj, which has been remove from the candidate pool for scheduling on the FPGA, the value of inner-task reconfiguration time is zero.

22 22 Analysis of Scheduling Approach – Location Assignment Policy  Reconfiguration prefetch  Configuration pattern reutilization  Eviction candidate  Fitting policy  Slack time reutilization

23 23 Pseudo-code of the scheduling algorithm

24 24 A Task Scheduling Sample

25 25 Scheduling Algorithm  Determine the reconfiguration sequence of frames  The idea is that if the duration between the reconfiguration slot start time and the task ready time is short, reconfiguration of the corresponding frame needs to be scheduled first

26 26 Scheduling Algorithm (cont’)  In order to reduce the reconfiguration overhead: schedule_back() schedule_front()

27 27 A Task Scheduling Sample

28 28 Scheduling Algorithm (cont’)  A priority needs to be defined to determine the scheduling order for all the needed frames in order to tackle the interrelationship among them

29 29 Candidate position priority calculation

30 30 Scheduling Algorithms for Resources

31 31 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

32 32 Experimental Setup  The system is implemented in C++ using standard template library (STL)  The reconfigurable FPGA models are based on Xilinx Virtex-E  The task graphs, which are input to co- synthesis system, are generated by TGFF  All the experiments were performed on a Pentium-III 667MHz PC (512MB memory) running Linux OS

33 33 FPGA scheduling results

34 34 Hardware/software co-synthesis results

35 35 Experimental Results (cont’)

36 36 Outline  Introduction  Definitions of Co-synthesis Systems  HW/SW Co-Synthesis Overflow  Scheduling Algorithm  Experimental Results  Conclusions

37 37 Conclusions  Present a multi-objective hardware/software co-synthesis system for real-time distributed embedded systems  Propose a two-dimensional multi- rate cyclic scheduling algorithm  Not only minimizes schedule length, but also significantly reduces reconfiguration power

38 38 Virtex-E vs. Virtex-II Pro


Download ppt "1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings."

Similar presentations


Ads by Google