发明名称 |
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 |