Translations:Best practices for job submission/15/en

From Alliance Doc
Jump to navigation Jump to search
  • If the program can run in parallel, the next question is what number of cores to use?
    • Many of the programming techniques used to allow a program to run in parallel assume the existence of a shared memory environment, i.e. multiple cores can be used but they must all be located on the same node. In this case, the maximum number of cores available on a single node provides a ceiling for the number of cores you can use.
    • It may be tempting to simply request "as many cores as possible", but this is often not the wisest approach. Just as having too many cooks trying to work together in a small kitchen to prepare a single meal can lead to chaos, so too adding an excessive number of CPU cores can have the perverse effect of slowing down a program.
    • To choose the optimal number of CPU cores, you need to study the software's scalability.