Toolchain integration of runtime variability and aging awareness in multicore platforms