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.
References
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.
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.
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.
R.L. Graham, M. Grotschel, and L.Lovasz. Handbook of combinatorics-volume 1, The MIT Press. page 947.
E. Horowitz and S. Sahni. Fundamentals of computer algorimthms (Computer Science Press, Rockville, MD, 1984).
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.
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.
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.
Frank Mueller. Compiler support for software-based cache partitioning. In Workshop on Languages, Compilers and Tools for Real-time Systems, June 1995.
W. Pugh. The Omega Test: A fast and practical integer programming algorithm for dependence analysis. In Supercomputing ’91, 1991.
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.
Texas Instruments. TMS320C2x User’s Guide, 1993.
Michael E Wolf and Monica S Lam. A data locality optimizing algorithm. In Programming Language Design and Implementation, June 1991.
Hong Xu and Lionel M. Ni. Optimizing data decomposition for data parallel programs. In International Conference on Parallel Processing, 1994.
Author information
Authors and Affiliations
Editor information
Rights 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