Self-Adaptive Fault Tolerance in Multi-/Many-Core Systems