Advertisement

DiaSys: On-Chip Trace Analysis for Multi-processor System-on-Chip

  • Philipp Wagner
  • Thomas Wild
  • Andreas Herkersdorf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9637)

Abstract

To find the cause of a functional or non-functional defect (bug) in software running on multi-processor System-on-Chip (MPSoC), developers need insight into the chip. For that, most of today’s SoCs have hardware tracing support. Unfortunately, insight is restricted by the insufficient off-chip bandwidth, a problem which is expected to become more severe in the future as more functionality is integrated on-chip. In this paper, we present a novel tracing system architecture, the diagnosis system “DiaSys.” It moves the analysis of the trace data from the debugging tool on a host PC into the chip, avoiding the off-chip bandwidth bottleneck. To enable on-chip processing, we propose to move away from trace data streams towards self-contained diagnosis events. These events can then be transformed on-chip by processing nodes to increase the information density, and then be transferred off-chip with less bandwidth. We evaluate the concept with a prototype hardware implementation, which we use to find a functional software bug. We show that on-chip trace processing can significantly lower the off-chip bandwidth requirements, while providing insight into the software execution equal to existing tracing solutions.

Keywords

Debugging Tracing MPSoC SoC architectures 

Notes

Acknowledgments

This work was funded by the Bayerisches Staatsministerium für Wirtschaft und Medien, Energie und Technologie (StMWi) as part of the project “SoC Doctor,” and by the German Research Foundation (DFG) as part of the Transregional Collaborative Research Centre “Invasive Computing” (SFB/TR 89). The responsibility for the content remains with the authors.

References

  1. 1.
    CoreSight - ARMGoogle Scholar
  2. 2.
    The Nexus 5001 Forum Standard for a Global Embedded Processor Debug Interface, Version 2.0. Technical report, December 2003Google Scholar
  3. 3.
    Cantrill, B.M., Shapiro, M.W., Leventhal, A.H.: Dynamic instrumentation of production systems. In: Proceedings of the General Track: 2004 USENIX Annual Technical Conference, ATEC 2004. USENIX Association, Berkeley (2004)Google Scholar
  4. 4.
    Ducassé, M.: Coca: an automated debugger for C. In: Proceedings of the 21st International Conference on Software Engineering, ICSE 1999, pp. 504–513. ACM, New York (1999)Google Scholar
  5. 5.
    Eigler, F.C., Prasad, V., Cohen, W., Nguyen, H., Hunt, M., Keniston, J., Chen, B.: Architecture of systemtap: a Linux trace/probe tool (2005)Google Scholar
  6. 6.
    Fidge, C.: Fundamentals of distributed system observation. IEEE Softw. 13(6), 77–83 (1996)CrossRefGoogle Scholar
  7. 7.
    Gray, J.: Why do computers stop and what can be done about it? In: Symposium on Reliability in Distributed Software and Database Systems, Los Angeles, CA, USA, pp. 3–12 (1986)Google Scholar
  8. 8.
    Hopkins, A.B.T., McDonald-Maier, K.D.: Debug support strategy for systems-on-chips with multiple processor cores. IEEE Trans. Comput. 55(2), 174–184 (2006)CrossRefGoogle Scholar
  9. 9.
    IPextreme: Infineon Multi-Core Debug Solution: Product Brochure (2008)Google Scholar
  10. 10.
    Marceau, G., Cooper, G., Krishnamurthi, S., Reiss, S.: A dataflow language for scriptable debugging. In: Proceedings of the 19th International Conference on Automated Software Engineering, pp. 218–227, September 2004Google Scholar
  11. 11.
    Olsson, R.A., Crawford, R.H., Ho, W.W.: A dataflow approach to event-based debugging. Softw. Pract. Exper. 21(2), 209–229 (1991)CrossRefGoogle Scholar
  12. 12.
    Orme, W.: Debug and Trace for Multicore SoCs (ARM white paper), September 2008Google Scholar
  13. 13.
    Uzelac, V., Milenković, A., Burtscher, M., Milenković, M.: Real-time unobtrusive program execution trace compression using branch predictor events. In: Proceedings of the 2010 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, CASES 2010, pp. 97–106. ACM, New York (2010)Google Scholar
  14. 14.
    Vermeulen, B., Goossens, K.: Debugging Systems-on-Chip: Communication-centric and Abstraction-based Techniques. Springer, New York (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Philipp Wagner
    • 1
  • Thomas Wild
    • 1
  • Andreas Herkersdorf
    • 1
  1. 1.Lehrstuhl für Integrierte SystemeTechnische Universität MünchenMunichGermany

Personalised recommendations