Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Visitor-based application analysis methodology for early design space exploration

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Applications and architectures for embedded systems are becoming more and more complex. It is difficult to analyze complex embedded applications at early stages of the design flow without generic automated tools and methodologies. Consequently, application analysis under the real input conditions is becoming more and more important. Existing application analysis methodologies mainly focus on a single design objective. A general purpose application analysis methodology is required to satisfy multiple objectives of early design space exploration. This article proposes a general purpose application analysis methodology based on a visitor design pattern. High level source specifications are transformed into a trace tree representation by dynamic analysis. Trace tree representation is analyzed by using a visitor design pattern to get run-time characteristics of the application. Among other outcomes, application characterization and average inherited parallelism are key concerns in this article. Experimental results with MPEG-2 video decoder shows viability of the proposed methodology.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Howard J et al. (2011) A 48-core IA-32 processor in 45 nm CMOS using on-die message-passing and DVFS for performance and power scaling. IEEE J Solid-State Circuits 46(1):173–183

    Article  Google Scholar 

  2. Bhattacharyya SS et al. (2011) Overview of the MPEG reconfigurable video coding framework. J Signal Process Syst 63(2):251–263

    Article  Google Scholar 

  3. Marwedel P et al. (2011) Mapping of applications to MPSoCs. In: Proceedings of the seventh IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, Taipei, Taiwan, October 2011, pp 109–118

    Chapter  Google Scholar 

  4. Abdi S, Hwang Y, Yu L, Schirner G, Gajski D (2011) Automatic TLM generation for early validation of multicore systems. IEEE Des Test Comput 28(3):10–19

    Article  Google Scholar 

  5. Silvano C et al. (2011) Parallel programming and run-time resource management framework for many-core platforms. In: 6th international workshop on communication-centric systems-on-chip, August 2011 pp 1–7

    Google Scholar 

  6. Rul S, Vandierendonck H, De Bosschere K (2010) A profile-based tool for finding pipeline parallelism in sequential programs. Parallel Comput 36(9):531–551

    Article  MATH  Google Scholar 

  7. Tournavitis G, Franke B (2010) Semi-automatic extraction and exploitation of hierarchical pipeline parallelism using profiling information. In: Proceedings of the 19th international conference on parallel architectures and compilation techniques, New York, NY, USA, September 2010, pp 377–388

    Chapter  Google Scholar 

  8. Cockx J, Denolf K, Vanhoof B, Stahl R (2007) SPRINT: a tool to generate concurrent transaction-level models from sequential code. EURASIP J Adv Signal Process 2007, 75373. 15 pages

    Article  Google Scholar 

  9. Mitchell L et al. (2012) Parallel classification and feature selection in microarray data using SPRINT. In: Concurrency and computation: practice and experience, September 2012

    Google Scholar 

  10. Thies W, Chandrasekhar V, Amarasinghe S (2007) A practical approach to exploiting coarse-grained pipeline parallelism in C programs. In: Proceedings of the 40th annual IEEE/ACM international symposium on micro architecture (Micro-40), Chicago, Illinois, USA, December 2007, pp 356–369

    Chapter  Google Scholar 

  11. Thies W, Amarasinghe S (2010) An empirical characterization of stream programs and its implications for language and compiler design. In: International conference on parallel architectures and compilation techniques, Austria, September 2010, pp 11–15

    Google Scholar 

  12. Amor NB, Le Moullec Y, Diguet JP, Philippe JL, Abid M (2005) Design of a multimedia processor based on metrics computation. Adv Eng Softw 36(7):448–458

    Article  Google Scholar 

  13. Le Moullec Y, Diguet J-P, Amor NB, Gourdeaux T, Philippe J-L (2006) Algorithmic-level specification and characterization of embedded multimedia applications with design trotter. J VLSI Signal Process Syst 42(2):185–208

    Article  MATH  Google Scholar 

  14. Prihozhy A, Mattavelli M, Mlynek D (2005) Evaluation of the parallelization potential for efficient multimedia implementations: dynamic evaluation of algorithm critical path. IEEE Trans Circuits Syst Video Technol 93(8):593–608

    Article  Google Scholar 

  15. Lucarz C, Roquier G, Mattavelli M (2010) High level design space exploration of RVC codec specifications for multi-core heterogeneous platforms. In: Design and architectures for signal and image processing, pp 191–198

    Google Scholar 

  16. Tomek I (2002) The joy of Smalltalk. 700 pages (online). Available: www.iam.unibe.ch/~ducasse/FreeBooks/Joy/

    Google Scholar 

  17. Cornelissen B, Zaidman A, van Deursen A, Moonen L, Koschke R (2009) A systematic survey of program comprehension through dynamic analysis. IEEE Trans Softw Eng 35(5):684–702

    Article  Google Scholar 

  18. Sengupta A, Sedaghat R, Zeng Z (2011) Multi-objective efficient design space exploration and architectural synthesis of an application specific processor (ASP). Microprocess Microsyst 35(4):392–404

    Article  Google Scholar 

  19. ISO/IEC 13818-2 (1994) Generic Coding of Moving Pictures and Associated Audio Information—Part 2: Video. Also ITU-T Recommendation H.262

  20. Castrillon J, Sheng W, Leupers R (2011) Trends in embedded software synthesis. In: International conference on embedded computer systems (SAMOS), July 2011, pp 347–354

    Google Scholar 

  21. Koziolek H (2010) Performance evaluation of component-based software systems: a survey. In: Journal of performance evaluation, vol 67. Elsevier, New York

    Google Scholar 

  22. Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenstrom P (2008) The worst-case execution-time problem: overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3):36

    Article  Google Scholar 

  23. Ravasi M, Mattavelli M (2005) High abstraction level complexity analysis and memory architecture simulations of multimedia algorithms. IEEE Trans Circuits Syst Video Technol 15(5):673–684

    Article  Google Scholar 

  24. Uquillas Gomeza V, Ducasse S, D’Hondta T (2012) Ring: a unifying meta-model and infrastructure for Smalltalk source code analysis tools. Comput Lang Syst Struct 38(1):44–60

    Google Scholar 

  25. Trace D. Sun Microsystems, web site: http://en.wikipedia.org/wiki/DTrace

  26. Casmira JP, Kaeli JFDR (1995) Operating-system level tracing tools for the DEC AXP architecture. In: Proceedings of the 1997 workshop on computer architecture education, New York, NY, USA

    Google Scholar 

  27. Rul S, Vandierendonck H, De Bosschere K (2007) Function level parallelism driven by data dependencies. Comput Archit News 35(1):55–62

    Article  Google Scholar 

  28. Rul S, Vandierendonck H, De Bosschere K (2008) Extracting coarse-grain parallelism in general-purpose programs. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming February 2008

    Google Scholar 

  29. Gamma E, Helm R, Johnson R, Vlissides JM (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading

    Google Scholar 

  30. Ruby Programming Language. http://www.ruby-lang.org/en/

  31. Edelin G et al. (2007) A programming toolset enabling exploitation of reconfiguration for increased flexibility in future system-on-chips. In: Design automation and test in Europe, Nice, France, April 2007

    Google Scholar 

  32. Pottier B, Boukhobza J, Goubier T (2007) Invited talk: an integrated platform for heterogeneous reconfigurable computing. In: International conference on engineering of reconfigurable systems and algorithms (ERSA’07), Navada, USA, June 2007

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Muhammad Rashid.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rashid, M., Pottier, B. Visitor-based application analysis methodology for early design space exploration. Des Autom Embed Syst 16, 319–338 (2012). https://doi.org/10.1007/s10617-013-9111-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-013-9111-8

Keywords

Navigation