Skip to main content
Log in

A link-elimination partitioning approach for application graph mapping in reconfigurable computing systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Dynamic reconfiguration provides flexibility in the design and management of reconfigurable computing (RC) systems such that numerous applications would be mapped into limited resources simultaneously. As the mapping is a computationally intensive procedure in application compilation, a low-complex method is needed strongly for RC applications. In this paper, we propose a link-elimination partitioning approach for application graphs to reduce computations and reach an optimal solution faster as well. The link-elimination preprocessing step is performed by investigating the standard deviation of weights and removing lightweight links from the partitioning procedure. Based on the Laplacian matrix, a formulation method for detecting high-degree nodes as partition seeds has been generated. Moreover, a distance model for the region of implementation in resource graph has been introduced in this paper. In order to select among any rectangular shape of the resource graph, an average distance factor has been defined analytically. It has been proved that partitions with more connectivity must be implemented in a square-formed shape. Extensive experiments with random and benchmark graphs have been carried out to compare the proposed partitioning approach with the previous methods, and the results manifested that for fixed searching iterations, quality of solutions and time overhead have been improved 22% and 59%, respectively.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Charitopoulos G, Koidis I, Papadimitriou K, Pnevmatikatos D (2017) Run-time management of systems with partially reconfigurable FPGAs. Integration 57:34–44

    Article  Google Scholar 

  2. Bassiri MM, Shahhoseini HS (2011) Configuration reusing in on-line task scheduling for reconfigurable computing systems. J Comput Sci Technol 26(3):463–474

    Article  Google Scholar 

  3. Bhasin S, Danger JL, Guilley S, He W (2015) Exploiting FPGA block memories for protected cryptographic implementations. ACM Trans Reconfig Technol Syst (TRETS) 8(3):16–28

    Google Scholar 

  4. Ronak B, Fahmy SA (2016) Mapping for maximum performance on FPGA DSP blocks. IEEE Trans Comput Aided Des Integr Circuits Syst 35(4):573–585

    Article  Google Scholar 

  5. Nangia R, Shukla NK (2018) Resource utilization optimization with design alternatives in FPGA based arithmetic logic unit architectures. Proc Comput Sci 132:843–848

    Article  Google Scholar 

  6. Rossi E, Damschen M, Bauer L, Buttazzo G, Henkel J (2018) Preemption of the partial reconfiguration process to enable real-time computing with FPGAs. ACM Trans Reconfig Technol Syst (TRETS) 11(2):10–24

    Google Scholar 

  7. Lebedev I, Cheng S, Doupnik A, Martin J, Fletcher C, Burke D, Lin M, Wawrzynek J (2010) MARC: a many-core approach to reconfigurable computing. In: International Conference on Reconfigurable Computing and FPGAs, pp 7–12

  8. Bassiri MM, Shahhoseini HS (2009) On-line HW/SW partitioning and co-scheduling in reconfigurable computing systems. In: IEEE International Conference on Computer Science and Information Technology, pp 557–562

  9. Elbirt AJ, Paar C (2000) An FPGA implementation and performance evaluation of the serpent block cipher. In: Proceedings of the 2000 ACM/SIGDA Eighth International Symposium on Field Programmable Gate Arrays, pp 33–40

  10. Gautam A, Jain P (2015) FPGA implementation of dynamic key generation to enhance DES algorithm securities. Int J Eng Res Technol 4:673–677

    Google Scholar 

  11. Rao MG, Kumar PR, Prasad AM (2016) Implementation of real time image processing system with FPGA and DSP. In: IEEE International Conference Microelectronics, Computing and Communications (MicroCom), pp 1–4

  12. Pandey JG, Karmakar A, Shekhar C, Gurunarayanan S (2015) An FPGA-based architecture for local similarity measure for image/video processing applications. In: 28th International Conference on IEEE VLSI Design (VLSID), pp 339–344

  13. Jang JH, Lee SM, Gwon OS, Lee SE (2016) An FPGA based compression accelerator for Forex Trading System. In: Latifi S (ed) Information technology: new generations. Springer, Cham, pp 711–720

    Chapter  Google Scholar 

  14. Nane R, Sima VM, Pilato C, Choi J, Fort B, Canis A, Chen YT, Hsiao H, Brown S, Ferrandi F, Anderson J (2016) A survey and evaluation of FPGA high-level synthesis tools. IEEE Trans Comput Aided Des Integr Circuits Syst 35(10):1591–1604

    Article  Google Scholar 

  15. Vipin K, Fahmy SA (2018) FPGA dynamic and partial reconfiguration: a survey of architectures, methods, and applications. ACM Comput Surv (CSUR) 51(4):72

    Article  Google Scholar 

  16. Clemente JA, Beretta I, Rana V, Atienza D, Sciuto D (2014) A mapping-scheduling algorithm for hardware acceleration on reconfigurable platforms. ACM Trans Reconfig Technol Syst (TRETS) 7(2):9

    Google Scholar 

  17. Hauck S, DeHon A (2010) Reconfigurable computing: the theory and practice of FPGA-based computation, vol 1. Elsevier, Amsterdam

    MATH  Google Scholar 

  18. Daryanavard H, Eshghi M, Jahanian A (2015) A fast placement algorithm for embedded just-in-time reconfigurable extensible processing platform. J Supercomput 71(1):121–143

    Article  Google Scholar 

  19. Zhu K, Wong DF (1992) On channel segmentation design for row-based FPGAs. In: IEEE/ACM International Conference on Computer-Aided Design, pp 26–29

  20. Yuan FL, Wang CC, Yu TH, Marković D (2015) A multi-granularity FPGA with hierarchical interconnects for efficient and flexible mobile computing. IEEE J Solid-State Circuits 50(1):137–149

    Article  Google Scholar 

  21. Wang X, Liu H, Yu Z (2016) A novel heuristic algorithm for IP block mapping onto mesh-based networks-on-chip. J Supercomput 72(5):2035–2058

    Article  Google Scholar 

  22. Tosun S, Ozturk O, Ozkan E, Ozen M (2015) Application mapping algorithms for mesh-based network-on-chip architectures. J Supercomput 71(3):995–1017

    Article  Google Scholar 

  23. Drezner Z (2015) The quadratic assignment problem. In: Laporte G, Nickel S, da Gama FS (eds) Location science. Springer, Cham, pp 345–363

    Google Scholar 

  24. Ababei C (2009) Speeding up FPGA placement via partitioning and multithreading. Int J Reconfig Comput 2009:6–17

    Google Scholar 

  25. Singh AK, Shafique M, Kumar A, Henkel J (2013) Mapping on multi/many-core systems: survey of current and emerging trends. In: 50th IEEE Design Automation Conference (DAC), pp 1–10

  26. Benyamina AH, Boulet P, Benhaoua K (2015) Static and dynamic mapping heuristics for multiprocessor systems-on-chip. In: Gamatié A (ed) Computing in research and development in Africa. Springer, Cham, pp 229–247

    Google Scholar 

  27. Maqsood T, Ali S, Malik SU, Madani SA (2015) Dynamic task mapping for network-on-chip based systems. J Syst Architect 61(7):293–306

    Article  Google Scholar 

  28. Maqsood T, Bilal K, Madani SA (2016) Congestion-aware core mapping for network-on-chip based systems using betweenness centrality. Future Gener Comput Syst 82:459–471

    Article  Google Scholar 

  29. Lotfifar F, Shahhoseini HS (2009) A low-complexity task scheduling algorithm for heterogeneous computing systems. In: Third Asia International Conference on Modelling and Simulation, pp 596–601

  30. Tosun S, Ozturk O, Ozen M (2009) An ILP formulation for application mapping onto network-on-chips. In: IEEE International Conference on Application of Information and Communication Technologies, pp 1–5

  31. Hu J, Marculescu R (2005) Energy-and performance-aware mapping for regular NoC architectures. IEEE Trans Comput Aided Des Integr Circuits Syst 24(4):551–562

    Article  Google Scholar 

  32. Mishra A, Vakharia D, Hati AJ, Raju KS (2014) Hardware software partitioning of task graph using genetic algorithm. In: IEEE Recent Advances and Innovations in Engineering (ICRAIE), pp 1–5

  33. Al-Wattar A, Areibi S, Grewal G (2016) Efficient mapping and allocation of execution units to task graphs using an evolutionary framework. ACM SIGARCH Comput Archit News 43(4):46–51

    Article  Google Scholar 

  34. Mollajafari M, Shahhoseini HS (2016) An efficient ACO-based algorithm for scheduling tasks onto dynamically reconfigurable hardware using TSP-likened construction graph. Appl Intell 45(3):695–712

    Article  Google Scholar 

  35. Larumbe F, Sanso B (2013) A tabu search algorithm for the location of data centers and software components in green cloud computing networks. IEEE Trans Cloud Comput 1(1):22–35

    Article  Google Scholar 

  36. Zhu D, Chen L, Pinkston TM, Pedram M (2015) TAPP: temperature-aware application mapping for NoC-based many-core processors. In: Proceedings of the 2015 Design, Automation and Test in Europe Conference and Exhibition, pp 1241–1244

  37. Tosun S, Ozturk O, Ozkan E, Ozen M (2015) Application mapping algorithms for mesh-based network-on-chip architectures. J Supercomput 71(3):995–1017

    Article  Google Scholar 

  38. Hager WW, Krylyuk Y (1999) Graph partitioning and continuous quadratic programming. SIAM J Discrete Math 12(4):500–523

    Article  MathSciNet  Google Scholar 

  39. Sellmann M, Sensen N, Timajev L (2003) Multicommodity flow approximation used for exact graph partitioning. In: European Symposium on Algorithms, pp 752–764

  40. Karypis G, Kumar V (1998) A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J Sci Comput 20(1):359–392

    Article  MathSciNet  Google Scholar 

  41. Karypis G, Kumar V (1998) Multilevel scheme k-partitioning scheme for irregular graphs. J Parallel Distrib Comput 48(1):96–129

    Article  Google Scholar 

  42. Anderson R, Lang K (2008) An algorithm for improving graph partitions. In: 19th ACM–SIAM Symposium On Discrete Mathematics, pp 651–660

  43. Schanberger S (2004) Partitioning FEM graphs using diffusion. In: IEEE Symposium on Parallel and Distributed Processing

  44. Riolo MA, Newman MEJ (2014) First-principles multiway spectral partitioning of graphs. Journal of Complex Networks 2(2):121–140

    Article  Google Scholar 

  45. Benson AR, Gleich DF, Leskovec J (2015) Tensor spectral clustering for partitioning higher-order network structures. In: Proceedings of the 2015 SIAM International Conference on Data Mining, pp 118–126

  46. Chen PY, Hero AO (2014) Local Fiedler vector centrality for detection of deep and overlapping communities in networks. In: IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp 1120–1124

  47. Li L, Sun J, Li W, Lv Z, Guan F (2015) Hardware/software partitioning based on hybrid genetic and tabu search in the dynamically reconfigurable system. Int J Control Autom 8(1):29–36

    Article  Google Scholar 

  48. Ding L, Guo T, Lu Z (2015) A hybrid method for dynamic mesh generation based on radial basis functions and Delaunay graph mapping. Adv Appl Math Mech 7(3):338–356

    Article  MathSciNet  Google Scholar 

  49. Li T, Bhattacharyya S, Sarkar P, Bickel PJ, Levina E (2018) Hierarchical community detection by recursive bi-partitioning. arXiv preprint arXiv:1810.01509

  50. Ruan J, Zhang W (2007) An efficient spectral algorithm for network community discovery and its applications to biological and social networks. In: IEEE International Conference on Data Mining, pp 643–648

  51. Mezić I, Fonoberov VA, Fonoberova M, Sahai T (2018) Spectral complexity of directed graphs and application to structural decomposition. arXiv preprint arXiv:1808.06004

  52. Marwedel P (2011) Application mapping. In: Embedded System Design. Embedded Systems. Springer, Dordrecht

  53. Hredzak B, Diessel O (2011) Optimization of placement of dynamic network-on-chip cores using simulated annealing. In: 37th Annual Conference on IEEE Industrial Electronics Society, pp 2400–2405

  54. Banerjee P, Shenoy N, Choudhary A, Hauck S, Bachmann C, Haldar M, Joisha P, Jones A, Kanhare A, Nayak A, Periyacheri S (2000) A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systems. In: IEEE Symposium on Field-Programmable Custom Computing Machines, pp 39–48

  55. Juve G, Chervenak A, Deelman E, Bharathi S, Mehta G, Vahi K (2013) Characterizing and profiling scientific workflows. Future Gener Comput Syst 29:682–692

    Article  Google Scholar 

  56. Newman ME, Girvan M (2004) Finding and evaluating community structure in networks. Phys Rev E 69(2):026113

    Article  Google Scholar 

  57. Mhadhbi I, Othman SB, Saoud SB (2016) A comprehensive survey on hardware/software partitioning process in co-design. Int J Comput Sci Inf Secur 14(3):263–275

    Google Scholar 

  58. Chan TF, Cong J, Romesis M, Shinnerl JR, Sze K, Xie M (2005) mPL6: a robust multilevel mixed-size placement engine. In: ACM Proceedings of the 2005 International Symposium on Physical Design, pp 227–229

  59. Montone A, Santambrogio MD, Sciuto D, Memik SO (2010) Placement and floorplanning in dynamically reconfigurable FPGAs. ACM Trans Reconfig Technol Syst (TRETS) 3(4):24–57

    Google Scholar 

  60. Hassan AS, Morgan AA, El-Kharashi MW (2017) Clustered networks-on-chip: simulation and performance evaluation. Int J Comput Digit Syst 6(02):51–61

    Article  Google Scholar 

  61. Steiger C, Walder H, Platzner M, Thiele L (2003) Online scheduling and placement of real-time tasks to partially reconfigurable devices. In: 24th IEEE Real-Time Systems Symposium, pp 224–225

  62. Marconi T (2014) Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays. Comput Electr Eng 40(4):1215–1237

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hadi Shahriar Shahhoseini.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mohtavipour, S.M., Shahhoseini, H.S. A link-elimination partitioning approach for application graph mapping in reconfigurable computing systems. J Supercomput 76, 726–754 (2020). https://doi.org/10.1007/s11227-019-03056-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-019-03056-5

Keywords

Navigation