Advertisement

Invasive Computing

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

Abstract

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.

References

  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.  https://doi.org/10.1145/1465482.1465560
  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.  https://doi.org/10.1145/1542476.1542481
  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.  https://doi.org/10.1109/TC.2008.38
  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.  https://doi.org/10.1007/978-3-642-35893-7_1
  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.  https://doi.org/10.1007/978-3-540-45209-6_7
  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.  https://doi.org/10.1109/MM.2011.67
  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.  https://doi.org/10.1109/TPDS.2005.22
  11. 11.
    Bishop M (2003) What is computer security? IEEE Secur Privacy 1(1):67–69.  https://doi.org/10.1109/MSECP.2003.1176998
  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.  https://doi.org/10.1016/j.sysarc.2003.07.004
  13. 13.
    Braun M, Buchwald S, Mohr M, Zwinkau A (2012) An X10 compiler for invasive architectures. Tech. Rep. 9, Karlsruhe Institute of Technology. http://digbib.ubka.uni-karlsruhe.de/volltexte/1000028112
  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.  https://doi.org/10.1145/2481268.2481274
  15. 15.
    Dally WJ (1992) Virtual-channel flow control. Parallel Distrib Syst.  https://doi.org/10.1109/71.127260
  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.  https://doi.org/10.1515/itit-2016-0032
  18. 18.
    Gaisler A (2010) Leon3 processor. https://www.gaisler.com/doc/leon3_product_sheet.pdf, 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. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=6337015
  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.  https://doi.org/10.1145/1988932.1988941
  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.  https://doi.org/10.1145/2584660
  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). https://publikationen.bibliothek.kit.edu/1000045305/3388180, 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.  https://doi.org/10.1016/j.compeleceng.2013.06.005
  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.  https://doi.org/10.1109/ReConFig.2013.6732328
  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. http://ieeexplore.ieee.org/document/6775072/
  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.  https://doi.org/10.1145/2593069.2593103
  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.  https://doi.org/10.1109/ASPDAC.2012.6164944
  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. http://ijcai.org/Proceedings/73/Papers/027B.pdf
  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.  https://doi.org/10.1145/1809049.1809065
  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.  https://doi.org/10.1145/2039370.2039392
  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.  https://doi.org/10.1109/ICRA.2016.7487114
  37. 37.
    Lari V (2016) Invasive Tightly Coupled Processor Arrays. Springer book series on Computer Architecture and Design Methodologies. Springer.  https://doi.org/10.1007/978-981-10-1058-3
  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.  https://doi.org/10.1109/IPDPS.2011.157
  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.  https://doi.org/10.1109/ASAP.2011.6043240
  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.  https://doi.org/10.1145/2390191.2390193
  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.  https://doi.org/10.1145/2514641.2514647
  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.  https://doi.org/10.1109/ISICir.2011.6131920
  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.  https://doi.org/10.1145/2744769.2744840
  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.  https://doi.org/10.1145/2931028.2931033
  46. 46.
    Saraswat V, Bloom B, Peshansky I, Tardieu O, Grove D (2012) X10 language specification v2.3. http://x10.sourceforge.net/documentation/languagespec/x10-230.pdf. Accessed 26 Sept 2016
  47. 47.
    Saraswat VA, Tardieu O, Grove D, Cunningham D, Takeuchi M, Herta B (2013) A brief introduction to X10. http://x10.sourceforge.net/documentation/intro/2.4.0/html/node5.html. 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.  https://doi.org/10.1007/978-94-007-1488-5_4
  50. 50.
    Teich J (2008) Invasive algorithms and architectures. IT—Inf Technol 50(5):300–310.  https://doi.org/10.1524/itit.2008.0499
  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.  https://doi.org/10.1109/JPROC.2011.2182009
  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.  https://doi.org/10.1007/978-1-4419-6460-1_11
  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. http://ieeexplore.ieee.org/document/6337014/
  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.  https://doi.org/10.1109/MCSoC.2016.30
  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.  https://doi.org/10.1145/1755888.1755906
  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.  https://doi.org/10.7873/DATE.2013.305
  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.  https://doi.org/10.1515/itit-2016-0021
  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.  https://doi.org/10.1109/DSD.2013.87
  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.  https://doi.org/10.1007/978-3-319-16086-3_15
  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).  https://doi.org/10.1016/j.sysarc.2017.03.004
  62. 62.
    Zwinkau A, Buchwald S, Snelting G (2013) InvadeX10 documentation v0.5. Tech. Rep. 7, Karlsruhe Institute of Technology. http://pp.info.uni-karlsruhe.de/~zwinkau/invadeX10-0.5/manual.pdf

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