Analysis of Process Traces for Mapping Dynamic KPN Applications to MPSoCs

  • Andrés Goens
  • Jeronimo Castrillon
Conference paper
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 523)


Current approaches for mapping Kahn Process Networks (KPN) and Dynamic Data Flow (DDF) applications rely on assumptions on the program behavior specific to an execution. Thus, a near-optimal mapping, computed for a given input data set, may become sub-optimal at run-time. This happens when a different data set induces a significantly different behavior. We address this problem by leveraging inherent mathematical structures of the dataflow models and the hardware architectures. On the side of the dataflow models, we rely on the monoid structure of histories and traces. This structure help us formalize the behavior of multiple executions of a given dynamic application. By defining metrics we have a formal framework for comparing the executions. On the side of the hardware, we take advantage of symmetries in the architecture to reduce the search space for the mapping problem. We evaluate our implementation on execution variations of a randomly-generated KPN application and on a low-variation JPEG encoder benchmark. Using the described methods we show that trace differences are not sufficient for characterizing performance losses. Additionally, using platform symmetries we manage to reduce the design space in the experiments by two orders of magnitude.



This work is supported in part by the German Research Foundation (DFG) within the Cluster of Excellence “Center for Advancing Electronics Dresden” (cfaed). We would like to thank Silexica ( for making their embedded multicore software development tool suite available to us as basis for our work.


  1. 1.
    Arbelaez, P., Maire, M., Fowlkes, C., Malik, J.: Contour detection and hierarchical image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 33(5), 898–916 (2011)CrossRefGoogle Scholar
  2. 2.
    Brunet, S.C.: Analysis and optimization of dynamic dataflow programs. Ph.D. thesis, Ecole Polytechnique Federale de Lausanne (EPLFL) (2015)Google Scholar
  3. 3.
    Buck, J.T., Lee, E.A.: Scheduling dynamic dataflow graphs with bounded memory using the token flow model. In: 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP 1993, vol. 1, pp. 429–432. IEEE (1993)Google Scholar
  4. 4.
    Burnside, W.: Theory of Groups of Finite Order (1911)Google Scholar
  5. 5.
    Castrillon, J., Leupers, R.: Programming Heterogeneous MPSoCs: Tool Flows to Close the Software Productivity Gap. Springer, Cham (2014). Scholar
  6. 6.
    Castrillon, J., Leupers, R., Ascheid, G.: Maps: mapping concurrent dataflow applications to heterogeneous MPSoCs. IEEE Trans. Ind. Inf. 9(1), 527–545 (2011)CrossRefGoogle Scholar
  7. 7.
    Castrillon, J., Tretter, A., Leupers, R., Ascheid, G.: Communication-aware mapping of KPN applications onto heterogeneous MPSoCs. In: Proceedings of the 49th Annual Conference on Design Automation, DAC 2012 (2012)Google Scholar
  8. 8.
    de Bakker, J., Zucker, J.I.: Denotational semantics of concurrency. In: Proceedings of the Fourteenth Annual ACM Symposium on Theory of Computing, pp. 153–158. ACM (1982)Google Scholar
  9. 9.
    Diekert, V., Rozenberg, G., Rozenburg, G.: The Book of Traces, vol. 15. World Scientific, Singapore (1995)CrossRefGoogle Scholar
  10. 10.
    Gilles, K.: The semantics of a simple language for parallel programming. In: Proceedings of the IFIP Congress Information Processing 1974, vol. 74, pp. 471–475 (1974)Google Scholar
  11. 11.
    Kengne, C.K., Ibrahim, N., Rousset, M.-C., Tchuente, M.: Distance-based trace diagnosis for multimedia applications: help me ted! In: 2013 IEEE Seventh International Conference on Semantic Computing (ICSC), pp. 306–309. IEEE (2013)Google Scholar
  12. 12.
    Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)CrossRefGoogle Scholar
  13. 13.
    Mazurkiewicz, A.: Concurrent program schemes and their interpretations. DAIMI Rep. Ser. 6(78), 1–51 (1977)Google Scholar
  14. 14.
    Pimentel, A.D., Erbas, C., Polstra, S.: A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Trans. Comput. 55(2), 99–112 (2006)CrossRefGoogle Scholar
  15. 15.
    Seress, Á.: Permutation Group Algorithms, vol. 152. Cambridge University Press, Cambridge (2003)CrossRefGoogle Scholar
  16. 16.
    Singh, A.K., Shafique, M., Kumar, A., Henkel, J.: Mapping on multi/many-core systems: survey of current and emerging trends. In: Proceedings of the 50th Annual Design Automation Conference, p. 1. ACM (2013)Google Scholar
  17. 17.
    Stuijk, S., Geilen, M., Basten, T.: SDF\(^3\): SDF for free. In: Proceedings of 6th International Conference on Application of Concurrency to System Design, ACSD 2006, pp. 276–278. IEEE Computer Society Press, Los Alamitos, June 2006Google Scholar
  18. 18.
    Thiele, L., Bacivarov, I., Haid, W., Huang, K.: Mapping applications to tiled multiprocessor embedded systems. In: Seventh International Conference on Application of Concurrency to System Design, ACSD 2007, pp. 29–40. IEEE (2007)Google Scholar
  19. 19.
    Thiele, L., Chakraborty, S., Naedele, M.: Real-time calculus for scheduling hard real-time systems. In: Proceedings of The 2000 IEEE International Symposium on Circuits and Systems, ISCAS 2000, Geneva, vol. 4, pp. 101–104 (2000)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2017

Authors and Affiliations

  1. 1.Chair for Compiler Construction, Center for Advancing Electronics Dresden (cfaed)TU DresdenDresdenGermany

Personalised recommendations