Symbolic prefetching in transactional distributed shared memory
暂无分享,去创建一个
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
[1] Mark Plesko,et al. Optimizing memory transactions , 2006, PLDI '06.
[2] Dirk Grunwald,et al. Prefetching Using Markov Predictors , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.
[3] Martin Burtscher,et al. Delphi: Predition-based Page Prefetching to Improve the Performance of Shared Virtual Memory Systems , 2002, PDPTA.
[4] Bradford L. Chamberlain,et al. Software transactional memory for large scale clusters , 2008, PPoPP.