Update attributes of the step at runtime before calling the run() method. The most common reason to override this method is to determine the number of cores and threads to run with. It may also be useful for performing small (python) tasks such as creating graph and partition files before running a parallel command. When running with parallel tasks in the future, this method will be called for each step in serial before steps are run in task parallel.