Font Size: a A A

Improving memory performance using intelligent memory

Posted on:2003-03-28Degree:Ph.DType:Thesis
University:University of Illinois at Urbana-ChampaignCandidate:Solihin, YanFull Text:PDF
GTID:2468390011983233Subject:Computer Science
Abstract/Summary:
Technology trends are enabling the progressive integration of processors and memory. One way to exploit this technology is to enhance the memory system with processing capability. This approach, popularly known as Intelligent Memory, promises to address the major performance bottleneck of current systems, namely memory accesses. This thesis presents two general techniques to exploit intelligent memory: memory-side prefetching and execution of memory-intensive code in memory.; While using memory processing for prefetching has been proposed elsewhere, we introduce a new scheme that can prefetch arbitrary patterns without special-purpose hardware or compiler support. Specifically, we propose correlation prefetching supported in software by a user thread running on a general-purpose core in memory. The scheme is effective for irregular applications and can be statically or dynamically customized to individual applications. Furthermore, the hardware required is minimal. Overall, the results are very promising: nine mostly-irregular applications speed up by an average of 1.53.; Alternatively, the memory can directly execute memory-intensive code sections. We propose a compiler and run-time algorithm to break out the code into sections with uniform memory and compute behavior. These sections are statically or dynamically mapped on the memory or the main processor based on their affinity. In addition, processor and memory overlap their execution as much as possible. We show that the resulting speedups are close and often higher than ideal speedups on a more expensive machine with two identical main processors.
Keywords/Search Tags:Memory, Intelligent
Related items