Efficient pipeline parallelism using frame shared memory
First Claim
Patent Images
1. A computer system comprising:
- a multi-core processor including a plurality of processing cores;
andmemory communicably coupled with the multi-core processor, wherein the memory stores a plurality of instructions that, when executed by the multi-core processor, cause the multi-core processor to;
allocate a shared memory portion of the memory, wherein the shared memory portion is accessible from kernel space and user space contexts of execution;
process a frame in at least a first stage running in kernel space and a second stage running in user space; and
associate the first and second stages with a point-to-point communication mechanism that allows the first stage and the second stage to exchange data related to the frame through mutual access to the shared memory portion of the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A systems and methods are disclosed that provide an efficient parallel pipeline for data processing using a multi-core processor. Embodiments allocate a shared memory portion of the memory that is accessible from more than one context of execution and/or process a frame in a plurality of processing stages processed by a context of execution. In some embodiments, each of the plurality of processing stages may be bound to a processing core of the multi-core processor. In other embodiments include one or more processing stages with a point-to-point communication mechanism that operates in shared memory.
7 Citations
21 Claims
-
1. A computer system comprising:
-
a multi-core processor including a plurality of processing cores; and memory communicably coupled with the multi-core processor, wherein the memory stores a plurality of instructions that, when executed by the multi-core processor, cause the multi-core processor to; allocate a shared memory portion of the memory, wherein the shared memory portion is accessible from kernel space and user space contexts of execution; process a frame in at least a first stage running in kernel space and a second stage running in user space; and associate the first and second stages with a point-to-point communication mechanism that allows the first stage and the second stage to exchange data related to the frame through mutual access to the shared memory portion of the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for establishing parallel frame processing, the method comprising:
-
receiving a plurality of frames at a multi-core processor that operates kernel space and user space contexts of execution; segmenting frame processing into at least a first stage running in kernel space and a second stage running in user space; and associating the first and second stages with a point-to-point communication mechanism, wherein the point-to-point communication mechanism allows the first stage and the second stage to exchange data related to the plurality of frames through mutual access to a shared memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for sequentially processing a plurality of frames comprising:
-
receiving a first frame at a multi-core processor; placing the first frame in a shared memory of the multi-core processor; processing by a first processing core of the multi-core processor the first frame according to at least a first processing stage in kernel space during a first time period, the first processing stage accessing data related to the first frame from the shared memory; receiving a second frame at the multi-core processor; placing the second frame in the shared memory; processing by a second processing core of the multi-core processor the first frame according to at least a second processing stage in user space during a second time period that is different than the first time period, the first and second stages exchanging data related to the first frame through mutual access to the shared memory; and processing by the first processing core of the multi-core processor the second frame according to the first processing stage in kernel space during the second time period, the first processing stage accessing data related to the second frame from the shared memory. - View Dependent Claims (21)
-
Specification