Architectural techniques for memory oversight in multiprocessors