Temporal partitioning and scheduling data flow graphs for reconfigurable computers

被引:60
作者
Purna, KMG
Bhatia, D
机构
[1] Synopsys Inc, Mountain View, CA 94043 USA
[2] Univ Cincinnati, Elect & Comp Engn & Comp Sci Dept, Design Automat Lab, Cincinnati, OH 45521 USA
关键词
configurable computing; field programmable gate arrays; spatial partitioning; temporal partitioning; scheduling; data flow graphs; reconfigurable computers; high performance computing;
D O I
10.1109/12.773795
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
FPGA-based configurable computing machines are evolving rapidly. They offer the ability to deliver very high performance at a fraction of the cost when compared to supercomputers. The first generation of configurable computers (those with multiple FPGAs connected using a specific interconnect) used statically reconfigurable FPGAs. On these configurable computers, computations are performed by partitioning an entire task into spatially interconnected subtasks. Such configurable computers are used in logic emulation systems and for functional verification of hardware. In general, configurable computers provide the ability to reconfigure rapidly to any desired custom form. Hence, the available resources can be reused effectively to cut down the hardware costs and also improve the performance. In this paper, we introduce the concept of temporal partitioning to partition a task into temporally interconnected subtasks. Specifically, we present algorithms for temporal partitioning and scheduling data flow graphs for configurable computers. We are given a configurable computing unit (RPU) with a logic capacity of S-RPU and a computational task represented by an acyclic data now graph G = (V, E). Computations with logic area requirements that exceed S-RPU cannot be completely mapped on a configurable computer (using traditional spatial mapping techniques). However, a temporal partitioning of the data flow graph followed by proper scheduling can facilitate the configurable computer based execution. Temporal partitioning of the data flow graph is a k-way partitioning of G = (V, E) such that each partitioned segment will not exceed S-RPU in its logic requirement. Scheduling assigns an execution order to the partitioned segments so as to ensure proper execution. Thus, for each segment in {s(1), s(2), ..., s(k)}, scheduling assigns a unique ordering s(i) --> j, 1 less than or equal to i less than or equal to k, 1 less than or equal to j less than or equal to k, such that the computation would execute in proper sequential order as defined by the flow graph G = (V, E).
引用
收藏
页码:579 / 590
页数:12
相关论文
共 47 条
[1]  
Aho Alfred V., 2007, COMPILERS PRINCIPLES
[2]  
Albaharna OT, 1996, IEEE SYMPOSIUM ON FPGAS FOR CUSTOM COMPUTING MACHINES, PROCEEDINGS, P206, DOI 10.1109/FPGA.1996.564843
[3]  
[Anonymous], SPLASH2 FPGAS CUSTOM
[4]  
[Anonymous], P ACM SIGDA INT S FI, DOI DOI 10.1145/275107.275135
[5]  
ATHANAS PM, 1996, SPLASH2 FPGAS CUSTOM, P141
[6]   Logic emulation with virtual wires [J].
Babb, J ;
Tessier, R ;
Dahl, M ;
Hanono, SZ ;
Hoki, DM ;
Agarwal, A .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1997, 16 (06) :609-626
[7]  
BHASKARAN V, 1997, IMAGE VIDEO COMPR ST
[8]  
BHAT NB, 1993, ERL9380 U CAL COMP S
[9]  
BHAT NB, 1993, ERL9342 U CAL COMP S
[10]  
BHATIA D, 1998, FIELD PROGRAMMABLE L