To save time, perform-task! should pull the docker image in parallel with pulling the task's input files. These are network and I/O operations, not compute-bound.