Implementing Message-Passing and Network Virtualization on Closely Coupled Distributed Architectures