1. A computer-readable storage medium storing a transaction processing system 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 transaction processing system 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 non-memory resource related to the side effecting action; a second resource manager configured to enlist in the atomic transaction and manage the transactional 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 atomic transaction, and configured to control the atomic transaction to include one of the following: postpone the side-effecting action until after the atomic transaction commits; and apply the side-effecting action along with a compensating action to the side-effecting action, wherein the second resource manager votes to commit depending on whether a memory collision occurred during the atomic transaction.