1. A multi-core processor system that includes a plurality of cores one of which is configured to execute a process comprising: determining whether a task to be synchronized with a given task is present; identifying among the cores and upon determining that a task to be synchronized with the given task is present, a first core excluding cores to which a non-synchronous task that is not synchronized with another task has been assigned, and identifying among the cores and upon determining that a task to be synchronized with the given task is not present, a second core excluding cores to which a synchronous task to be synchronized with another task has been assigned; sending to the identified first or second core, an instruction to start the given task; and migrating a task assigned to a pre-migration core to a post-migration core after the identifying, wherein the identifying includes, upon determining that a task to be synchronized with the given task is present and not identifying the first core, identifying among the cores, a group of cores to which non-synchronous tasks have been assigned, the migrating includes migrating a non-synchronous task assigned to a third core among the identified group of cores to another core among the identified group of cores excluding the third core, and the sending includes, after the non-synchronous task assigned to the third core is migrated to another core, sending to the third core, the instruction to start the given task.