Cache optimizations for stream programs

Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.

Bibliographic Details
Main Author: SermuliÅ Å¡, JÄ nis
Other Authors: Saman Amarasinghe.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2006
Subjects:
Online Access:http://hdl.handle.net/1721.1/33359
_version_ 1826190224224419840
author SermuliÅ Å¡, JÄ nis
author2 Saman Amarasinghe.
author_facet Saman Amarasinghe.
SermuliÅ Å¡, JÄ nis
author_sort SermuliÅ Å¡, JÄ nis
collection MIT
description Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.
first_indexed 2024-09-23T08:36:57Z
format Thesis
id mit-1721.1/33359
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T08:36:57Z
publishDate 2006
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/333592019-04-09T18:47:13Z Cache optimizations for stream programs SermuliÅ Å¡, JÄ nis Saman Amarasinghe. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005. Includes bibliographical references (leaves 73-75). As processor speeds continue to increase, the memory bottleneck remains a primary impediment to attaining performance. Effective use of the memory hierarchy can result in significant performance gains. This thesis focuses on a set of transformations that either reduce cache-miss rate or reduce the number of memory accesses for the class of streaming applications, which are becoming increasingly prevalent in embedded, desktop and high-performance processing. A fully automated optimization algorithm is presented that reduces the memory bottleneck for stream applications developed in the high-level stream programming language StreamIt. This thesis presents four memory optimizations: 1) cache aware fusion, which combines adjacent program components while respecting instruction and data cache constraints, 2) execution scaling, which judiciously repeats execution of program components to improve instruction and state locality, 3) scalar replacement, which converts certain data buffers into a sequence of scalar variables that can be register allocated, and 4) optimized buffer management, which reduces the overall number of memory accesses issued by the program. The cache aware fusion and execution scaling reduce the instruction and data cache-miss rates and are founded upon a simple and intuitive cache model that quantifies the temporal locality for a sequence of actor executions. (cont.) The scalar replacement and optimized buffer management reduce the number of memory accesses. An experimental evaluation of the memory optimizations is presented for three different architectures: StrongARM 1110, Pentium 3 and Itanium 2. Compared to unoptimized StreamIt code, the memory optimizations presented in this thesis yield a 257% speedup on the StrongARM, a 154% speedup on the Pentium 3, and a 152% speedup on Itanium 2. These numbers represent averages over our streaming benchmark suite. The most impressive speedups are demonstrated on an embedded processor StrongARM, which has only a single data and a single instruction cache, thus increasing the overall cost of memory operations and cache misses. by Jānis. Sermuliņš. M.Eng. 2006-07-13T15:18:04Z 2006-07-13T15:18:04Z 2005 2005 Thesis http://hdl.handle.net/1721.1/33359 62413820 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 75 leaves 3129060 bytes 3132114 bytes application/pdf application/pdf application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
SermuliÅ Å¡, JÄ nis
Cache optimizations for stream programs
title Cache optimizations for stream programs
title_full Cache optimizations for stream programs
title_fullStr Cache optimizations for stream programs
title_full_unstemmed Cache optimizations for stream programs
title_short Cache optimizations for stream programs
title_sort cache optimizations for stream programs
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/33359
work_keys_str_mv AT sermuliaajanis cacheoptimizationsforstreamprograms