A Hardware/Software Co-Design Architecture for Thermal, Power, and Reliability Management in Chip Multiprocessors