Patent ID: 8621184

Claim:
A method for data processing in a producer-consumer environment on a multi-core processor system, comprising: executing a producer-consumer pair of processes at the multi-core processor system; executing a producer process of the producer-consumer pair on a first processing core of the multi-core processor system to produce data elements, wherein a first portion of the data elements is cached in a first cache of the first processing core that references data in a memory shared by the producer-consumer pair; in response to producing the first portion of the data elements cached in the first cache by the producer process of the producer-consumer pair, scheduling a consumer process of the producer-consumer pair to execute on the first processing core and executing the consumer process on the first processing core to consume the first portion of the data elements cached at the first processing core; moving the producer process to execute on a second processing core of the multi-core system to produce a second portion of the data elements, wherein the second portion of the data elements are cached in a second cache of the second processing core; and in response to producing the second portion of the data elements cached in the second cache, scheduling the consumer process to execute on the second processing core and executing the consumer process on the second processing core to consume the second portion of the data elements cached at the second processing core.