Blog: Ranged Computation and Parallelism

Ranged Computation and Parallelism
Ranged Computation and Parallelism
Date: 2018-Dec-17 20:48:04 EST

For awhile I've been interested in mathematics on (mostly continuous) ranges, and thinking about building a software package that makes that easy; today in a "tea and chat with the rest of the scientific centres" informal event we have every week, someone was describing simulations of large numbers of molecules in protein folding, and a use for such a library came into mind. The challenge as described was that it's hard to parallelise such structures because each state strongly depends on the prior states. The idea then would be to bucket the possible ranges of values that come out of each step and use your paralellism to calculate out buckets of further steps (using bucketed mathematical operators), and have a "main thread" that pushes forward through those states determining what actually happens, pruning the speculative branches and their children out, and proceeding down the pre-eased pathways. The challenge being making sure that stepping through that pre-mapped branch is more efficient than direct calculation can be, and/or that the range of buckets "within range" of the current verified path has more value than the broader search space (or some simpler way of getting the narrowing).

Fun set of thoughts. No guarantee the basic idea is useful for anything, but I still like chewing on it. Maybe I should actually make that package. Although perhaps it already exists; I doubt I'm the first person to think of this idea.