A method for applying ordering to transactions in a software transactional memory system comprising the steps of: providing a software transactional memory system; providing (244; 272) one or more commit arbitrators to allow a pre-determined commit order to be specified for a plurality of transactions, each commit arbitrator managing a group of transactions; and using the pre-determined commit order at runtime to aid in determining an order in which to commit the plurality of transactions in the software transactional memory system, wherein the one or more commit arbitrators track one or more ordering values for the pre-determined commit order, and wherein when a particular transaction of the plurality of transactions prepares to commit, comparing the one or more ordering values to an ordering value for the particular transaction to determine if the particular transaction can commit; providing a contention management process that is invoked when a conflict occurs between a first transaction and a second transaction; and using the pre-determined commit order in the contention management process to aid in determining whether the first transaction or the second transaction should win the conflict and be allowed to proceed, wherein if the contention management process determines that the first transaction and the second transaction are part of a same transaction group, then a first order number field representing the first transaction and a second order number field representing the second transaction are compared, and a particular transaction of the first transaction and the second transaction that has a lower respective order number is allowed to proceed, and if the contention management process determines that the first transaction and the second transaction are not part of a same transaction group, then a pre-determined commit order is not enforced between those two transactions. providing a software transactional memory system; providing (244; 272) one or more commit arbitrators to allow a pre-determined commit order to be specified for a plurality of transactions, each commit arbitrator managing a group of transactions; and using the pre-determined commit order at runtime to aid in determining an order in which to commit the plurality of transactions in the software transactional memory system, wherein the one or more commit arbitrators track one or more ordering values for the pre-determined commit order, and wherein when a particular transaction of the plurality of transactions prepares to commit, comparing the one or more ordering values to an ordering value for the particular transaction to determine if the particular transaction can commit; providing a contention management process that is invoked when a conflict occurs between a first transaction and a second transaction; and using the pre-determined commit order in the contention management process to aid in determining whether the first transaction or the second transaction should win the conflict and be allowed to proceed, wherein if the contention management process determines that the first transaction and the second transaction are part of a same transaction group, then a first order number field representing the first transaction and a second order number field representing the second transaction are compared, and a particular transaction of the first transaction and the second transaction that has a lower respective order number is allowed to proceed, and if the contention management process determines that the first transaction and the second transaction are not part of a same transaction group, then a pre-determined commit order is not enforced between those two transactions.