Skip to content

Excess memory footprint for distributed CoGAPS #160

Description

@dimalvovs

The distributed version is sending a copy of the whole dataset to each parallel worker:

callInternalCoGAPS <- function(data, allParams, uncertainty, subsetIndices,

and the lapply loop:

callInternalCoGAPS(data, allParams, uncertainty, sets[[i]], i)

On slurm servers this ends up with a out-of-memory error:

slurmstepd: error: Detected 3 oom_kill events in StepId=19656397.batch. Some of the step tasks have been OOM Killed.

Let's subset the data for each worker to reduce the memory footprint.

However, there is an important exception: If data is a file path (character string), only the filename is sent to each worker, and each worker reads from the same file. So for file-based inputs we may want to add row/column range parameters to cogaps_from_file_cpp so workers read only their subset directly from disk.

Uncertainty also needs to be subset if it's provided.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions