This is a good change, but it's kind of unfortunate to need this much extra communication for every created SharedArray. It would be better to cache `getipaddr` for each worker, or just remember which ones are local.