发明名称 Data prefetching and coalescing for partitioned global address space languages
摘要 An illustrative embodiment of a computer-implemented process for shared data prefetching and coalescing optimization versions a loop containing one or more shared references into an optimized loop and an un-optimized loop, transforms the optimized loop into a set of loops, and stores shared access associated information of the loop using a prologue loop in the set of loops. The shared access associated information pertains to remote data and is collected using the prologue loop in absence of network communication and builds a hash table. An associated data structure is updated each time the hash table is entered, and is sorted to remove duplicate entries and create a reduced data structure. Patterns across entries of the reduced data structure are identified and entries are coalesced. Data associated with a coalesced entry is pre-fetched using a single communication and a local buffer is populated with the fetched data for reuse.
申请公布号 US8839219(B2) 申请公布日期 2014.09.16
申请号 US201213659048 申请日期 2012.10.24
申请人 International Business Machines Corporation 发明人 Alvanos Michail;Tiotto Ettore
分类号 G06F9/45 主分类号 G06F9/45
代理机构 Yudell Isidore Ng Russell PLLC 代理人 Yudell Isidore Ng Russell PLLC ;Kalaitzis Parashos
主权项 1. A computer-implemented method for shared data prefetching and coalescing optimization, the computer-implemented process comprising: in response to determining there are one or more shared references in a loop, versioning the loop into an optimized loop and an un-optimized loop; transforming the optimized loop into a set of loops; storing shared access associated information of the loop using a prologue loop in the set of loops, wherein the shared access associated information pertains to remote data and is collected using the prologue loop in absence of network communication; building a hash table of entries, wherein each entry contains a pairing of a shared access variable and a Unified Parallel C (UPC) thread identification (ID); updating a data structure associated with the hash table each time the hash table is entered; sorting the data structure by entry; removing duplicate entries from the data structure to create a reduced data structure; identifying patterns across entries of the reduced data structure; coalescing entries of the reduced data structure; fetching data associated with a coalesced entry using a single network communication; and populating a local buffer with the fetched data for reuse.
地址 Armonk NY US