×

Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications

  • US 9,384,042 B2
  • Filed: 12/16/2008
  • Issued: 07/05/2016
  • Est. Priority Date: 12/16/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method of operating a high performance computing cluster that includes multiple nodes that each include multiple processors and monitoring hardware, the method comprising:

  • monitoring, by the monitoring hardware, communication between a plurality of threads assigned to the multiple processors;

    periodically broadcasting, by the monitoring hardware, information, related to a level of processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes;

    updating, by the monitoring hardware, respective local job tables maintained in each of the multiple nodes based on the broadcast information; and

    reassigning, by the monitoring hardware, based on the broadcast information in the respective local job tables, at least one of the one or more threads to a different one of the multiple processors such that threads of a job complete at substantially the same time, wherein the reassigning includes;

    cracking one of the threads that is executing on a first processor, included in the multiple processors, into at least two secondary threads based on a first workload of the first processor;

    moving one of the at least two secondary threads to a second processor, included in the multiple processors, based on a second workload of the second processor; and

    moving identified threads of the plurality of threads that communicate above a threshold level to identified processors of the multiple processors that are located physically closer to each other than processors of the multiple processors that previously executed the identified threads.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×