Automatic runtime customization for variability awareness on multicore platforms