Advertisement

ActorX10 and Run-Time Application Embedding

  • Sascha RoloffEmail author
  • Frank Hannig
  • Jürgen Teich
Chapter
Part of the Computer Architecture and Design Methodologies book series (CADM)

Abstract

The focus of the this chapter is on models and techniques to guarantee real-time requirements made at design time independent from dynamic workloads. Here, so-called hybrid application mapping approaches are introduced. In this context, the design and implementation of a novel actor-oriented programming library called ActorX10 is presented, which allows describing computation and communication of stream processing applications formally. In order to find constellations of resources fulfilling statically determined resource constraints at run time, the implementation and evaluation of an efficient problem-specific mapping algorithm based on backtracking are presented. Furthermore, simulation-based real-world case studies to demonstrate the capabilities of invasive computing to provide predictable executions of stream processing applications on heterogeneous MPSoCs and to guarantee statically analyzed best and worst-case timing requirements on latency and throughput are presented. This chapter thereby presents an overview of current techniques to guarantee different execution time properties of parallel programs on multi-core architectures. The reader will understand the principles of actor-oriented programming and how applications modeled using these concepts are used in hybrid application mapping approaches. Real-world case studies help to understand how the presented concepts are practically applied and what their benefits are.

References

  1. 1.
    J. Teich et al., Language and compilation of parallel programs for *-Predictable MPSoC execution using invasive computing, in Proceedings of the 10th IEEE International Symposium on Embedded Multicore/Manycore Systems-on-Chip (MCSoC), Lyon, France, 21–23 September 2016. IEEE, pp. 313–320. ISBN: 978-1-5090-3531-1.  https://doi.org/10.1109/MCSoC.2016.30
  2. 2.
    A. Weichslgartner et al., Invasive Computing For Mapping Parallel Programs to Many-Core Architectures. Computer Architecture and Design Methodologies, 15 January 2018 (Springer, Singapore, 2018). ISBN: 978-981-10-7355-7.  https://doi.org/10.1007/978-981-10-7356-4CrossRefGoogle Scholar
  3. 3.
    T. Schwarzer et al., Symmetry-eliminating design space exploration for hybrid application mapping on many-core architectures. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. (TCAD) 37(2), 297–310 (2018). ISBN: 0278-0070.  https://doi.org/10.1109/TCAD.2017.2695894CrossRefGoogle Scholar
  4. 4.
    A. Weichslgartner et al., DAARM: design-time application analysis and run-time mapping for predictable execution in many-core systems, in Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), 12–17 October 2014 (New Delhi, India), pp. 34:1–34:10. ACM. ISBN: 978-1-4503-3051-0.  https://doi.org/10.1145/2656075.2656083
  5. 5.
    B. Akesson et al., Composability and predictability for independent application development, verification, and execution, in Multiprocessor System-on-Chip: Hardware Design and Tool Integration, ed. by M. Hübner, J. Becker (Springer, New York, 2011), pp. 25–56. ISBN: 978-1-4419-6460-1.  https://doi.org/10.1007/978-1-4419-6460-1_2Google Scholar
  6. 6.
    S. Roloff et al., ActorX10: an actor library for X10, in Proceedings of the 6th ACM SIGPLAN Workshop on X10 (X10), Santa Barbara, CA, USA, 14 June 2016, pp. 24–29. ISBN: 978-1-4503-4386-2.  https://doi.org/10.1145/2931028.2931033
  7. 7.
    T. Schwarzer et al., On the complexity of mapping feasibility in many-core architectures, in Proceedings of the 12th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip (MCSoC), Hanoi, Vietnam, 12–14 September 2018. IEEEGoogle Scholar
  8. 8.
    S. Roloff et al., Invasive computing for predictable stream processing: a simulation-based case study, in Proceedings of the 13th IEEE Symposium on Embedded Systems for Real-time Multimedia (ESTIMedia), Amsterdam, The Netherlands, 8–9 October 2015. IEEE. ISBN: 978-1-4673-8164-2.  https://doi.org/10.1109/ESTIMedia.2015.7351761
  9. 9.
    P. Axer et al., Building timing predictable embedded systems. ACM Trans. Embedded Comput. Syst. (TECS) 13(4), 82:1–82:37 (2014). ISSN: 1539-9087.  https://doi.org/10.1145/2560033CrossRefGoogle Scholar
  10. 10.
    D. Grund, J. Reinecke, R. Wilhelm, A template for predictability definitions with supporting evidence, in Bringing Theory to Practice: Predictability and Performance in Embedded Systems (PPES), Grenoble, France, ed. by P. Lucas et al. Open Access Series in Informatics (OASIcs), vol. 18. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 22–31 March 2011, pp. 22–31. ISBN: 978-3-939897-28-6.  https://doi.org/10.4230/OASIcs.PPES.2011.22
  11. 11.
    L. Thiele, R. Wilhelm, Design for timing predictability. Real-Time Syst. (RTS) 28(2), 157–177 (2004). ISSN: 1573-1383.  https://doi.org/10.1023/B:TIME.0000045316.66276.6eCrossRefGoogle Scholar
  12. 12.
    T. A. Henzinger, Two challenges in embedded systems design: predictability and robustness. Philos. Trans. R. Soc. Lond. A Math. Phys. Eng. Sci. 366, 3727–3736 (1881). ISSN: 1364-503X.  https://doi.org/10.1098/rsta.2008.0141CrossRefGoogle Scholar
  13. 13.
    C. Hewitt, P. Bishop, R. Steiger, A universal modular ACTOR formalism for artificial intelligence, in Proceedings of the 3rd International Joint Conference on Artificial Intelligence (IJCAI), 20–23 August 1973 (Morgan Kaufmann Publishers Inc., Stanford, 1973), pp. 235–245Google Scholar
  14. 14.
    G. A. Agha, Actors: A Model of Concurrent Computation in Distributed Systems. Technical report AITR-844. MIT Artificial Intelligence Laboratory, June 1985Google Scholar
  15. 15.
    J. Falk et al., Integrated modeling using finite state machines and dataflow graphs, in Handbook of Signal Processing Systems, ed. by S. S. Bhattacharyya et al. (Springer, Boston, 2010), pp. 1041–1075. ISBN: 978-1-4419-6345-1.  https://doi.org/10.1007/978-1-4419-6345-1_36CrossRefGoogle Scholar
  16. 16.
    K. Strehl et al., FunState—an internal design representation for codesign. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 9(4), 524–544 (2001). ISSN: 1063-8210.  https://doi.org/10.1109/92.931229CrossRefGoogle Scholar
  17. 17.
    L. Thiele et al., FunState—an internal design representation for codesign, in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, USA, 7–11 November 1999. IEEE, pp. 558–565. ISBN: 0-7803-5832-5.  https://doi.org/10.1109/ICCAD.1999.810711
  18. 18.
    A. Pöppl, M. Bader, SWE-X10: an actor-based and locally coordinated solver for the shallow water equations, in Proceedings of the 6th ACM SIGPLAN Workshop on X10 (X10), Santa Barbara, CA, USA, 14 June 2016. ACM, pp. 30–31. ISBN: 978-1-4503-4386-2.  https://doi.org/10.1145/2931028.2931034
  19. 19.
    A. Breuer, M. Bader, Teaching parallel programming models on a shallow-water code, in Proceedings of the 11th International Symposium on Parallel and Distributed Computing (ISPDC), Munich, Germany, 25–29 June 2012. IEEE, pp. 301–308. ISBN: 978-1-4673-2599-8.  https://doi.org/10.1109/ISPDC.2012.48
  20. 20.
    J. Heisswolf, R. König, J. Becker, A scalable NoC router design providing QoS support using weighted round robin scheduling, in IEEE 10th International Symposium on Parallel and Distributed Processing with Applications (ISPA), Leganes, Spain, 10–13 July 2012. IEEE, pp. 625–632. ISBN: 978-1-4673-1631-6.  https://doi.org/10.1109/ISPA.2012.93
  21. 21.
    R. Dick, Embedded System Synthesis Benchmarks Suite (E3S) (2010). http://ziyang.ewecs.umich.edu/dickrp/e3s/
  22. 22.
    J. Heisswolf et al., The invasive network on chip-a multi-objective many-core communication infrastructure, in Workshop Proceedings of the 27th International Conference on Architecture of Computing Systems (ARCS)25–28 February 2014. (VDE Verlag, Lübeck, 2014), pp. 1–8. ISBN: 978-3-8007-3579-2Google Scholar
  23. 23.
    Lightbend Inc. Akka–Scala Actor Library, 8 May 2018. http://akka.io
  24. 24.
    H. Wei et al., StreamX10: a stream programming framework on X10, in Proceedings of the 2nd ACM SIGPLAN X10 Workshop (X10), Beijing, China, 14 June 2012. ACM, pp. 1:1–1:6. ISBN: 978-1-4503-1491-6.  https://doi.org/10.1145/2246056.2246057
  25. 25.
    W. Thies, M. Karczmarek, S. P. Amarasinghe, StreamIt: a language for streaming applications, in Proceedings of the 11th International Conference on Compiler Construction (CC), Grenoble, France, ed. by R. Nigel Horspool, vol. 2304. Lecture Notes in Computer Science (LNCS) (Sringer, Heidelberg, 2012) 8–12 April 2002, pp. 179–196. ISBN: 978-3-540-43369-9.  https://doi.org/10.1007/3-540-45937-5_14Google Scholar
  26. 26.
    J. Shirako et al., Phaser beams: integrating stream parallelism with task parallelism, in Presentation at the 1st ACM SIGPLAN X10Workshop (X10), 4 June 2011Google Scholar
  27. 27.
    S. Roloff, F. Hannig, J. Teich, Towards actor-oriented programming on PGAS-based multicore architectures, in Workshop Proceedings of the 27th International Conference on Architecture of Computing Systems (ARCS), 25–28 February 2014 (VDE Verlag, Lübeck, 2014), pp. 1–2. ISBN: 978-3-8007-3579-2Google Scholar
  28. 28.
    A. Shali, C. Lin, Actor oriented programming in chapel (2010)Google Scholar
  29. 29.
    S. M. Imam, V. Sarkar, Integrating task parallelism with actors, in Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), Tucson, AZ, USA, October 2012. ACM, pp. 753–772. ISBN: 978-1-4503-1561-6.  https://doi.org/10.1145/2384616.2384671
  30. 30.
    E. Carvalho, N. Calazans, F. Moraes, Heuristics for dynamic task mapping in NoC-based heterogeneous MPSoCs, in Proceedings of the 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP), Porto Alegre, Brazil, 28–30 May 2007. IEEE, pp. 34–40. ISBN: 0-7695-2834-1.  https://doi.org/10.1109/rsp.2007.26
  31. 31.
    A. Weichslgartner, S. Wildermann, J. Teich, Dynamic decentralized mapping of tree-structured applications on NoC architectures, in Proceedings of the 5th IEEE/ACM International Symposium on Networks on Chip (NoCS), Pittsburgh, Pennsylvania, 1–4 May 2011. ACM, pp. 201–208. ISBN: 978-1-4503-0720-8.  https://doi.org/10.1145/1999946.1999979
  32. 32.
    E. W. Brião, D. Barcelos, F. R. Wagner, Dynamic task allocation strategies in MPSoC for soft real-time applications, in Proceedings of the Design, Automation and Test in Europe (DATE), Munich, Germany, 10–14 March 2008. IEEE, pp. 1386–1389.  https://doi.org/10.1145/1403375.1403709
  33. 33.
    C.-L. Chou, U. Y. Ogras, R. Marculescu, Energy- and performance-aware incremental mapping for networks on chip with multiple voltage levels. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. (TCAD) 27(10), 1866–1879 (2008). ISSN: 0278-0070.  https://doi.org/10.1109/TCAD.2008.2003301CrossRefGoogle Scholar
  34. 34.
    S. Kobbe et al., DistRM: distributed resource management for on chip many-core systems, in Proceedings of the 9th IEEE/ACM/IFIP International Conference on Hardware/Software Co-design and System Synthesis (CODES+ISSS), Taipei, Taiwan, 9–14 October 2011. IEEE, pp. 119–128. ISBN: 978-1-4503-0715-4.  https://doi.org/10.1145/2039370.2039392
  35. 35.
    P. K. F. Hölzenspies et al., Run-time spatial mapping of streaming applications to a heterogeneous multi-processor system-on-chip (MPSoC), in Proceedings of the Design, Automation and Test in Europe (DATE), Munich, Germany, 10–14 March 2008. ACM, pp. 212–217.  https://doi.org/10.1145/1403375.1403427

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceFriedrich-Alexander-Universität Erlangen-NürnbergErlangenGermany

Personalised recommendations