A tool for visualization of memory access patterns

An Eclipse plug-in to run a cache profile on C programs was implemented, with visualization for data analysis. The plug-in was built using Eclipse’s Rich Client Platform (RCP) and the Callgrind tool from Valgrind was used for the gathering of cache access information. Modifications were made in Call...

Full description

Saved in:
Bibliographic Details
Main Author: Chan, Eugene Yew Koon.
Other Authors: Stephen John Turner
Format: Final Year Project
Language:English
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/10356/55038
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-55038
record_format dspace
spelling sg-ntu-dr.10356-550382023-03-03T20:45:30Z A tool for visualization of memory access patterns Chan, Eugene Yew Koon. Stephen John Turner School of Computer Engineering Parallel and Distributed Computing Centre DRNTU::Engineering::Computer science and engineering::Hardware::Memory structures An Eclipse plug-in to run a cache profile on C programs was implemented, with visualization for data analysis. The plug-in was built using Eclipse’s Rich Client Platform (RCP) and the Callgrind tool from Valgrind was used for the gathering of cache access information. Modifications were made in Callgrind to allow for collection of cache access data in finer granularity. The addition to Callgrind outputs cache information from data read and write events that is based on memory address. For each memory location referenced during data read or write events, the data is collected. Based on Callgrind’s output format specification, a parser was written to interpret Callgrind’s output. The results were displayed in a combination of three views, showing the source code, detailed cache statistics and visualization simultaneously. Results from the interpreted data after passing through the parser was confirmed to be 100% accurate when compared with the original Callgrind output and with KCachegrind. A timed run of the plug-in proved it to be efficient. The additional component implemented from modifying Callgrind has high execution time. However, the information obtained was proved to be useful for determining causes of bad cache performance. These results show that the plug-in can be used as an effective cache profiler and analyzer for C programmers who need to optimise their programs for systems with limited cache size. Bachelor of Engineering (Computer Science) 2013-12-04T03:54:20Z 2013-12-04T03:54:20Z 2013 Final Year Project (FYP) http://hdl.handle.net/10356/55038 en Nanyang Technological University 74 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering::Hardware::Memory structures
spellingShingle DRNTU::Engineering::Computer science and engineering::Hardware::Memory structures
Chan, Eugene Yew Koon.
A tool for visualization of memory access patterns
description An Eclipse plug-in to run a cache profile on C programs was implemented, with visualization for data analysis. The plug-in was built using Eclipse’s Rich Client Platform (RCP) and the Callgrind tool from Valgrind was used for the gathering of cache access information. Modifications were made in Callgrind to allow for collection of cache access data in finer granularity. The addition to Callgrind outputs cache information from data read and write events that is based on memory address. For each memory location referenced during data read or write events, the data is collected. Based on Callgrind’s output format specification, a parser was written to interpret Callgrind’s output. The results were displayed in a combination of three views, showing the source code, detailed cache statistics and visualization simultaneously. Results from the interpreted data after passing through the parser was confirmed to be 100% accurate when compared with the original Callgrind output and with KCachegrind. A timed run of the plug-in proved it to be efficient. The additional component implemented from modifying Callgrind has high execution time. However, the information obtained was proved to be useful for determining causes of bad cache performance. These results show that the plug-in can be used as an effective cache profiler and analyzer for C programmers who need to optimise their programs for systems with limited cache size.
author2 Stephen John Turner
author_facet Stephen John Turner
Chan, Eugene Yew Koon.
format Final Year Project
author Chan, Eugene Yew Koon.
author_sort Chan, Eugene Yew Koon.
title A tool for visualization of memory access patterns
title_short A tool for visualization of memory access patterns
title_full A tool for visualization of memory access patterns
title_fullStr A tool for visualization of memory access patterns
title_full_unstemmed A tool for visualization of memory access patterns
title_sort tool for visualization of memory access patterns
publishDate 2013
url http://hdl.handle.net/10356/55038
_version_ 1759854856299872256