Invasive Computing

  • Andreas Weichslgartner
  • Stefan Wildermann
  • Michael Glaß
  • Jürgen Teich
Part of the Computer Architecture and Design Methodologies book series (CADM)


As this book originates in the context of invasive computing, this chapter gives an overview of the invasive computing paradigm and its realization in software and hardware. It starts with its basic principles and then gives an overview how the paradigm is expressed at the language level. Afterwards, a formal definition and analysis of invasive speedup and efficiency according to Teich et al. is given. For the formal analysis of individual application programs independent from each other through composability presented in the later chapters of this book, it is a prerequisite to consider an actual invasive hardware architecture. Therefore, a tiled invasive architecture with its building blocks is detailed with a focus on the (i-NoC). Finally, a brief description of the employed operating system is given before other approaches which deal with heterogeneous many-core systems are reviewed.


  1. 1.
    Agha GA (1990) ACTORS - a model of concurrent computation in distributed systems. Series in artificial intelligence. MIT Press, New YorkGoogle Scholar
  2. 2.
    Amdahl GM (1967) Validity of the single processor approach to achieving large scale computing capabilities. In: Conference Proceedings of American Federation of Information Processing Societies (AFIPS). ACM, vol 30, pp 483–485.
  3. 3.
    Ansel J, Chan CP, Wong YL, Olszewski M, Zhao Q, Edelman A, Amarasinghe SP (2009) PetaBricks: a language and compiler for algorithmic choice. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM, pp 38–49.
  4. 4.
    Ascia G, Catania V, Palesi M, Patti D (2008) Implementation and analysis of a new selection strategy for adaptive routing in networks-on-chip. IEEE Trans Comput 57(6):809–820.
  5. 5.
    Bader M, Bungartz HJ, Schreiber M (2013) Invasive computing on high performance shared memory systems. In: Keller R, Kramer D, Weiss JP (eds) Facing the multicore-challenge: aspects of new paradigms and technologies in parallel computing. Springer, pp 1–12.
  6. 6.
    Becker J, Herkersdorf A, Teich J (2013) B5: Invasive NoCs autonomous, self-optimising communication infrastructures for MPSoCs. In: [54], pp 205–226Google Scholar
  7. 7.
    Bell R (2006) Introduction to IEC 61508. In: Proceedings of the Australian Workshop on Safety Critical Systems and Software (SCS), Australian Computer Society, Inc., pp 3–12Google Scholar
  8. 8.
    Bell R, Malony AD, Shende S (2003) ParaProf: a portable, extensible, and scalable tool for parallel performance profile analysis. In: Proceedings of International Conference on Parallel and Distributed Computing (Euro-Par), Lecture Notes in Computer Science. Springer, vol 2790, pp 17–26.
  9. 9.
    Benkner S, Pllana S, Träff JL, Tsigas P, Dolinsky U, Augonnet C, Bachmayer B, Kessler CW, Moloney D, Osipov V (2011) PEPPHER: efficient and productive usage of hybrid computing systems. IEEE Micro 31(5):28–41.
  10. 10.
    Bertozzi D, Jalabert A, Murali S, Tamhankar R, Stergiou S, Benini L, Micheli GD (2005) NoC synthesis flow for customized domain specific multiprocessor systems-on-chip. IEEE Trans Parallel Distributed Syst 16(2):113–129.
  11. 11.
    Bishop M (2003) What is computer security? IEEE Secur Privacy 1(1):67–69.
  12. 12.
    Bolotin E, Cidon I, Ginosar R, Kolodny A (2004) QNoC: QoS architecture and design process for network on chip. J Syst Architecture 50(2–3):105–128.
  13. 13.
    Braun M, Buchwald S, Mohr M, Zwinkau A (2012) An X10 compiler for invasive architectures. Tech. Rep. 9, Karlsruhe Institute of Technology.
  14. 14.
    Bungartz H, Riesinger C, Schreiber M, Snelting G, Zwinkau A (2013) Invasive computing in HPC with X10. In: Proceedings of ACM SIGPLAN X10 Workshop (X10). ACM, pp 12–19.
  15. 15.
    Dally WJ (1992) Virtual-channel flow control. Parallel Distrib Syst.
  16. 16.
    Daněk M, Kafka L, Kohout L, Sýkora J, Bartosiński R (2013) The leon3 processor. In: UTLEON3: Exploring Fine-Grain Multi-Threading in FPGAs. Springer, chap 2, pp 9–14Google Scholar
  17. 17.
    Drescher G, Erhardt C, Freiling F, Götzfried J, Lohmann D, Maene P, Müller T, Verbauwhede I, Weichslgartner A, Wildermann S (2016) Providing security on demand using invasive computing. IT - Inf Technol 58(6):281–295.
  18. 18.
    Gaisler A (2010) Leon3 processor., Accessed 25 Sept 2016
  19. 19.
    Gerndt M, Hollmann A, Meyer M, Schreiber M, Weidendorfer J (2012) Invasive computing with iOMP. In: Proceedings of the Forum on Design Languages (FDL). IEEE, pp 225–231.
  20. 20.
    Glaß M, Bader M (2013) A4: Design-time characterisation and analysis of invasive algorithmic patterns. In: [54], pp 97–118Google Scholar
  21. 21.
    Gustafson JL (1988) Reevaluating Amdahl’s law. Commun ACM 31(5):532–533CrossRefGoogle Scholar
  22. 22.
    Hannig F, Roloff S, Snelting G, Teich J, Zwinkau A (2011) Resource-aware programming and simulation of MPSoC architectures through extension of X10. In: Proceedings of the Conference on Languages, Compilers and Tools for Embedded Systems (SCOPES). ACM, pp 48–55.
  23. 23.
    Hannig F, Lari V, Boppu S, Tanase A, Reiche O (2014) Invasive tightly-coupled processor arrays: a domain-specific architecture/compiler co-design approach. ACM Trans Embedded Comput Syst (TECS) 13(4s):133:1–133:29.
  24. 24.
    Haring G, Braun M, Kotsis G (1996) Deriving parallelism profiles from structured parallelism graphs. In: Proceedings of the International Conference of Telecommunication, Distribution, Parallelism (PDPTA), p 455Google Scholar
  25. 25.
    Heisswolf J (2014) A scalable and adaptive network on chip for many-core architectures. PhD thesis, Karlsruher Institut für Technologie (KIT)., Karlsruhe, KIT, Dissertation, 2014
  26. 26.
    Heisswolf J, König R, Kupper M, Becker J (2013) Providing multiple hard latency and throughput guarantees for packet switching networks on chip. Comput Electrical Eng 39(8):2603–2622.
  27. 27.
    Heisswolf J, Singh M, Kupper M, König R, Becker J (2013b) Rerouting: Scalable NoC self-optimization by distributed hardware-based connection reallocation. In: Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig). IEEE, pp 1–8.
  28. 28.
    Heisswolf J, Zaib A, Weichslgartner A, Karle M, Singh M, Wild T, Teich J, Herkersdorf A, Becker J (2014a) The invasive network on chip—a multi-objective many-core communication infrastructure. In: Proceedings of the International Workshop on Multi-Objective Many-Core Design (MOMAC), VDE, pp 1–8.
  29. 29.
    Heisswolf J, Zaib A, Zwinkau A, Kobbe S, Weichslgartner A, Teich J, Henkel J, Snelting G, Herkersdorf A, Becker J (2014b) CAP: Communication aware programming. In: Proceedings of the Design Automation Conference (DAC). ACM, pp 105:1–105:6.
  30. 30.
    Henkel J, Bauer L, Hübner M, Grudnitsky A (2011) i-Core: a run-time adaptive processor for embedded multi-core systems. In: Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), invited paperGoogle Scholar
  31. 31.
    Henkel J, Herkersdorf A, Bauer L, Wild T, Hübner M, Pujari RK, Grudnitsky A, Heisswolf J, Zaib A, Vogel B, Lari V, Kobbe S (2012) Invasive manycore architectures. In: Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC). IEEE, pp 193–200.
  32. 32.
    Henkel J, Bauer L, Becker J (2013) B1: adaptive application-specific invasive microarchitecture. In: [54], pp 119–140Google Scholar
  33. 33.
    Hewitt C, Bishop P, Steiger R (1973) A universal modular ACTOR formalism for artificial intelligence. In: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), William Kaufmann, pp 235–245.
  34. 34.
    Hoffmann H, Eastep J, Santambrogio MD, Miller JE, Agarwal A (2010) Application heartbeats: a generic interface for specifying program performance and goals in autonomous computing environments. In: Proceedings of the International Conference on Autonomic Computing (ICAC). ACM, pp 79–88.
  35. 35.
    Kobbe S, Bauer L, Lohmann D, Schröder-Preikschat W, Henkel J (2011) DistRM: distributed resource management for on-chip many-core systems. In: Proceedings of the Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). ACM, pp 119–128.
  36. 36.
    Kröhnert M, Grimm R, Vahrenkamp N, Asfour T (2016) Resource-aware motion planning. In: Proceedings of the International Conference on Robotics and Automation (ICRA). IEEE, pp 32–39.
  37. 37.
    Lari V (2016) Invasive Tightly Coupled Processor Arrays. Springer book series on Computer Architecture and Design Methodologies. Springer.
  38. 38.
    Lari V, Hannig F, Teich J (2011a) Distributed resource reservation in massively parallel processor arrays. In: International Parallel and Distributed Processing Symposium Workshops Ph D Forum (IPDPSW). IEEE, pp 318–321.
  39. 39.
    Lari V, Narovlyanskyy A, Hannig F, Teich J (2011b) Decentralized dynamic resource management support for massively parallel processor arrays. In: Proceedings of the Conference on Application-Specific Systems, Architectures and Processors (ASAP). IEEE, pp 87–94.
  40. 40.
    Lari V, Muddasani S, Boppu S, Hannig F, Schmid M, Teich J (2012) Hierarchical power management for adaptive tightly-coupled processor arrays. ACM Transactions on Design Automation of Electronic Systems (TODAES) 18(1):2.
  41. 41.
    Mariani G, Palermo G, Zaccaria V, Silvano C (2013) Design-space exploration and runtime resource management for multicores. ACM Transactions on Embedded Computing Systems (TECS) 13(2):20:1–20:27.
  42. 42.
    Oechslein B, Schedel J, Kleinöder J, Bauer L, Henkel J, Lohmann D, Schröder-Preikschat W (2011) OctoPOS: a parallel operating system for invasive computing. In: Proceedings of the International Workshop on Systems for Future Multi-Core Architectures (SFMA), pp 9–14Google Scholar
  43. 43.
    Pujari RK, Wild T, Herkersdorf A, Vogel B, Henkel J (2011) Hardware assisted thread assignment for RISC based MPSoCs in invasive computing. In: Proceedings of the International Symposium on Integrated Circuits (ISIC). IEEE, pp 106–109.
  44. 44.
    Roloff S, Schafhauser D, Hannig F, Teich J (2015) Execution-driven parallel simulation of PGAS applications on heterogeneous tiled architectures. In: Proceedings of the Design Automation Conference (DAC), ACM, pp 44:1–44:6.
  45. 45.
    Roloff S, Pöppl A, Schwarzer T, Wildermann S, Bader M, Glaß M, Hannig F, Teich J (2016) ActorX10: an actor library for X10. In: Proceedings of ACM SIGPLAN X10 Workshop (X10). ACM, pp 24–29.
  46. 46.
    Saraswat V, Bloom B, Peshansky I, Tardieu O, Grove D (2012) X10 language specification v2.3. Accessed 26 Sept 2016
  47. 47.
    Saraswat VA, Tardieu O, Grove D, Cunningham D, Takeuchi M, Herta B (2013) A brief introduction to X10. Accessed 26 Sept 2016
  48. 48.
    Schröder-Preikschat W, Henkel J, Bauer L, Lohmann D (2013) C1: Invasive run-time support system (\(i\)rtss). In: [54], pp 227–252Google Scholar
  49. 49.
    Silvano C, Fornaciari W, Palermo G, Zaccaria V, Castro F, Martínez M, Bocchio S, Zafalon R, Avasare P, Vanmeerbeeck G, Ykman-Couvreur C, Wouters M, Kavka C, Onesti L, Turco A, Bondi U, Mariani G, Posadas H, Villar E, Wu C, Fan D, Zhang H, Tang S (2010) MULTICUBE: multi-objective design space exploration of multi-core architectures. In: Proceedings of VLSI Annual Symposium - Selected papers. Springer, pp 47–63.
  50. 50.
    Teich J (2008) Invasive algorithms and architectures. IT—Inf Technol 50(5):300–310.
  51. 51.
    Teich J (2012) Hardware/software codesign: the past, the present, and predicting the future. In: Proceedings of the IEEE 100 (Special Centennial Issue), pp 1411–1430.
  52. 52.
    Teich J, Henkel J, Herkersdorf A, Schmitt-Landsiedel D, Schröder-Preikschat W, Snelting G (2011) Invasive computing: an overview. In: Hübner M, Becker J (eds) Multiprocessor System-on-Chip—Hardware Design and Tool Integration. Springer, pp 241–268.
  53. 53.
    Teich J, Weichslgartner A, Oechslein B, Schröder-Preikschat W (2012) Invasive computing - concepts and overheads. In: Proceedings of the Forum on Design Languages (FDL). IEEE, pp 193–200.
  54. 54.
    Teich J, Kleinöder J, Lohmann K (eds) (2013) Invasive Computing. Funding Proposal 2014/22018/1, DFG Transregional Collaborative Research Centre 89, Erlangen, GermanyGoogle Scholar
  55. 55.
    Teich J, Glaß M, Roloff S, Schröder-Preikschat W, Snelting G, Weichslgartner A, Wildermann S (2016) Language and compilation of parallel programs for *-predictable MPSoC execution using invasive computing. In: Proceedings of the international Symposium on Embedded Multicore/Many-core Systems-on-Chip. IEEE, pp 313–320.
  56. 56.
    Wernsing JR, Stitt G (2010) Elastic computing: a framework for transparent, portable, and adaptive multi-core heterogeneous computing. In: Proceedings of the ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, (LCTES). ACM, pp 115–124.
  57. 57.
    Wildermann S, Ziermann T, Teich J (2013) Game-theoretic analysis of decentralized core allocation schemes on many-core systems. In: Proceedings of the Design, Automation and Test in Europe (DATE). ACM, pp 1498–1503.
  58. 58.
    Wildermann S, Bader M, Bauer L, Damschen M, Gabriel D, Gerndt M, Glaß M, Henkel J, Paul J, Pöppl A, Roloff S, Schwarzer T, Snelting G, Stechele W, Teich J, Weichslgartner A, Zwinkau A (2016) Invasive computing for timing-predictable stream processing on MPSoCs. IT—Inf Technol 58(6):267–280.
  59. 59.
    Zaib A, Heisswolf J, Weichslgartner A, Wild T, Teich J, Becker J, Herkersdorf A (2013) AUTO-GS: Self-optimization of NoC traffic through hardware managed virtual connections. In: Proceedings of the Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD). IEEE.
  60. 60.
    Zaib A, Heisswolf J, Weichslgartner A, Wild T, Teich J, Becker J, Herkersdorf A (2015) Network interface with task spawning support for NoC-based DSM architectures. In: Proceedings of the International Conference on Architecture of Computing Systems (ARCS). Springer, Lecture Notes in Computer Science, vol 9017, pp 186–198.
  61. 61.
    Zaib A, Heisswolf J, Weichslgartner A, Wild T, Teich J, Becker J, Herkersdorf A (2017) Efficient task spawning for shared memory and message passing in many-core architectures. J Syst Architecture (JSA).
  62. 62.
    Zwinkau A, Buchwald S, Snelting G (2013) InvadeX10 documentation v0.5. Tech. Rep. 7, Karlsruhe Institute of Technology.

Copyright information

© Springer Nature Singapore Pte Ltd. 2018

Authors and Affiliations

  • Andreas Weichslgartner
    • 1
  • Stefan Wildermann
    • 1
  • Michael Glaß
    • 2
  • Jürgen Teich
    • 1
  1. 1.Department of Computer ScienceFriedrich-Alexander-Universität Erlangen-Nürnberg (FAU)ErlangenGermany
  2. 2.Embedded Systems/Real-Time SystemsUniversity of UlmUlmGermany

Personalised recommendations