Design Issues In Distributed Shared Memory