Separating data and control transfer in distributed operating systems | Synapse