Looking for terminology / what terms to google for:
In some languages or libraries you can run a loop or closure over an array or list in parallel, just by specifying parallel execution (sure, some preconditions must me met for that to work). Some libraries have sophisticated ways of how to distribute execution over available cores, either with some heuristics or by giving you parameters to configure that.
If I want to do that for hierarchical data structures, are there any well-known algorithms that help with distributing the load across cores based on the run-time structure of the tree data structure?
I think map/reduce would be an example…? If so, are there other ones?
Also interested (but not exclusively) in any connections to math. I think I'm talking about applicative functors here…?
I'm basically looking for the parts of the algorithm that takes care of breaking the problem into parts and then later on combining it back together into a single result. Often you end up with a tree-like structure, but it comes from the algorithm, but what if the source data structure already has a hierarchical structure?
waves hands frantically to compensate for insufficient description