Memory profiling and management.
2011-05
Loading...
View/Download File
Persistent link to this item
Statistics
View StatisticsJournal Title
Journal ISSN
Volume Title
Title
Memory profiling and management.
Authors
Published Date
2011-05
Publisher
Type
Thesis or Dissertation
Abstract
The performance gap between the CPU and memory has been widened after decades of advance in technologies. Memory operations have become more and more expensive compared to the logical and arithmetical operations. This dissertation addresses two compiler techniques related to memory optimizations: memory disambiguation profiling and local memory management.
The static memory disambiguation analyses in a compiler, such as alias analysis and dependence analysis, are often limited by the lack of runtime information and conservative nature of compiler analysis. Thus, many optimization opportunities may be lost due to the imprecise or overly conservative analysis result. The dissertation proposed a new approach, which aimed to produce the memory disambiguation information from profiling. Two profiling methods, alias profiling and dependence profiling, are proposed. Special hash method is designed to make the profiling efficient. Software-based sampling method is used to further reduce the overhead. Studies on the impact of granularity of memory checking, path sensitivity and context sensitivity are conducted with this profiling tool. The overhead can be reduced to only 30% of the total execution time in this expensive pure software profiling. A speculative partial redundancy elimination optimization based on the profiling result and the special hardware, ALAT, in Itanium processor, is also presented. This optimization can cause up to a 10% improvement to Spec2000 benchmarks, which demonstrates the effectiveness of the profiling methods.
In some of the multi-core systems, some local memory is attached to the core for fast access, but without cache coherence support. This dissertation proposes several methods to manage the local memory automatically by compiler with runtime library. There are two common methods, software controlled cache and direct buffering, commonly used to manage the local memory. In this dissertation, an analytic model for a compiler to decide the number and size of the buffer that should be used to optimally overlap the data transfer and computation is presented. How to integrate the two methods is also discussed in the dissertation. Novel data flow analysis and runtime checking schemes are designed for the integration. A data prefetching method for software cache is also presented. All
these new methods are implemented in IBM's compiler for Cell and have proven to be effective and efficient in local memory management.
Keywords
Description
University of Minnesota Ph.D. dissertation May 2011. Major: Computer Science. Advisor:Professor Pen-Chung Yew. 1 computer file (PDF); x, 163 pages.
Related to
Replaces
License
Collections
Series/Report Number
Funding information
Isbn identifier
Doi identifier
Previously Published Citation
Other identifiers
Suggested citation
Chen, Tong. (2011). Memory profiling and management.. Retrieved from the University Digital Conservancy, https://hdl.handle.net/11299/107756.
Content distributed via the University Digital Conservancy may be subject to additional license and use restrictions applied by the depositor. By using these files, users agree to the Terms of Use. Materials in the UDC may contain content that is disturbing and/or harmful. For more information, please see our statement on harmful content in digital repositories.