Abstract
We present a static analysis for the automatic generation of symbolic prefetches in a transactional distributed shared memory. A symbolic prefetch specifies the first object to be prefetched followed by a list of field offsets or array indices that define a path through the heap. We also provide an object caching framework and language extensions to support our approach. To our knowledge, this is the first prefetching approach that can prefetch objects whose addresses have not been computed or predicted.
Our approach makes aggressive use of both prefetching and caching of remote objects to hide network latency. It relies on the transaction commit mechanism to preserve the simple transactional consistency model that we present to the developer. We have evaluated this approach on several shared memory parallel benchmarks and a distributed gaming benchmark to observe speedups due to prefetching and caching. Categories and Subject Descriptors
- {Harris et al.2006} Harris, T., Plesko, M., Shinnar, A., and Tarditi, D. 2006. Optimizing memory transactions. SIGPLAN Not. 41, 6 (Jun. 2006), 14--25. DOI= http://doi.acm.org/10.1145/1133255.1133984 Google Scholar
Digital Library
- {Bocchino et al.2008} Bocchino, R. L., Adve, V. S., and Chamberlain, B. L. 2008. Software transactional memory for large scale clusters. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Salt Lake City, UT, USA, February 20-23, 2008). PPoPP '08. ACM, New York, NY, 247--258. DOI=http://doi.acm.org/10.1145/1345206.1345242 Google Scholar
Digital Library
- {Speight et al.2002} Speight, E., Burtscher, M.: Delphi: Prediction-Based Page Prefetching to Improve the Performance of Shared Virtual Memory Systems. In: Intl. Conf. on Parallel and Distributed Processing Techniques and Applications, Las Vegas, NV, pp. 49--55 (June 2002) Google Scholar
Digital Library
- {Joseph et al.1997} Joseph, D. and Grunwald, D. 1997. Prefetching using Markov predictors. In Proceedings of the 24th Annual international Symposium on Computer Architecture (Denver, Colorado, United States, June 01 - 04, 1997). ISCA '97. ACM, New York, NY, 252--263. DOI= http://doi.acm.org/10.1145/264107.26420 Google Scholar
Digital Library
Index Terms
Symbolic prefetching in transactional distributed shared memory
Recommendations
Symbolic prefetching in transactional distributed shared memory
PPoPP '10: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingWe present a static analysis for the automatic generation of symbolic prefetches in a transactional distributed shared memory. A symbolic prefetch specifies the first object to be prefetched followed by a list of field offsets or array indices that ...
Software transactional distributed shared memory
PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programmingWe have developed a transaction-based approach to distributed shared memory(DSM) that supports object caching and generates path expression prefetches. A path expression specifies a path through the heap that traverses the objects to be prefetched. To ...
Software transactional distributed shared memory
PPoPP '09We have developed a transaction-based approach to distributed shared memory(DSM) that supports object caching and generates path expression prefetches. A path expression specifies a path through the heap that traverses the objects to be prefetched. To ...







Comments