CTTA : A Cluster-Based Thermal-Aware Task Allocation Algorithm for 3 D NoC