Abstract
Partial reconfiguration allows parts of the reconfigurable chip area to be configured without affecting the rest of the chip. This allows placement of tasks at run time on the reconfigurable chip. Area management is a very important issue which highly affect the utilization of the chip and hence the performance.
This paper focuses on a major aspect of moving running tasks to free space for new incoming tasks (compaction). We study the effect of compacting running tasks to free more contiguous space on the system performance. First, we introduce a straightforward compaction strategy called Blind compaction. We use its performance as a reference to measure the performance of other compaction algorithms. Then we propose a two-dimensional compaction algorithm called one-corner compaction. This algorithm runs with respect to one chip corner. We further extend this algorithm to the four corners of the chip and introduce the four-corners compaction algorithm. Finally, we compare the performance of these algorithms with some existing compaction strategies: Brebner, G. and Diessel, O. (Proceedings of the 11th international workshop on field programmable gate arrays (FPL), pp. 182–191, 2001); Diesel, O. and ElGindy, H. (Proceedings of the 5th Australasian conference on parallel and real-time systems (PART), pp. 191–200, 1998); Diesel, O., et al. (IEE proceedings on computers and digital techniques, vol. 147, pp. 181–188, 2000). The simulation results show improvement in average task allocation time when using the four-corners compaction algorithm by 15% and in chip utilization by 16% over the Blind compaction. These results outperform the existing strategies.
Similar content being viewed by others
References
Gericota MG, Alves GR, Silva ML, Ferreira JM (2002) On-line defragmentation for run-time partially reconfigurable FPGAs. In: FPL 2002, LNCS 2438, pp 302–311
Gericota MG, Alves GR, Silva ML, Ferreira JM (2003) Run-time management of logic resources on reconfigurable systems. In: Proceedings of the design, automation and test in Europe 2003 conference and exhibition (DATE’2003), Munich, Germany, March 2003, pp 974–979
Brebner G, Diessel O (2001) Chip-based reconfigurable task management. In: Proceedings of the 11th international workshop on field programmable gate arrays (FPL), pp 182–191
Diessel O, ElGindy H (1998) On scheduling dynamic FPGA reconfigurations. In: Proceedings of the 5th Australasian conference on parallel and real-time systems (PART), pp 191–200
Diessel O, ElGindy H, Middendorf M, Schmeck H, Schmidt B (2000) Dynamic scheduling of tasks on partially reconfigurable FPGAs. In: IEE proceedings on computers and digital techniques, vol 147, pp 181–188
Fekete SP, Kohler E, Teich J (2001) Higher-dimensional packing with order constraints. In: Algorithms and data structures (WADS 2001). Lecture notes in computer science, vol 2125. Springer, Berlin, pp 192–204
Fekete SP, Schepers J (2004) A combinatorial characterization of higher-dimensional orthogonal packing. Math Oper Res 29:353–368
Jean JSN, Tomko K, Yavagal V, Shah J, Cook R (1999) Dynamic reconfiguration to support concurrent applications. IEEE Trans Comput 48(6):591–602
Fekete S, Kohler E, Teich J (2001) Optimal FPGA module placement with temporal precedence constraints. In: Proceedings of design automation and test in Europe (DATE), pp 658–665
Bazargan K, Kastner R, Sarrafzadeh M (2000) Fast template placement for reconfigurable computing systems. IEEE Des Test Comput 17:68–83
Tabero J, Septien J, Mecha H, Mozos D, Roman S (2003) Efficient hardware multitasking through space multiplexing in 2D RTR FPGAs. In: Euromicro digital system design conference, September 2003
Walder H, Steiger C, Platzner M (2003) Fast online task placement on FPGAs: free space partitioning and 2D-hashing. In: International parallel and distributed processing symposium, April 2003
Handa M, Vemuri R (2004) An efficient algorithm for finding empty space for online FPGA placement. In: Design automation conference, San Diego, CA, June 2004, pp 960–965
George MA, Pink MJ, Kearney DA, Wigley GB (2002) Efficient allocation of FPGA area to multiple users in an operating system for reconfigurable computing. In: Engineering of reconfigurable systems and algorithms (ERSA02), Las Vegas. CSREA, Irvine
Compton K, Cooley J, Knol S, Hauck S (2001) Configuration relocation and defragmentation for reconfigurable computing. In: Proceedings of the IEEE symposium on FPGAs for custom computing machines (FCCM), April 2001. IEEE CS, Los Alamitos
Kalte H, Koester M, Kettelhoit B, Porrmann M, Rückert U (2006) A comparative study on system approaches for partially reconfigurable architectures. In: Engineering of reconfigurable systems and algorithms (ERSA06)
Handa M, Vemuri R (2004) Area fragmentation in reconfigurable operating systems. In: Engineering of reconfigurable systems and algorithms, engineering of reconfigurable systems and algorithms (ERSA04)
Walder H, Platzner M (2003) Online scheduling for block partitioned reconfigurable devices. In: Design, automation and test in Europe (DATE’03), March 2003, pp 290–295
Brebner G, Diessel O (2001) Chip-based reconfigurable task management. In: Field-programmable logic and applications (FPL’01). Springer, Berlin, pp 182–191
Danne K, Platzner M (2005) A heuristic approach to schedule periodic real-time tasks on reconfigurable hardware. In: Proceedings of the international conference on field programmable logic and applications (FPL05), Tampere, Finland, 24–26 August 2005
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
El Farag, A.A., El-Boghdadi, H.M. & Shaheen, S.I. Improving utilization of reconfigurable resources using two-dimensional compaction. J Supercomput 42, 235–250 (2007). https://doi.org/10.1007/s11227-007-0134-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0134-4