主权项 |
1. A computer-implemented method of improving thread execution speed within a multi-processor system having at least a first processor and a second processor, each of the processors of the multi-processor system having a plurality of individual cores, the method comprising:
generating a plurality of threads to schedule for execution on the processors; initially assigning at least one thread to a first processor for execution on a core of the first processor; determining a core utilization rate for each of the other threads being scheduled; identifying whether any of the other threads being scheduled has a core utilization rate greater than a pre-established core utilization rate threshold; in response to identifying a specific other thread assigned to the first processor having a core utilization rate that is greater than the pre-established core utilization rate threshold, re-assigning execution of the specific other thread from the first processor to the second processor, whereby the re-assigned other thread is able to execute on the second processor at a greater execution rate than the pre-established core utilization rate threshold; initially setting a timer to track an elapsed time since a thread count has been completed to identify threads being executed above the pre-established core utilization rate threshold; sorting the other threads that have a core utilization rate greater than the pre-established core utilization rate threshold into pairs of a first thread and a second thread; determining if any pair of threads remain to be assigned; in response to there not being any pair of threads remaining to be assigned, determining if the timer has expired; in response to expiration of the timer, re-counting the number of threads above the pre-established core utilization rate threshold; and resetting and restarting the timer to track a next elapsed time. |