Exploiting Tournament Selection for Efficient Parallel Genetic Programming