Patent ID: 8347039

Claim:
A method for performing data retrieval in a parallel computing system, the parallel computing system including a plurality of computing nodes, a computing node including at least one processor and at least one cache memory device, the method comprising: receiving a load request from a processor in the computing node; evaluating whether a first memory address requested in the load request is present and valid in a first table; checking whether there exists valid data corresponding to the first memory address in an array in response to determining that the first memory address is present and valid in the first table; inserting the load request in a second table while awaiting the valid data to be returned by a cache memory device in the computing node in response to determining that there is not yet valid data corresponding to the first memory address in the array; determining a victim stream among streams registered in the first table; decrementing a prefetching depth of the victim stream; incrementing a prefetching depth of a first stream that the first memory address belongs to; determining whether prefetching of additional data is needed for the first stream; and prefetching the additional data in response to determining that the prefetching is needed.