Approaches for Hardware Fault Mitigation in Multicore Processors: Resilient systems with unreliable devices