A computer readable medium comprising program instructions, wherein the instructions are computer-executable to implement a memory manager configured to coordinate memory access requests specifying data locations within the memory, wherein said coordinating comprises: receiving respective registration requests from a set of two or more transactions, wherein each registration request indicates that a corresponding transaction of the set has requested synchronization on a first shared data object within the memory; recording, within a collaborator record of the first shared data object in the memory, identifications of the two or more transactions of the set; in response to a commit request from a given transaction of the set, determining whether to commit or abort the given transaction based at least in part on transactional states of one or more other transactions of the set, wherein said determining comprises examining the collaborator record to identify the one or more other transactions of the set; and committing or aborting the given transaction according to said determining.