1 Why do we parallelize?
Parallel & distributed processing can be used to:
speed up processing (wall time)
lower memory footprint (per machine)
avoid data transfers (compute where data lives)
other reasons, e.g. asynchronous user interface
We may choose to parallelize on:
Your personal laptop or work desktop computer (single user)
A shared, powerful computer (multiple users)
High-performance compute (HPC) cluster (multiple users) with a job scheduler, e.g. Slurm, Son of Grid Engine (SGE)