Patent ID: 8051276

Claim:
A system for scheduling threads for optimal heat dissipation, comprising: a plurality of cores located on a processor chip, the plurality of cores operable to execute one or more threads; a plurality of temperature sensors placed throughout the processor chip in a plurality of areas of the processor chip, the plurality of temperature sensors operable to provide temperature information associated respectively with the plurality of areas on the processor chip; one or more registers operable to store the temperature information associated respectively with the plurality of areas on the processor chip; and a thread scheduler operable to schedule one or more threads on one or more of the plurality of cores based on the temperature information, wherein the thread scheduler further arranges a predetermined thread for execution on one core initially, keeps track of heat being generated by the predetermined thread, moves the predetermined thread to another core to dissipate heat being generated by the predetermined thread, the predetermined thread having been determined based on heat generating information of the predetermined thread, the heat generating information of the predetermined thread having been pre-evaluated by looking up temperatures of areas including areas outside the one or more cores, where one or more buses and cache affected by execution of the predetermined thread are located before running the predetermined thread and after running the predetermined thread for a period of time and determining the differences in the temperatures of before and after running the predetermined thread, the thread scheduler further identifying a portion in a non-uniform cache architecture the predetermined thread is utilizing and identifying a core that is nearer to the portion in the non-uniform cache architecture than one or more other cores of the plurality of cores, and placing the predetermined thread on the identified core that is nearer to the portion in a non-uniform cache architecture in order to minimize heat generated by data transport.