Skip to main content

An efficient data partitioning method for limited memory embedded systems

  • Refereed Papers
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Abstract

In this work we propose a framework to carry out an efficient data partitioning for arrays on limited memory embedded systems. We introduce a concept of footprint to precisely calculate the memory demands of references and compute a profit value of a reference using its access frequency and reuse factor. We then develop a methodology based on 0/1 knapsack algorithm to partition the references in local/remote memory. We show the performance improvements due to our approach and compare the results.

This work was partially supported by NSF grant # CCR 9696129 and DARPA contract # ARMY DABT63-97-C-0029

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anant Agarwal, David Kranz, and Venkat Natarajan. Automatic partitioning of parallel loops and data arrays for distributed shared memory multiprocessors. In International Conferrence on Parallel Processing, 1993.

    Google Scholar 

  2. Rajeev Barua, David Kranz, and Anant Agarwal. Communication-minimal partitioning of parallel loops and data arrays for cache-coherent distributed-memory multiprocessors. In Languages and Compilers for Parallel Computing, August 1996.

    Google Scholar 

  3. R. L. Bowman, E. J. Ratliff, and D. B. Whalley. Decreasing process memory requirements by overlapping program portions. In Proceedings of the Hawaii International Conference on System Sciences, pages 115–124, January 1998.

    Google Scholar 

  4. R.L. Graham, M. Grotschel, and L.Lovasz. Handbook of combinatorics-volume 1, The MIT Press. page 947.

    Google Scholar 

  5. E. Horowitz and S. Sahni. Fundamentals of computer algorimthms (Computer Science Press, Rockville, MD, 1984).

    Google Scholar 

  6. M. Kandemir, J. Ramanujam and A. Choudhary. A Compiler Algorithm for Optimizing Locality in Loop Nests. In Proc. of 11th ACM International Conference on Supercomputing, pages 269–278, Vienna, Austria, July 1997.

    Google Scholar 

  7. David J. Kolson, Alexandra Nicolau, Nikil Dutt, and Ken Kennedy. Optimal register assignment to loops for embedded code generation. In ACM Transaction on Design Automation of Electronic Systems, pages 251–279, April 1996.

    Google Scholar 

  8. Stan Liao, Srinivas Devadas, Kurt Keutzer, and Steve Tjiang. Instruction selection using binate covering for code size optimization. In International Conference on Computer-Aided Design, 1995.

    Google Scholar 

  9. Frank Mueller. Compiler support for software-based cache partitioning. In Workshop on Languages, Compilers and Tools for Real-time Systems, June 1995.

    Google Scholar 

  10. W. Pugh. The Omega Test: A fast and practical integer programming algorithm for dependence analysis. In Supercomputing ’91, 1991.

    Google Scholar 

  11. U. K. Sarkar, P. P. Chakrabarti, S. Ghose, and S. C. DeSarkar. A simple 0.5-bounded greedy algorithm for the 0/1 knapsack problem. In Information Processing Letters, pages 173–177, May 1992.

    Google Scholar 

  12. Texas Instruments. TMS320C2x User’s Guide, 1993.

    Google Scholar 

  13. Michael E Wolf and Monica S Lam. A data locality optimizing algorithm. In Programming Language Design and Implementation, June 1991.

    Google Scholar 

  14. Hong Xu and Lionel M. Ni. Optimizing data decomposition for data parallel programs. In International Conference on Parallel Processing, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anantharaman, S., Pande, S. (1998). An efficient data partitioning method for limited memory embedded systems. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057792

Download citation

  • DOI: https://doi.org/10.1007/BFb0057792

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65075-1

  • Online ISBN: 978-3-540-49673-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics