1. A method, comprising: initiating, by a computing device, a transaction corresponding to an application, where the transaction comprises operations for accessing data stored in a shared memory, and buffering alterations to the data as speculative alterations to the shared memory; detecting, by the computing device, a transaction abort scenario corresponding to the transaction; in response to determining the transaction is to be aborted without delay based on instructions received from the application regarding the transaction abort scenario, restoring the transaction to an operation prior to accessing the data stored in the shared memory and buffering alterations to the data as speculative alterations to the shared memory.