An Efficient Data Structure for Dynamic Two-Dimensional Reconfiguration

  • Sándor P. Fekete
  • Jan-Marc Reinhardt
  • Christian Scheffer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9637)


In the presence of dynamic insertions and deletions into a partially reconfigurable FPGA, fragmentation is unavoidable. This poses the challenge of developing efficient approaches to dynamic defragmentation and reallocation. One key aspect is to develop efficient algorithms and data structures that exploit the two-dimensional geometry of a chip, instead of just one. We propose a new method for this task, based on the fractal structure of a quadtree, which allows dynamic segmentation of the chip area, along with dynamically adjusting the necessary communication infrastructure. We describe a number of algorithmic aspects, and present different solutions. We also provide experimental data for various scenarios, indicating practical usefulness of our approach.


FPGAs Partial reconfiguration Two-dimensional reallocation Defragmentation Dynamic data structures Insertions and deletions 


  1. 1.
    Becker, T., Luk, W., Cheung, P.Y.: Enhancing relocatability of partial bitstreams for run-time reconfiguration. In: Proceedings of the 15th Annual Symposium on Field-Programmable Custom Computing Machines, pp. 35–44 (2007)Google Scholar
  2. 2.
    Bender, M.A., Demaine, E.D., Farach-Colton, M.: Cache-oblivious B-trees. SIAM J. Comput. 35, 341–358 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Bender, M.A., Farach-Colton, M., Fekete, S.P., Fineman, J.T., Gilbert, S.: Cost-oblivious storage reallocation. In: Proceedings of the 33rd ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, PODS 2014, pp. 278–288. ACM (2014)Google Scholar
  4. 4.
    Bender, M.A., Farach-Colton, M., Fekete, S.P., Fineman, J.T., Gilbert, S.: Reallocation problems in scheduling. Algorithmica 73(2), 389–409 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bender, M.A., Fekete, S.P., Kamphans, T., Schweer, N.: Maintaining arrays of contiguous objects. In: Kutyłowski, M., Charatonik, W., Gębala, M. (eds.) FCT 2009. LNCS, vol. 5699, pp. 14–25. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Bender, M.A., Fineman, J.T., Gilbert, S., Kuszmaul, B.C.: Concurrent cache-oblivious B-trees. In: Proceedings of the 17th Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp. 228–237 (2005)Google Scholar
  7. 7.
    Bender, M.A., Hu, H.: An adaptive packed-memory array. ACM Trans. Database Syst. 32(4), 26:1–26:43 (2007)CrossRefGoogle Scholar
  8. 8.
    Bendersky, A., Petrank, E.: Space overhead bounds for dynamic memory management with partial compaction. ACM Trans. Program. Lang. Syst. 34(3), 13:1–13:43 (2012)CrossRefzbMATHGoogle Scholar
  9. 9.
    Bromley, G.: Memory fragmentation in buddy methods for dynamic storage allocation. Acta lnformatica 14, 107–117 (1980)CrossRefGoogle Scholar
  10. 10.
    Brubach, B.: Improved bound for online square-into-square packing. In: Bampis, E., Svensson, O. (eds.) WAOA 2014. LNCS, vol. 8952, pp. 47–58. Springer, Heidelberg (2015)Google Scholar
  11. 11.
    Cohen, N., Petrank, E.: Limitations of partial compaction: towards practical bounds. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2013, New York, NY, USA, pp. 309–320. ACM (2013)Google Scholar
  12. 12.
    Compton, K., Li, Z., Cooley, J., Knol, S., Hauck, S.: Configuration relocation and defragmentation for run-time reconfigurable systems. IEEE Trans. VLSI 10, 209–220 (2002)CrossRefGoogle Scholar
  13. 13.
    Fekete, S.P., Kamphans, T., Schweer, N., Tessars, C., van der Veen, J., Angermeier, J., Koch, D., Teich, J.: Dynamic defragmentation of reconfigurable devices. ACM Trans. Reconfigurable Technol. Syst. (TRETS) 5(8), 8:1–8:20 (2012)Google Scholar
  14. 14.
    Gericota, M.G., Alves, G.R., Silva, M.L., Ferreira, J.M.: Run-time defragmentation for dynamically reconfigurable hardware. In: Lysaght, P., Rosenstiel, W. (eds.) New Algorithms, Architectures and Applications for Reconfigurable Computing, pp. 117–129. Springer, New York (2005)CrossRefGoogle Scholar
  15. 15.
    Hinds, J.A.: An algorithm for locating adjacent storage blocks in the buddy system. Commun. ACM 18, 221–222 (1975)CrossRefGoogle Scholar
  16. 16.
    Hirschberg, D.S.: A class of dynamic memory allocation algorithms. Commun. ACM 16, 615–618 (1973)CrossRefzbMATHGoogle Scholar
  17. 17.
    Knowlton, K.C.: A fast storage allocator. Commun. ACM 8, 623–625 (1965)CrossRefzbMATHGoogle Scholar
  18. 18.
    Koch, D., Ahmadinia, A., Bobda, C., Kalte, H.: FPGA architecture extensions for preemptive multitasking and hardware defragmentation. In: Proceedings of the IEEE International Conference Field-Programmable Technology, Brisbane, Australia, pp. 433–436 (2004)Google Scholar
  19. 19.
    Koester, M., Kalte, H., Porrmann, M., Ruckert, U.: Defragmentation algorithms for partially reconfigurable hardware. In: Reis, R., Osseiran, A., Pfleiderer, H.-J. (eds.) Vlsi-Soc: From Systems To Silicon. IFIP International Federation for Information Proc, vol. 240, p. 41. Springer, Boston (2007)CrossRefGoogle Scholar
  20. 20.
    Kuon, I., Rose, J.: Measuring the gap between FPGAs and ASICs. IEEE Trans. CAD Integr. Circ. Syst. 26, 203–215 (2007)CrossRefGoogle Scholar
  21. 21.
    Morton, G.: A computer oriented geodetic data base and a new technique in filesequencing.Technical report, IBM Ltd., Ottawa, Ontario, March 1966Google Scholar
  22. 22.
    Shen, K.K., Peterson, J.L.: A weighted buddy method for dynamic storage allocation. Commun. ACM 17, 558–562 (1974)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Sándor P. Fekete
    • 1
  • Jan-Marc Reinhardt
    • 1
  • Christian Scheffer
    • 1
  1. 1.Department of Computer ScienceTU BraunschweigBraunschweigGermany

Personalised recommendations