One workflow per one busness object which is logically linked with N objects
Workflow which are related to these business objects can start independently, no order guaranty
Try to explain on example. Eg you are development company who is building houses on streets. You can build them in parallel, once you finish. You need to send documentation to some processing center. This center processing one document per house from one street =) Hope my explanation is understandable
Actually as I said above workflows are processing business objects. Our goal to process one business object per sset of logically linked business objects.
I would recommend creating a workflow per resource that needs to be sequenced. Then this workflow would receive requests in the form of signals and execute them one by one. Once processing is done then it is going to reply to the original requester child workflow using a signal as well.
This pattern applies to multiple situations. For example, you can use it to ensure that only one deployment per rack is happening.