Patent ID: 8607243

Claim:
A parallel computing data processing system configured for dynamic optimization of thread assignments for application workloads in a simultaneous multi-threading (SMT) computing environment, the system comprising: a host server comprising memory and at least one processor; an SMT computing environment executing in the memory of the host server and supporting execution of different workloads in correspondingly different processor cores hosting different threads accessible in a thread pool; a characterization module comprising program code executing in the memory of the host server, the program code of the characterization module monitoring and periodically recording an operational status of the different processor cores and corresponding threads and also operational characteristics of the different workloads, wherein the operational characteristics include a number of clock ticks consumed by a corresponding one of the workloads, a higher number of clock ticks indicating a higher degree of activity, and a measurement of cycles per instruction (CPI) consumed by a corresponding one of the workloads and a variance in measurements of CPI consumed by the corresponding one of the workloads over time, a lower variance indicating greater operational stability; and an optimization module comprising program code executing in the memory of the host server, the program code of the optimization module identifying by way of the recorded operational characteristics of the different workloads a particular one of the workloads demonstrating both operational stability and a threshold level of activity, matching a recorded operational characteristic of the particular one of the workloads to a recorded status of a processor core best able amongst the different processor cores to host execution in one or more of the threads the particular one of the workloads, and directing the matched processor core to host execution of the particular one of the workloads.