Skip to main content

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.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The concept of composability has been introduced in [5] and states that a composable design allows analyzing execution properties of an application already at design time without knowing the other applications. This significantly reduces the effort of verifying real-time requirements of an application as not all possible run-time scenarios have to be considered. In invasive computing, composability is established through the exclusive reservation of resources to each application (isolation on demand).

  2. 2.

    As an example, the airbag controller in a car must react upon the event of an abruptly negative acceleration at a crash within a few microseconds and fire the airbags as a reaction to this event.

  3. 3.

    An example is battery-driven embedded devices such as a mobile phone that must never consume more than 5 W maximum power due to thermal problems that might arise otherwise.

  4. 4.

    In a certain state of a firing FSM, the activation patterns are evaluated. Yet, tokens on an input port are only destructively consumed by read once an activated transition fires that required a certain number of tokens on that port for activation. Once a transition is selected to fire, the respective number of tokens are consumed. Whereas, the transition completes by producing output tokens only once the actions as evoked during the chosen transition have finished.

  5. 5.

    Note that whereas our formal actor model introduced in Sect. 6.2.1 assumes a non-deterministic choice of transition in case multiple transitions should become simultaneously activated, our X10 implementation implements a priority given by the order in which the code checks the activation conditions.

References

  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. 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-4

    Book  Google Scholar 

  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.2695894

    Article  Google Scholar 

  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. 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_2

    Google Scholar 

  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. 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. IEEE

    Google Scholar 

  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. 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/2560033

    Article  Google Scholar 

  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. 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.6e

    Article  Google Scholar 

  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.0141

    Article  Google Scholar 

  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–245

    Google Scholar 

  14. G. A. Agha, Actors: A Model of Concurrent Computation in Distributed Systems. Technical report AITR-844. MIT Artificial Intelligence Laboratory, June 1985

    Google Scholar 

  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_36

    Chapter  Google Scholar 

  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.931229

    Article  Google Scholar 

  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. 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. 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. 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. R. Dick, Embedded System Synthesis Benchmarks Suite (E3S) (2010). http://ziyang.ewecs.umich.edu/dickrp/e3s/

  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-2

    Google Scholar 

  23. Lightbend Inc. Akka–Scala Actor Library, 8 May 2018. http://akka.io

  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. 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_14

    Google Scholar 

  26. J. Shirako et al., Phaser beams: integrating stream parallelism with task parallelism, in Presentation at the 1st ACM SIGPLAN X10Workshop (X10), 4 June 2011

    Google Scholar 

  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-2

    Google Scholar 

  28. A. Shali, C. Lin, Actor oriented programming in chapel (2010)

    Google Scholar 

  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. 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. 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. 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. 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.2003301

    Article  Google Scholar 

  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. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sascha Roloff .

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Roloff, S., Hannig, F., Teich, J. (2019). ActorX10 and Run-Time Application Embedding. In: Modeling and Simulation of Invasive Applications and Architectures. Computer Architecture and Design Methodologies. Springer, Singapore. https://doi.org/10.1007/978-981-13-8387-8_6

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-8387-8_6

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-8386-1

  • Online ISBN: 978-981-13-8387-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics