The hardware/software co-design is the meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design, and the components of the co-design problem are the specifications, the scheduling and hardware/software partitioning using parallel processing systems including Multiprocessor system-on-chip (MPSoCs). Parallel processing is a promising approach to meet the computational requirements or to enhance the ef ciency of solving emerging applications. However, it poses a number of problems which are not encountered in sequential processing including designing a parallel algorithm for the application, partitioning of the application into tasks, coordinating communication and synchronization, and scheduling of the tasks onto the machine.