Concurrency control in distributed and parallel applications has been studied for many years but is still an ongoing research topic. Transactional memory addresses this challenge for multicore processors by proposing to execute critical sections as restartable transactions combined with optimistic synchronization. Thus the programmer has not to reason about complex lock management and deadlocks. We believe that some of these ideas are also useful for distributed systems. Therefore, we are developing the Object Sharing Service (OSS) providing transparent data sharing for clusters and grids. OSS supports different consistency models for replica management within one application. In this paper we present the design and implementation of different transaction commit protocols for supporting transactional consistency. The main challenge of the resulting distributed transactional memory (DTM) is how to mask network latency allowing to commit transactions fast. Experiments with synthetic micro benchmarks and a MapReduce application on the Grid'5000 platform show that a DTM is efficiently providing strong consistency for shared data.