# Transitive relation's effect on scheduling parallel tasks

Assume we have a program that consists of different subprograms. Each subprogram has an input and an output, some subprograms' inputs can be other subprograms' outputs. We are able to use several processors to process the subprograms in parallel (each processor can process only 1 subprogram). The question is to describe this in terms of relations and how this relation helps with scheduling the subprograms.

For the first thought, I think this is all to do with transitive relations between the subprograms. But I'm not pretty sure about the explanation of how this relation helps with scheduling the subprograms.

I'm happy to discuss.

-
Write the relation $A < B$ if subprogram $B$ can't start until subprogram $A$ finishes (e.g. because program $A$'s output is an input to program $B$).