Class FlowNode represents the smallest parallelizable unit of work. It is a child to a {@link cascading.flow.FlowStep} and may have many siblings within the FlowStep.
A FlowNode is commonly executed as one or more slices, where a slice is a JVM executing against a portion of data.
Most slices within a FlowNode are identical, except for the sub-set of data they will be processing against.
But on some platforms, like MapReduce, a slice is executing a single flow pipeline. Thus a FlowNode may consist of some set of pipelines (or pipeline graph). One pipeline per 'streamed' input source Tap.
In a MapReduce model (like Apache Hadoop MapReduce) a FlowNode can by the Map or Reduce side of a job (where a job is a FlowStep).
In a DAG model (like Apache Tez), a FlowNode is a 'vertex', and the 'DAG' is a FlowStep.