computers understanding how to divide tasks into parts that can be distributed across each core; allows multicore processors to be used effectively
running multiple task simultaneously: establishing criteria that determine when a task is performed, synchronization among tasks to coordinate sharing, and allocation of computing resources
each processor works together to complete a job faster than with a single processor on a single task (multiprocessing)