Supporting Partial Data Replication in Distributed Transactional Memory