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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |