Energy-efficient task allocation and scheduling for multi-mode MPSoCs under lifetime reliability constraint