Map-reduce scenarios

Often, an embarrassingly parallel computation can be abstracted to three simple steps:

  • a preparation phase in which the data is split up into smaller, more manageable chuncks;
  • on these chuncks, the same algorithm is applied independently (these are the work items); and
  • the results of the computations on those chuncks are aggregated into, e.g., a statistical description of some sort.

The Worker-ng framework does not directly supports this scenario since it is easily implemented using job dependencies which are support by most schedulers, including Slurm.