Parallelization and Programming Models