Patent ID: 9292446
Filing Date: 2016-03-22
CPC Classification: G06F

Claim Text:
1. A method for speculative prefetching of remote data, comprising: receiving a program to execute on a processor; generating a prefetcher specific to the program that preserves the program's behavior; executing the program; concurrently executing the prefetcher with the program, including automatically identifying at runtime one or more remote data accesses that returned value not computed from another value returned from another remote data access appearing logically earlier in the program and deciding when to start and stop speculative prefetching; and storing, locally in a shared data structure shared by the program and the prefetcher, returned data from a data source as a result of issuing a remote request to said one or more remote data accesses, wherein executions of the program and the prefetcher are overlapped in a pipelined fashion, wherein tasks of the prefetcher are executed by multiple threads in parallel, the tasks implemented in a task queue that assigns higher priority to logically earlier tasks.