Architectural Support for Large-scale Shared Memory Systems