TM keeps track the topology of a transaction in a distributed way. Each TM only need to manages its superior and subordinate TMs for each transaction for which there is a participant server process on the TM's host. TM can terminate or fail a transaction in several ways. Participant servers can specify whether their failures causes transaction failure or termination. This allow early resource reclamation for subordinates, while allowing errors to be seen and reported by the superior.
Failure is remembered, and the transaction is aborted when it does terminate.
LM provides several optional log services. The server can tell its LM what services it needs, so that it won't be penalized by services it does not need, nor by services used by other servers. Server decides what recovery strategy to use. The LM does not interpret the data. Server sends an end request to each one-phase participant.