Patent ID: 8037283

Claim:
A multi-core stream processing system comprising: a number (N) of stream processing units, where N≧2; a number (N+1) of stream fetching units, a first one of which is adapted to fetch a stream element from an external device; and a scheduler coupled to said stream processing units and said stream fetching units, and controlling second to (N+1) th ones of said stream fetching units so that each of the second to (N+1) th ones of said stream fetching units fetches a stream element from a source one of said stream processing units; wherein, when said scheduler receives the stream element from a P th one of said stream fetching units, said scheduler determines whether a P th one of said stream processing units encounters a bottleneck condition, assigns the P th one of said stream processing units as a target one of said stream processing units when the P th one of said stream processing units does not encounter the bottleneck condition, finds a Q th one of said stream processing units that does not encounter the bottleneck condition, and assigns the Q th one of said stream processing units as the target one of said stream processing units when the P th one of said stream processing units encounters the bottleneck condition, where 1≦P≦N, 1≦Q≦N, and P≠Q, and dispatches the stream element received thereby to the target one of said stream processing units such that the target one of said stream processing units processes the stream element dispatched from said scheduler.