MTOOL: A Method for Isolating Memory Bottlenecks in Shared Memory Multiprocessor Programs