1. A counterflowing data processing system capable of carrying distinct data elements in two directions, comprising: a set of stages interconnected to form a pipeline; circuitry configured to control the flow of a first group of distinct data elements in a first direction through the set of stages forming the pipeline; circuitry configured to control the flow of a second group of distinct data elements in a second direction through the set of stages forming the pipeline; one stage among the set of stages further including: a dynamic selection circuit configured to determine if a first data element from the first group of distinct data elements and a second data element from the second group of distinct data elements are present at the one stage; and interaction circuitry configured to cause the first data element and the second data element to interact in the one stage when the first data element and the second data element are present in the one stage.