Temperature-Aware Design and Management for 3D Multi-Core Architectures