Fault-tolerant average execution time optimization for general-purpose multi-processor system-on-chips