1. A multiprocessor system comprising: a processor array composed of three or more processors that are arranged in a matrix and communicating with each other, wherein each pair of adjacent processors in the matrix are connected to each other such that the adjacent processors can communicate with each other without performing a routing process for any other processors in the matrix, and each respective processor of the three or more processors in the matrix is connected to a processor that is not adjacent to the respective processor such that the respective processor and the processor that is not adjacent to the respective processor can communicate with each other by performing a routing process for at least one of the processors that are adjacent to the respective processor; and a task management unit operable to select three or more of said processors of the processor array as respective three or more task-assigned processors for processing a group of tasks, and determine an amount of tasks to be assigned to each of the said task-assigned processors based on a number of processors adjacent in the matrix to that task-assigned processor, wherein the three or more task-assigned processors includes a first task-assigned processor and a second task-assigned processor, the task management unit determines the amount of tasks to be assigned to each of said task-assigned processors based on a number of adjacent task-assigned processors in the matrix to the respective said task-assigned processors, wherein an amount of tasks assigned to the first task-assigned processor is larger than an amount of tasks assigned to the second task-assigned processor when a number of task-assigned processors adjacent in the matrix to the first task-assigned processor is greater than a number of task-assigned processors adjacent in the matrix to the second task-assigned processor, and the task management unit assigns tasks to each of said task-assigned processors according to the determining.