For the computational time variation, I would investigate whether the computer scheduler is giving you *exclusive* access to a node, or whether you are sharing nodes with other users.
For example, if you have 40-core nodes and you ask for 40 cores, you would probably want to be given a whole node; however, if 20 cores are free on one node and 20 cores free on a different node, the scheduler may decide to spread your calculation over those two nodes.
For example, if you have 40-core nodes and you ask for 40 cores, you would probably want to be given a whole node; however, if 20 cores are free on one node and 20 cores free on a different node, the scheduler may decide to spread your calculation over those two nodes.