CRL: high-performance all-software distributed shared memoryThe impact of communication locality on large-scale multiprocessor performance