US 11,842,216 B2
Data processing unit for stream processing
Pradeep Sindhu, Los Altos Hills, CA (US); Jean-Marc Frailong, Rancho Mirage, CA (US); Wael Noureddine, Santa Clara, CA (US); Felix A. Marti, San Francisco, CA (US); Deepak Goel, San Jose, CA (US); Rajan Goyal, Saratoga, CA (US); and Bertrand Serlet, Palo Alto, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jul. 27, 2020, as Appl. No. 16/939,617.
Application 16/939,617 is a continuation of application No. 16/031,945, filed on Jul. 10, 2018, granted, now 10,725,825.
Claims priority of provisional application 62/589,427, filed on Nov. 21, 2017.
Claims priority of provisional application 62/559,021, filed on Sep. 15, 2017.
Claims priority of provisional application 62/530,691, filed on Jul. 10, 2017.
Prior Publication US 2020/0356414 A1, Nov. 12, 2020
Int. Cl. G06F 9/50 (2006.01); G06F 15/173 (2006.01)
CPC G06F 9/5027 (2013.01) [G06F 15/17337 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A device comprising:
an integrated circuit comprising:
at least one interface configured to send and receive stream data units,
a plurality of programmable processing cores, and
a plurality of work unit queues, wherein each work unit queue of the plurality of work unit queues is associated with one of the programmable processing cores and configured to store a plurality of work units enqueued for processing on the one of the programmable processing cores, wherein each work unit of the plurality of work units is associated with one or more of the stream data units; and
a run-to-completion data plane operating system configured to execute on at least the one of the programmable processing cores,
wherein the integrated circuit further comprises a queue manager configured to, upon dequeuing the work unit from the work unit queue associated with the one of the programmable processing cores, invoke a software function specified by the work unit for execution on the data plane operating system on the one of the programmable processing cores specified by the work unit for processing the one or more of the stream data units.