Multi-threaded, lockless data parallelization
US9378059B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Oct 18, 2013 |
| Grant date | Jun 28, 2016 |
| Priority date | — |
| Expiry date | Oct 18, 2033 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F16/2228
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
In general, techniques are described for parallelizing a high-volume data stream using a data structure that enables lockless access by a multi-threaded application. In some examples, a multi-core computing system includes an application that concurrently executes multiple threads on cores of the system. The multiple threads include one or more send threads each associated with a different lockless data structure that each includes both a circular buffer and a queue. One or more receive threads serially retrieve incoming data from a data stream or input buffer, copy data blocks to one of the circular buffers, and push metadata for the copied data blocks to the queue. Each of the various send threads, concurrent to the operation of the receive threads, dequeues the next metadata from its associated queue, reads respective blocks of data from its associated circular buffers based on metadata information, and offloads the block to a server.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.