LoboVault Home

Improving the performance of parallel scientific applications using cache injection


Please use this identifier to cite or link to this item: http://hdl.handle.net/1928/9348

Improving the performance of parallel scientific applications using cache injection

Show full item record

Title: Improving the performance of parallel scientific applications using cache injection
Author: Leon Borja, Edgar
Advisor(s): Maccabe, Arthur
Committee Member(s): Riesen, Rolf
Bridges, Patrick
da Silva, Dilma
Teller, Patricia
Department: University of New Mexico. Dept. of Computer Science.
Subject(s): cache injection
high-performance computing
LC Subject(s): Input design, Computer.
Cache memory.
Parallel computers--Programming.
Degree Level: Doctoral
Abstract: Cache injection is a viable technique to improve the performance of data-intensive parallel applications. This dissertation characterizes cache injection of incoming network data in terms of parallel application performance. My results show that the benefit of this technique is dependent on: the ratio of processor speed to memory speed, the cache injection policy, and the application's communication characteristics. Cache injection addresses the memory wall for I/O by writing data into a processor's cache directly from the I/O bus. This technique, unlike data prefetching, reduces the number of reads served by the memory unit. This reduction is significant for data-intensive applications whose performance is dominated by compulsory cache misses and cannot be alleviated by traditional caching systems. Unlike previous work on cache injection which focused on reducing host network stack overhead incurred by memory copies, I show that applications can directly benefit from this technique based on their temporal and spatial locality in accessing incoming network data. I also show that the performance of cache injection is directly proportional to the ratio of processor speed to memory speed. In other words, systems with a memory wall can provide significantly better performance with cache injection and an appropriate injection policy. This result implies that multi-core and many-core architectures would benefit from this technique. Finally, my results show that the application's communication characteristics are key to cache injection performance. For example, cache injection can improve the performance of certain collective communication operations by up to 20% as a function of message size.
Graduation Date: May 2009
URI: http://hdl.handle.net/1928/9348

Files in this item

Files Size Format View
leon_diss.pdf 643.4Kb PDF View/Open

This item appears in the following Collection(s)

Show full item record

UNM Libraries

Search LoboVault

Advanced Search


My Account