1. A method comprising: connecting a host computer to a cluster of storage servers attached to storage devices, the host computer having a byte addressable persistent memory configured as a software transactional memory (STM) system to store data in a region of the persistent memory as a transaction; organizing the storage devices attached to the storage servers as a replication group for the region; changing the data of the region at a byte-addressable granularity; selecting a storage device of the replication group to receive the changed data; apportioning an address space of the region into a number of equivalence classes defined by a predetermined number of high bits of a multi-bit memory address; defining a storage subspace of each equivalence class by a predetermined number of the storage devices; assigning the storage subspace of each equivalence class to the storage devices of the replication group; forwarding the changed data as a splinter associated with the transaction to the selected storage device of the replication group for the region, the splinter including a base memory address of the changed data within the region, a length of the changed data and a string of bytes of the changed data; and storing the changed data on the selected storage device to replicate the changed data at the byte-addressable granularity.