Beu, Jesse Garrett ; Dr. Suleyman Sair, Committee Member,Dr. Gregory T. Byrd, Committee Member,Dr. Thomas M. Conte, Committee Chair,Beu, Jesse Garrett ; Dr. Suleyman Sair ; Committee Member ; Dr. Gregory T. Byrd ; Committee Member ; Dr. Thomas M. Conte ; Committee Chair
For many applications a common source of performance degradation is excessive processor stalling from high memory latencies or poor data placement.Performance degradations from program and memory hierarchy interactions are often difficult for programmers and compilers to correct due to a lack of run-time information or limited knowledge about the underlying problem.By leveraging the Pentium 4 processor's performance monitoring hardware, specific run-time information can be provided, allowing code modifications to reduce or even eliminate problematic code, resulting in reduced execution times. Furthermore, many tools currently available to aid programmers are program counter centric.These tools point out which area of the code produce slowdowns, but they do not directly show where the problem data structures are.This is a common problem in programs that dynamically allocate memory.By creating a "malloc-centric" tool, we can develop an interesting perspective of the memory behavior of the system, providing better insight into the sources of performance problems.