  The generalized method to have a parallel solution to a computational
problem, is to find a way to use Divide & Conquer paradigm in order to have
processors acting on its own data and therefore all can be scheduled in
parallel. MapReduce is an example of this approach: Input data is transformed
by the mappers, in order to feed the reducers that can run in parallel. In
general this schema gives efficient problem solutions, but it stops being true
when the replication factor grows. We present another program schema that is
useful for describing problem solutions, that can exploit dynamic pipeline
parallelism without having to deal with replica- tion factors. We present the
schema in an example: counting triangles in graphs, in particular when the
graph do not fit in memory. We describe the solution in NiMo, a graphical
programming language that implements the implicitly functional parallel data ow
model of computation. The solution obtained using NiMo, is architecture
agnostic and can be deployed in any parallel/distributed architecture adapting
dynamically the processor usage to input characteristics.
