1. In a parallel processing system comprising a plurality of cores configured to run speculative threads in parallel, and at least one each of first and second level caches, a method comprising carrying out operations, the operations comprising: determining whether a speculative thread seeks to write; upon a positive determination, writing from the speculative thread through the first level cache to the second level cache; evicting a line from the first level cache and/or prefetch unit corresponding to the writing; and resolving speculation downstream from the first level cache.