GLnexus process killed before completion

Post author
Kyler Anderson

Hello,

I've been trying for several days to run glnexus and the process keeps getting killed. It typically reports that it found "Killed" in the stderr and calls it as out of memory; that supposition becomes absurd as I trim the samples down from 3000 to 100 and each is roughly 1 Mb compressed (<sample>.vcf.gz). The workspace and workflow are here, I've shared it to support. It's a very simple workflow, I've made a few small revisions trying to get it to work, and I've tabulated the runtime attributes I've used. It does retry, though I didn't think it was configured to do so, using the preemptible count. The longest attempt I've seen is around 90 minutes for 3k. 

samples mem (Gb) cpus disk (Gb)
3k 64 16 1000
3k 64 " 1000
3k 64 " 3000
5 hundred 64 " 3000
5h 256 " 3000
5h 256 " 3000
5h 16 " 200
1h 64 " 400
1h 64 " 400
1h 64 " 400
1h 64 " 400
5h 64 " 400
5h 256 " 2000
1h 64 " 1000
1h 256 32 1000 ssd

Comments

3 comments

  • Comment author
    Samantha (she/her)

    Hi Kyler Anderson,

    It looks like the failure is indeed due to insufficient memory. The issue is that you are not specifying a unit of memory, so the default is just bytes, rather than GB. 

    As you can see in the compute details of the most recently failed workflow, the memory that was allocated was less than 1 GB, while the amount you requested was "256":

    To resolve this, you'll need to update the memory runtime attribute to include the appropriate unit:

    memory: memory + " GB"

    Best,

    Samantha

    0
  • Comment author
    Kyler Anderson

    So this documentation here, which says that for memory:

    "Google Cloud interprets this as the minimum amount of memory to use. If you request more CPUs than makes sense for your memory request, Google automatically bumps up to the appropriate amount of memory. Example: You cannot request 8 CPUs and 1 GB memory, since each CPU needs between 1-6.5 GB of memory."

    Is not true?

    0
  • Comment author
    Samantha (she/her)

    Hi Kyler Anderson,

    That statement is still true. The issue is that you are not actually providing a CPU runtime attribute due to a typo, so it's using the default of 1 CPU. The correct runtime attribute is cpu, rather than cpus, which is what you have in your WDL.

    Best,

    Samantha

    0

Please sign in to leave a comment.