1. A computer system for prefetching data, the system comprising: a chip, comprising: at least one scout core located on the chip; at least one parent core located on the chip; and a shared cache that is common between the at least one scout core and the at least one parent core, the shared cache located on the chip, the system configured to perform a method comprising: executing a prefetch code by the at least one scout core, the prefetch code executing independently from the at least one parent core, the prefetch code including: monitoring for specified data patterns in the at least one parent core, the specified data patterns including at least one of a cache miss occurring in a cache located in the at least one parent core and a checkpoint address of the at least one parent core; determining by the at least one scout that at least one of the specified data patterns has occurred in the at least one parent core, the determining based on the monitoring; sending a prefetch request from the at least one scout core to the shared cache, the sending based on the determining; and sending, by the shared cache, a data set indicated by the prefetch request to the at least one parent core.