Skip to main content

An Automated C++ Code and Data Partitioning Framework for Data Management of Data-Intensive Applications

  • Conference paper
Software and Compilers for Embedded Systems (SCOPES 2004)

Abstract

An automated framework for code and data partitioning for the needs of data management is presented. The goal is to identify the main data types from the data management perspective and to separate them from the many smaller data in the code. First, static and dynamic analysis is performed on the initial C++ specification code. Based on the analysis results the data types of the application are characterized as crucial or non-crucial. Afterwards, the code is automatically rewritten in such a way that the crucial data types and the code portions that manipulate them are separated from the rest of the code. Thus, the complexity is reduced allowing the designer to easily focus on the important parts of the code to perform further refinements and optimizations. Experiments on well-known multimedia and telecom applications prove the correctness of the performed automated analysis and code rewriting as well as the applicability of the introduced framework in terms of execution time and memory requirements. Comparisons with Rational’s QuantifyTM suite demonstrate the failure of Quantify to analyze correctly the initial code for the needs of data management.

This work was partially funded by the Iracleitos project

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Catthoor, F., Wuytack, S., De Greef, E., Balasa, F., Nachtergaele, L., Vandecappelle, A.: CUSTOM MEMORY MANAGEMENT METHODOLOGY – Exploration of Memory management Organization for Embedded Multimedia System Design. Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  2. Gajksi, D., Vahid, F., Narayan, S., Gong, J.: Specification and Design of Embedded Systems. Prentice Hall, Englewood Cliffs (1994)

    Google Scholar 

  3. Luepers, R.: Code Optimization for Embedded Processors. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  4. Edwards, S., Lavagno, L., Lee, E., Sangiovanni-Vincentelli, A.: Design of Embedded Systems: Formal Models. Validation, and Synthesis. Proc. of IEEE, 366–390 (1997)

    Google Scholar 

  5. Catthoor, F., Danckaert, K., Kulkarni, C., Brockmeyer, E., Kjeldsberg, P., Achteren, T., Omnes, T.: Data Accesses and Storage Management for Embedded Programmable Processors. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  6. Macci, A., Benini, L., Poncino, M.: Memory Design Techniques for low Energy Embedded Systems. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  7. Panda, P., Dutt, N.: Memory Issues in Embedded Systems-on-Chip Optimization and Exploration. Kluwer Academic Publishers, Dordrecht (1999)

    Google Scholar 

  8. Kandemir, M., Ramanujam, J., Choudhary, A.: Improving cache locality by combination of loop and data transformations. IEEE Trans. on Computers, 159–167 (1999)

    Google Scholar 

  9. “Rational Quantify for Windows v2001A”, Rational Software Corporation

    Google Scholar 

  10. Aigner, G., Diwan, A., Heine, D.L., Lam, M.S., Moore, D.L., Murphy, B.R., Sapuntzakis, C.: An overview of the SUIF2 compiler infrastructure. Technical report, Stanford University (2000)

    Google Scholar 

  11. C++ Front End. Propiertary Information of Edison Design Group, www.edg.com

  12. Video Conferencing Tool, www-nrg.ee.lbl.gov/vic

  13. Levine, J.R., Mason, T., Brown, D.: Lex & Yacc. O’REILLY & Associates Inc., Sebastopol

    Google Scholar 

  14. http://www.imec.be/atomium

  15. Benini, L., De Micheli, G.: System-level power optimization techniques and tools. ACM TODAES 5(2), 115–192 (2000)

    Article  Google Scholar 

  16. Panda, P., Catthoor, F., Dutt, N., Danckaert, K., Brockmeyer, E., Kulkarni, C., Vandecappelle, A., Kjeldsberg, P.G.: Data and Memory Optimizations for Embedded Systems. ACM TODAES 6(2), 142–206 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Milidonis, A., Dimitroulakos, G., Galanis, M.D., Theodoridis, G., Goutis, C., Catthoor, F. (2004). An Automated C++ Code and Data Partitioning Framework for Data Management of Data-Intensive Applications. In: Schepers, H. (eds) Software and Compilers for Embedded Systems. SCOPES 2004. Lecture Notes in Computer Science, vol 3199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30113-4_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30113-4_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23035-9

  • Online ISBN: 978-3-540-30113-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics