J. Parallel Distrib. Comput. 65 (2005) 743 –754 www.elsevier.com/locate/jpdc Hyperreconfigurable architectures and the partition into hypercontexts problem Sebastian Lange, Martin Middendorf Parallel Computing and Complex Systems Group, Department of Computer Science, University of Leipzig, Augustusplatz 10/11, D-04109 Leipzig, Germany Received 2 August 2004; received in revised form 14 January 2005; accepted 23 January 2005 Available online 13 March 2005 Abstract Dynamically reconfigurable architectures or systems are able to reconfigure their function and/or structure to suit the changing needs of a computation during run time. The increasing flexibility of modern dynamically reconfigurable systems improves their adaptability to computational needs but also makes fast reconfiguration difficult because of the large amount of reconfiguration information which has to be transferred. However, even when a computation uses this flexibility it will not use it all the time. Therefore, we propose to make the potential for reconfiguration itself reconfigurable. Such architectures are called hyperreconfigurable. Different models of hyperreconfigurable architectures are proposed in this paper. We also study a fundamental problem that emerges on such architectures, namely, to determine for a given computation when and how the potential for reconfiguration should be changed during run time so that the reconfiguration overhead is minimal. It is shown that the general problem is NP-hard but fast polynomial time algorithms are given to solve this problem for special types of hyperreconfigurable architectures. We define two example hyperreconfigurable architectures and illustrate the introduced concepts for corresponding application problems. © 2005 Elsevier Inc. All rights reserved. Keywords: Dynamic reconfiguration; Reconfigurable architectures; Context partitioning; Reconfiguration costs 1. Introduction Dynamically reconfigurable architectures or systems can adapt their function and/or structure to suit the changing needs of a computation during run time (e.g., [2,3]). A principle problem of dynamically reconfigurable systems is the tradeoff between flexibility and the amount of informa- tion needed for reconfiguration to define the new state of the system. Moreover, the increasingly higher integration of reconfigurable hardware, e.g. reconfigurable circuits on an FPGA chip, requires increased bandwidths for transfer- ring the reconfiguration information. Modern FPGAs, for This work was financed by the German Research Foundation (DFG) through the project “Models and Algorithms for Hyperreconfigurable Architectures” within the priority programme 1148 “Reconfigurable Com- puting Systems”. Corresponding author. Fax: +49 3419732329. E-mail addresses: langes@informatik.uni-leipzig.de (S. Lange), middendorf@informatik.uni-leipzig.de (M. Middendorf). 0743-7315/$ - see front matter © 2005 Elsevier Inc. All rights reserved. doi:10.1016/j.jpdc.2005.01.003 example, need several megabytes of reconfiguration data for a single reconfiguration step. This large amount of data trans- fer makes dynamic reconfigurations time critical operations, especially, for computations which exploit the full capacity of dynamically reconfigurable architectures by frequent re- configurations. Different approaches have been proposed in the litera- ture to cope with this problem. Dandalis and Prasanna [4] have applied off-line compression methods to the stream of reconfiguration bits. The compressed stream of reconfigura- tion bits can be loaded faster onto the chip. Additional hard- ware is necessary on the chip which allows to decompress the reconfiguration bit stream during run time before it is needed to define the next configuration. Another method for compression of the reconfiguration bit stream which is suit- able especially for the Xilinx XC6200 architecture has been described by Hauck et al. [7]. For Multi FPGA systems it has been proposed by Lee and Wong [11] to perform the re- configuration incrementally so that only parts of the FPGAs