high performance analytics achieved by breaking the processing into smaller units of work that can be run parallel across the hundreds and potentially thousands of nodes in the cluster
running multiple task simultaneously: establishing criteria that determine when a task is performed, synchronization among tasks to coordinate sharing, and allocation of computing resources
when a processor executes more than one instruction at a time and works well with today's multi-core microprocessors