Exploiting multiprocessors