Single Program, Multiple Data
- We split tasks of a single program and simultaneously run on multiple processors
- Each processor know what tasks should they do by their thread id. They’ll only execute the tasks that the program specify to this thread id