I think there's a language gap here, in colloquial English saying "two things in parallel" means they happen at the same time but does not imply anything about when the events start or end. A big mistake among programmers is that "concurrent" and "parallel" are often synonyms in colloquial English while they have more formal definitions in computer science.
> That said I have trouble finding resources on structured and unstructured parallel processes
Because you're searching the wrong thing, you should be looking up sources for parallelism in the context of structured programming, specifically structured concurrency. Googling for "structured concurrency" "structured parallel programming" has plenty of results. In multithreaded code the data structure is sometimes called a "scoped thread."
To be perfectly clear: structured concurrency/scoped threads do not require that the start/end of tasks are equal. They only allow you to rely on the semantics of them starting/ending when structuring a program, which may include that constraint, but does not explicitly refer to it.
> That said I have trouble finding resources on structured and unstructured parallel processes
Because you're searching the wrong thing, you should be looking up sources for parallelism in the context of structured programming, specifically structured concurrency. Googling for "structured concurrency" "structured parallel programming" has plenty of results. In multithreaded code the data structure is sometimes called a "scoped thread."
To be perfectly clear: structured concurrency/scoped threads do not require that the start/end of tasks are equal. They only allow you to rely on the semantics of them starting/ending when structuring a program, which may include that constraint, but does not explicitly refer to it.