The document discusses frameworks for optimizing network-on-chip (NoC) based multi-core computing systems during both design-time and run-time. It presents algorithms and heuristics to optimize metrics like power, energy, temperature and performance during design-time for 2D and 3D NoC layouts. Additionally, it proposes run-time frameworks to adapt operating systems based on circuit characteristics of multi-core systems in order to simultaneously manage constraints imposed by dark silicon, process variations, soft errors and reliability over the system's lifetime. The frameworks aim to efficiently produce feasible and optimized design solutions that provide better overall optimality while considering multiple relevant optimization metrics for modern chip design.