1. A method of operating a high performance computing cluster, comprising: monitoring communication between threads assigned to multiple processors, wherein the high performance computing cluster includes multiple nodes that each include two or more of the multiple processors; and moving one or more of the threads to a different one of the multiple processors based on the communication between the threads.