Detecting phases in parallel applications on shared memory architectures | doi.page