First, let us consider the case of a simple [[process graph]] which is a [[tree (data structure)|tree]]. A distributed computation which is tree-structured is not uncommon. Such a process graph may arise when the computation is strictly a [[Divide and conquer algorithm|divide-and-conquer]] type. A [[node (networking)|node]] starts the computation and divides the problem in two (or more, usually, a multiple of 2) roughly equal parts and distribute those parts to other processors. This process continues recursively until the problems are of sufficiently small size to solve in a single processor.