1. A computer-readable storage medium storing computer-executable instructions for controlling a computer system including a processing operation for a concurrent program including a plurality of threads, wherein at least one of the plurality of threads includes an atomic transaction having a side-effecting action, the computer-executable instructions comprising: a transactional memory configured to control access of the plurality of threads to a shared memory; a first resource manager configured to enlist in the atomic transaction and manage a resource related to the side effecting action; a second resource manager configured to enlist in the atomic transaction and manage the transaction memory; and a transaction manager coupled to the first and second resource managers, wherein the transaction manager is configured to receive a vote from the first and second resource managers as to whether to commit the transaction, and wherein the side-effecting action is at least one of postponed until after the transaction commits and applied along with a compensating action to the side-effecting action.