Emulating shared memory to simplify distributed-memory programming | IEEE Journals & Magazine | IEEE Xplore