About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
PACT 2012
Conference paper
Pointy: A hybrid pointer prefetcher for managed runtime systems
Abstract
This work proposes Pointy, a software assisted hardware pointer prefetcher for Java applications. Pointy exploits the strengths of both software and hardware. Its runtime software component communicates points-to relationships between objects to the underlying hardware. This points-to information is maintained and tracked in any managed runtime that implements automatic garbage collection. Pointy stores the object connectivity information in a separate hardware structure and uses it to generate timely pointer prefetches. To achieve a low-cost hardware implementation, Pointy spills the object metadata to the conventional memory hierarchy and retrieves it only when needed. Taking advantage of its hybrid design, Pointy can selectively communicate points-to metadata to the hardware based on class profiling that is readily available at the runtime level, while impractical to extract at the hardware level. Experimental results show that Pointy improves performance for pointer intensive benchmarks even in the presence of conventional prefetchers. When used in conjunction with traditional prefetchers, such as striding and next line, Pointy improves application performance by 53% for SpecJBB 2005 and by 72% on average1, which represents a speedup of 19% and 18%, respectively, compared to traditional prefetchers. Copyright © 2012 by the Association for Computing Machinery, Inc. (ACM).