2

I am working on an algorithm which subdivides a large data problem and performs work on it across many nodes. The local solution to each subdivision of the problem can be modified to match a global solution if each subdivision knows a limited amount of information about the subdivisions around it.

This can be achieved through a fixed number of communications between each subdivision, allowing for a nearly embarrassingly parallel solution.

An up-shot, however, is that, were the problem performed on a single core, each piece of data would only need to be loaded a fixed number of times, regardless of the size of the problem, to reach a solution.

Thus, the algorithm parallelizes nicely, allowing for fast solutions on supercomputers where there are sufficient nodes to hold all of the data in memory at once, but also permits very large datasets to be processed with limited resources by loading data from the disk a fixed number of times.

Is there a standard word or phrase which denotes such an algorithm that has this property?

Richard
  • 56,349
  • 34
  • 180
  • 251
  • 1
    Embarrassingly parallel? – David Eisenstat Apr 20 '16 at 02:03
  • @DavidEisenstat: It's a [common term](https://en.wikipedia.org/wiki/Embarrassingly_parallel) for a problem that can divided into parallel workloads without the need for any communication between the loads or processing to reduce/combine the results. – Richard Apr 20 '16 at 06:47
  • @DavidEisenstat: Other terms for it are "perfectly parallel" and "pleasingly parallel". Incidentally, though I do not mind clarifying, I feel that you could have taken a moment to Google this before asking that question. – Richard Apr 20 '16 at 06:54
  • 2
    Your description sounds a lot like *domain decomposition*. I personally tend to use the term more loosely in the sense of [*data partitioning* / *data parallelism*](https://computing.llnl.gov/tutorials/parallel_comp/#DesignPartitioning). Now add a *halo exchange*. Depending on your actual algorithm it may even be a *domain decomposition* in the mathematical sense. – Zulan Apr 20 '16 at 07:40

1 Answers1

1

The theoretical description of your problem might be that its complexity lies in NC, and particularly a very-low-order subset of NC where c = 0 and k = 1

Phil Miller
  • 36,389
  • 13
  • 67
  • 90