1. A distributed system configured to process atomic transactions within the distributed system, the distributed system comprising: a plurality of participants in an atomic transaction, each of the plurality of participants residing on a node of a computer system; a coordinator residing on a first node of the computer system; and a distributor residing on a second node of the computer system; wherein the coordinator is configured to: receive votes directly from the plurality of participants; determine whether a majority of votes have been received from the plurality of participants; communicate a decision related to the atomic transaction to each of the plurality of participants, the decision based on whether a majority of votes have been received; wherein the distributor is configured to: receive votes directly from the plurality of participants; determine whether a majority of votes have been received from the plurality of participants; communicate a decision related to the atomic transaction to each of the plurality of participants, the decision based on whether a majority of votes have been received; and wherein each of the plurality of participants is configured to: receive a request related to the atomic transaction; send a vote to a recipient, the recipient comprising one of the coordinator and the distributor; receive either the decision related to the atomic transaction from the coordinator or the decision related to the atomic transaction from the distributor; and commit or abort the request based on the received decision; and wherein each of the votes comprises an indication that its sender will accept a decision of a recipient of whether to commit or abort the atomic transaction, the recipient comprising one of the coordinator and the distributor, wherein at least one of the plurality of participants sends to the distributor an indication that the at least one of the plurality of participants will accept a decision of the coordinator of whether to commit or abort the atomic transaction.