Instruction Level Parallelism (ILP) of applications is typically limited and variant in time, thus during application execution some processor Function Units (FUs) may not be used all the time. Therefore, these idle FUs can to execute replicated instructions, improving reliability. However, existing approaches either schedule instructions based on compiler or consider processors with identical ...