As the transistor dimensions shrink, more devices are integrated per unit area, driving up power consumption and heat dissipation of a chip on a per unit area basis. A software program executing on a processor can be tailored to create a thermal hot spot on a specific area of a chip. Performance of CMOS circuits depends on temperature. Large temperature differentials caused by hot spots often result in functional failures due to signal race introduced by such changes in temperature. Hot spots also cause long term reliability problems. In this proposal, we are addressing this problem for a multi-core processor by monitoring software execution, measuring the rate of change of temperature as the software executes, predicting potential problems and avoiding them by various intercept methods including voltage and frequency control, suspension, switching thread to a different core etc. The monitoring process executes on the same multi-core processors and is hidden from operating systems or applications. This scheme of monitoring and adapting the hardware