shy-refrigerator-15055
05/26/2023, 2:01 PMforeach step that spawns 20 or so workers.
• Each worker gets a ~11GB file from S3 with s3.get() and does some (quick) computation on it.
• Some workers finish near-instantly, the others run perpetually (>1h instead of 10 seconds).
• Any new flows are stuck in "Starting", then timeout after four minutes.
My theory is that workers are competing for the 100GB disk space from the launch template and deadlock while waiting for disk space to free up during the s3.get() call. Is this a likely cause? If so, is there a good way to avoid this situation, aside from preventing the root cause (downloading large files at the start of foreach-ed steps)?victorious-lawyer-58417
05/26/2023, 6:22 PMvictorious-lawyer-58417
05/26/2023, 6:23 PMvictorious-lawyer-58417
05/26/2023, 6:24 PMrun , maybe setting --max-workers=1 (or other low number) so it doesn't overload your local workstation?victorious-lawyer-58417
05/26/2023, 6:25 PM@batch, clearly it is something related to remote tasksvictorious-lawyer-58417
05/26/2023, 6:28 PM@batch, another thing you can try is to use the new `@batch(use_tmpfs=True)` feature as memory-backed disk space instead of local disks. You'd need to add enough memory (maybe @resources(memory=20000) or more if the file is 11GB) to test it
you don't need a custom launch template to use the option, which is a bonus.victorious-lawyer-58417
05/26/2023, 6:29 PMtmpfs without a launch template, it helps to triage the issue to something related to the templateshy-refrigerator-15055
05/30/2023, 3:11 PMtmpfs would almost certainly solve this problem but be prohibitively expensive for this particular problem.
I'll try and make a minimal working example for this and update here shortly - I'm not sure how common this scenario actually is (in our workflows or otherwise), but if the outcome is reproducible, it has pretty nasty results.victorious-lawyer-58417
05/30/2023, 4:05 PMvictorious-lawyer-58417
05/30/2023, 4:06 PMvictorious-lawyer-58417
06/01/2023, 3:55 PM