Original: operating on the principle that large problems can often be divided into smaller ones , which are then solved concurrently ( '' in parallel '' ) .
Simplified: because concurrency introduces several new classes of potential software bugs , of which race conditions and dead locks are the most common .