1. A method of assigning tasks to a plurality of queues of a processing core, comprising the steps of: sending, by a source processing core, a new task having an identifier; receiving, by a destination processing core, the new task; determining, by the destination processing core, if another task having the same identifier exists in any of the plurality of queues; assigning, if the another task with the same identifier as the new task exists, the new task to the queue containing a task with the same identifier as the new task; assigning, if the another task with the same identifier as the new task does not exist in the plurality of queues, the new task to the queue with the fewest number of tasks therein; writing, by the source processing core, the new task to the assigned queue; and executing the new task by the destination processing core.