Data Parallelism
In this approach, we must determine how large amounts of
data can be split up. In other words, we need to identify
small chunks of data which require similar processing.
These chunks of data are than assigned to different sites
where they can be processed.
The same executable could be running on each processing
site, but each processing site would have different datasets.
It is possible to have different execution paths for the different processing sites.