Every bit that moves through the levels of a supercomputer’s memory hierarchy has an associated energy cost. The hardware-managed caches that prevail in the high-end computer processors automatically move data through the memory hierarchy in response to the memory requests made by the running application. These hardware-based policies often move large amounts of unused data around the memory hierarchy because they are (1) limited in complexity as a result of being implemented in hardware and (2) designed to take advantage of high levels of data locality that are often realized only in limited ways by particular application codes.
An alternative design, software-managed scratchpad memory (SPM), has been proposed as a means of hoisting the burden of managing data movement onto the software. Because a software-based approach can be more sophisticated and designed specifically for the application, moving data that is irrelevant to the application can be easily avoided. Unfortunately, system designers and programmers currently lack a framework for quickly and accurately estimating the benefits of SPM for a given HPC workload. Our research provides that framework.
- DISCS 2012
- In Submission