Dear Jed
I'm not really sure what it is you're asking (that's on me, still a rookie in the field), but I'll try to describe what I've done:
Each process is assigned an indexed subset of the tasks (the tasks are of constant size), and, for each task index, the relevant data is scattered as a SEQVEC to the process (this is done for all processes in each step, using an adaption of the code in Matt's link). This way each process only receives just the data it needs to complete the task. While I'm currently working with very moderate size data sets I'll eventually need to handle something rather more massive, so I want to economize memory where possible and give each process only the data it needs.
Med venlig hilsen / Best regards
Peder