Эффективное разбиение большой задачи на независимые маленькие – основа параллельного программирования.
Попробуйте дать определение следующим терминам: recursive decomposition, data decomposition, functional decomposition, exploratory decomposition и speculative decomposition. Если возникли трудности – читайте How-to Split a Problem into Tasks. Статья особенно интересна людям с опытом функционального программирования.