Customer-Aware Task Allocation and Scheduling for Multi-Mode MPSoCs