1. A method comprising: executing a plurality of threads in parallel by a plurality of processing cores; identifying a critical thread of the plurality of executing threads based on a performance characteristic associated with the plurality of threads; identifying from among the plurality of threads a first thread to be moved based on the critical thread, the first thread executing on a first processing core of the plurality of processing cores; and moving the first thread, including executing the first thread on a second processing core of the plurality of processing cores in lieu of executing the first thread on the first processing core.