Compression Mechanisms for Control Plane-Data Plane Processing Architectures
First Claim
Patent Images
1. An apparatus comprisingN processors, where N is greater than 1;
- a work order module operative to provide work queue entries to the N processors, wherein the work queue entries correspond to respective tasks, and to provide, to a given processor of the N processors, exclusive access to one or more shared data structures for work queue entries including atomic tags;
a compression unit operatively coupled to a command buffer space, wherein the compression unit is operative to compress or decompress packets responsive to commands stored in the command buffer space;
a memory operative to store a beltway data structure comprising N circular buffers for corresponding ones of the N processors, wherein the N circular buffers each comprise a plurality of entries;
the memory further operative to store processor-readable instructions for a beltway producer function, a compression module, and a beltway consumer process;
wherein the beltway producer function includes instructions operative to cause the N processors, when executing the beltway producer function, toadd entries to corresponding ones of the circular buffers of the beltway data structure;
submit work queue entries to the work order module including an atomic tag associated with the beltway data structure; and
wherein the compression module includes instructions operative to cause the N processors, when executing the compression module, toresponsive to an indication of a packet to be compressed, call the beltway producer function to add a command identifying the packet to an entry of a select circular buffer of the beltway data structure;
wherein the beltway consumer process includes instructions operative to cause a processor of the N processors, responsive to a work queue entry identifying the beltway consumer process and an atomic tag corresponding to the beltway data structure, to;
read entries from the circular buffers of the beltway data structure; and
write commands stored in the entries to the command buffer space coupled to the compression unit.
12 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems directed to efficient compression processing in system architectures including a control plane and a data plane. Particular implementations feature integration of compression operations and mode selection with a beltway mechanism that takes advantage of atomic locking mechanisms supported by certain classes of hardware processors to handle the tasks that require atomic access to data structures while also reducing the overhead associated with these atomic locking mechanisms.
398 Citations
31 Claims
-
1. An apparatus comprising
N processors, where N is greater than 1; -
a work order module operative to provide work queue entries to the N processors, wherein the work queue entries correspond to respective tasks, and to provide, to a given processor of the N processors, exclusive access to one or more shared data structures for work queue entries including atomic tags; a compression unit operatively coupled to a command buffer space, wherein the compression unit is operative to compress or decompress packets responsive to commands stored in the command buffer space; a memory operative to store a beltway data structure comprising N circular buffers for corresponding ones of the N processors, wherein the N circular buffers each comprise a plurality of entries;
the memory further operative to store processor-readable instructions for a beltway producer function, a compression module, and a beltway consumer process;wherein the beltway producer function includes instructions operative to cause the N processors, when executing the beltway producer function, to add entries to corresponding ones of the circular buffers of the beltway data structure; submit work queue entries to the work order module including an atomic tag associated with the beltway data structure; and wherein the compression module includes instructions operative to cause the N processors, when executing the compression module, to responsive to an indication of a packet to be compressed, call the beltway producer function to add a command identifying the packet to an entry of a select circular buffer of the beltway data structure; wherein the beltway consumer process includes instructions operative to cause a processor of the N processors, responsive to a work queue entry identifying the beltway consumer process and an atomic tag corresponding to the beltway data structure, to; read entries from the circular buffers of the beltway data structure; and write commands stored in the entries to the command buffer space coupled to the compression unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus comprising
a control plane; - and
a network processing unit comprising a compression unit operatively coupled to a command buffer space, wherein the compression unit is operative to compress or decompress packets responsive to commands stored in the command buffer space;
wherein the network processing unit is operative to;apply one or more policies to received packets of respective data flows according to a data plane configuration; selectively sample the received packets of the respective data flows to the control plane; wherein the control plane is operative to process packets sampled by the network processing unit; and transmit control messages corresponding to the respective data flows to the network processing unit to change the data plane configuration, wherein the control messages include a compression policy; and wherein the compression unit is operative to compress one or more of the received packets of the respective data flows in accordance with compression policies of the control messages. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
conditionally pass the packet to the compression unit based on a comparison of the random value to the compression probability value associated with the respective data flow.
- and
-
23. The apparatus of claim 22 wherein the compression probability value is based on observed link utilization along a path for the respective data flow.
-
24. The apparatus of claim 13 wherein the control plane is operative to set a compression probability value in the control messages based on link utilization along the path for the specific flow, and wherein the network processing unit is operative to
responsive to receipt of a packet corresponding to a respective data flow, if the available command buffer space allocated to the compression unit is less than a second threshold, then compute a random value; - and conditionally pass the packet to the compression unit based on a comparison of the random value to the compression probability value associated with the respective data flow.
-
25. An apparatus comprising
a data plane module coupled to a compression unit operatively coupled to a command buffer space, wherein the compression unit is operative to compress or decompress packets responsive to commands stored in the command buffer space; - wherein the data plane module is operative to;
conditionally pass packets to the compression unit based on a compression policy associated with data flows corresponding to the packets, and further based on assessment of load associated with the compression unit or resources consumed by the compression unit. - View Dependent Claims (26, 27, 28, 29, 30, 31)
- wherein the data plane module is operative to;
Specification