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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Gajksi, D., Vahid, F., Narayan, S., Gong, J.: Specification and Design of Embedded Systems. Prentice Hall, Englewood Cliffs (1994)
Luepers, R.: Code Optimization for Embedded Processors. Kluwer Academic Publishers, Dordrecht (2002)
Edwards, S., Lavagno, L., Lee, E., Sangiovanni-Vincentelli, A.: Design of Embedded Systems: Formal Models. Validation, and Synthesis. Proc. of IEEE, 366–390 (1997)
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)
Macci, A., Benini, L., Poncino, M.: Memory Design Techniques for low Energy Embedded Systems. Kluwer Academic Publishers, Dordrecht (2002)
Panda, P., Dutt, N.: Memory Issues in Embedded Systems-on-Chip Optimization and Exploration. Kluwer Academic Publishers, Dordrecht (1999)
Kandemir, M., Ramanujam, J., Choudhary, A.: Improving cache locality by combination of loop and data transformations. IEEE Trans. on Computers, 159–167 (1999)
“Rational Quantify for Windows v2001A”, Rational Software Corporation
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)
C++ Front End. Propiertary Information of Edison Design Group, www.edg.com
Video Conferencing Tool, www-nrg.ee.lbl.gov/vic
Levine, J.R., Mason, T., Brown, D.: Lex & Yacc. O’REILLY & Associates Inc., Sebastopol
Benini, L., De Micheli, G.: System-level power optimization techniques and tools. ACM TODAES 5(2), 115–192 (2000)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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