Speculative execution

Updated: 01/24/2018 by Computer Hope

Speculative execution is an optimization technique in which a computer system executes certain tasks ahead of time, even though they may never be needed. The reason for this process is that if the work is needed at any point, it is already been completed. If not, any changes made are reversed, and their respective results ignored.

This technique is common in concurrent computing, where sequential computational tasks are processed in an overlapping time frame. Common examples of speculative execution include branch prediction in CPUs and optimistic concurrency control in database systems.

Speculative execution can provide massive increases in performance, but may also present security threats. Specifically, as implemented by Intel, speculative execution is the cause of the Meltdown CPU vulnerability.

CPU terms