For these reasons , newer generations of computers have started to utilize higher levels of parallelism that exist outside of a single program or program thread . For these reasons , newer generations of computers have started to exploit higher levels of parallelism that exist outside of a single program or program thread .