Supporting multiple data replication models in distributed transactional memory