Patent ID: 7171666

Claim:
In multiprocessing, which is performed by using a plurality of processor modules, each of the plurality of processor modules including a cache memory and a plurality of processors sharing the cache memory, a method of allocating a task to each processor comprising the steps of: monitoring access conditions of respective tasks to data shared among cache memories in the processor modules; and allocating tasks that make frequent accesses to the same shared data to processors in the same module, on the basis of said access conditions; wherein said step of monitoring access conditions comprises the substeps of: detecting an update to the shared data stored in a cache memory in one of the processor modules, said update causing an invalidation of the shared data stored in the cache memories in the other processor modules; and storing identification information of tasks that caused said invalidation, and an address of the updated data, and the number of invalidations of the same data by the same task; and wherein said step of allocating tasks comprises the substeps of: classifying tasks into groups on the basis of the number of invalidations of the same data; and allocating tasks in the same group to respective processors in the same processor module.