Network device with real-time data path optimization

CN116489087BActive Publication Date: 2026-08-21MELLANOX TECHNOLOGIES LTD(IL)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310075175.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-01-24
Filing Date
2023-01-18
Publication Date
2026-08-21
Estimated Expiration
2043-01-18

Smart Images

  • Figure CN116489087B_ABST
    Figure CN116489087B_ABST
Patent Text Reader

Abstract

The present disclosure relates to network devices with real-time data path optimization. A network device includes at least one port, a memory, a data path circuit, and a processor. The at least one port is to exchange packets with a network. The data path circuit is to process the packets. The memory is to store signatures of traffic patterns and corresponding parameter settings of the data path circuit according to a locally sensitive signature function. The processor is to evaluate a current traffic pattern of the packets, compute a current signature under the current traffic pattern using the locally sensitive signature function, query the memory using the current signature, configure the data path circuit using a parameter setting corresponding to a found signature in response to finding a stored signature within a specified distance from the current signature, and take an alternative action in response to not finding a stored signature within the specified distance from the current signature.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates generally to network communication, and more particularly to the real-time adaptation of data path parameters in network devices. Background Technology

[0002] Network devices such as packet switches, network adapters, and active cables typically include ports and associated data path circuitry. The data path circuitry coupled to the ports may include, for example, buffers, queues, and / or flow control circuitry. Summary of the Invention

[0003] Embodiments of the present invention described herein provide a network device including at least one port, a memory, data path circuitry, and a processor. The at least one port is used to exchange packets with a network. The data path circuitry is used to process packets exchanged via the at least one port. The memory is used to store (i) signatures of traffic patterns according to a locality-sensitive signature function, and (ii) corresponding parameter settings of the data path circuitry. The processor is used to: evaluate the current traffic pattern of packets exchanged via the at least one port; calculate a current signature on the current traffic pattern using the locality-sensitive signature function; query the memory using the current signature; in response to finding a stored signature within a specified distance of the current signature; configure the data path circuitry with parameter settings corresponding to the found signature; and in response to not finding a stored signature within the specified distance of the current signature, take an alternative action.

[0004] In an embodiment, the signature includes a corresponding vector of parameters for the traffic pattern. In the disclosed embodiment, parameter settings are sorted in memory according to the corresponding signature, and the processor queries the memory by the following steps: (i) initially accessing the location in memory where a signature that exactly matches the current signature is stored, (ii) when a stored signature that exactly matches the current signature is found, retrieving the parameter settings corresponding to the exactly matching signature, and (iii) when no stored signature that exactly matches the current signature is found, retrieving the parameter settings corresponding to the signature in memory closest to the initially accessed location.

[0005] In an example embodiment, in response to the absence of a stored signature within a specified distance of the current signature, the processor obtains parameter settings suitable for the current traffic pattern and stores the current signature and the estimated parameter settings in memory.

[0006] In some embodiments, the locality-sensitive signature function is a locally-preserving hash function. In one embodiment, parameter settings are sorted in memory according to the corresponding signature, and the processor queries the memory by accessing a memory location that depends on the current signature.

[0007] In some embodiments, the parameter settings specify at least one of the following: (i) one or more buffer management parameters for buffers in the data path circuit, (ii) one or more queue management parameters for queues in the data path circuit, (iii) one or more flow control parameters for flow control mechanisms applied by the data path circuit, (iv) one or more communication path logic parameters, and (v) one or more telemetry and status logic parameters.

[0008] According to the embodiments described herein, a method for configuring a data path circuit in a network device is also provided. The method includes: processing packets exchanged via at least one port of the network device using the data path circuit. A signature of a traffic pattern based on a locality-sensitive signature function and corresponding parameter settings of the data path circuit are stored in a memory. The current traffic pattern of the packets exchanged via the at least one port is evaluated. A current signature on the current traffic pattern is calculated using the locality-sensitive signature function. The memory is queried using the current signature. In response to finding a stored signature within a specified distance of the current signature, the data path circuit is configured with parameter settings corresponding to the found signature. In response to not finding a stored signature within the specified distance of the current signature, an alternative action is taken.

[0009] According to the embodiments described herein, a method is also provided, comprising: finding multiple parameter settings for processing multiple corresponding traffic patterns through a data path of a network device; calculating a corresponding signature for the traffic pattern using a locality-sensitive signature function; and storing the signature and corresponding parameter settings in memory for use by the network device.

[0010] According to the embodiments described herein, a method for configuring a network device is also provided. The method includes: storing (i) a signature of a traffic pattern based on a locality-sensitive signature function, and (ii) corresponding parameter settings of a data path circuit of the network device in a memory; evaluating a current traffic pattern of packets received and / or transmitted via at least one port of the network device; calculating a current signature on the current traffic pattern using a locality-sensitive signature function; and configuring the data path circuit with parameter settings corresponding to the found signature in response to finding a stored signature within a specified distance of the current signature in the memory. Attached Figure Description

[0011] The invention will be more fully understood from the following detailed description of the embodiments in conjunction with the accompanying drawings, in which:

[0012] Figure 1 This is a schematic block diagram of a network device employing real-time adaptation of data path parameters, according to an embodiment of the present invention.

[0013] Figure 2The flowchart illustrates, schematically, an embodiment of the present invention, a method for real-time adaptation of data path parameters in a network device; and

[0014] Figure 3 The flowchart illustrates, according to an embodiment of the present invention, a method for constructing a signature database for a network device. Detailed Implementation

[0015] Overview

[0016] The embodiments of the invention described herein provide methods and systems for adapting data path parameters in a network device. The disclosed techniques enable network devices to match the parameters of their data paths with the actual traffic patterns of packets currently being processed by the data path. Since traffic patterns tend to change significantly over time, the disclosed techniques enable significant improvements in performance measurements such as throughput and latency.

[0017] In some embodiments, the network device includes one or more ports and associated data path circuitry. For a given port, the data path circuitry may include components such as receive buffers and / or queues, transmit buffers and / or queues, and / or flow control circuitry such as credit management or pause-resume management circuitry. Data path components are typically configurable.

[0018] An example of reconfiguring data path components involves modifying the port's dynamic size quota parameter—a parameter that specifies the amount of buffer memory available for the port to store packets. Configuring the dynamic size quota, for example, as a function of the current congestion the port is experiencing, prevents the port from dropping packets or gradually de-congesting. Another example involves handling flow control-related optimization parameters, such as changing the XOFF threshold. This parameter defines the buffer occupancy at which the device should begin sending paused packets. Adaptively configuring the XOFF threshold improves end-to-end flow control performance.

[0019] The set of parameters that define the configuration of the data path circuit is referred to as "parameter settings" in this document.

[0020] In some embodiments, the network device includes a memory that stores a database of alternative parameter settings for data path circuitry. Each parameter setting in the database is found to be suitable (e.g., optimal) for handling a given traffic pattern. The following describes techniques for constructing the database, for example, using artificial intelligence (AI) models or by other means.

[0021] The network device further includes a processor that evaluates the current traffic pattern on a port and queries a database to find parameter settings that match the current traffic pattern. If a suitable parameter setting is found, the processor configures the port's data path circuitry with the matching parameter settings. The processor typically performs this process on a continuous basis to continuously match the parameters of the data path circuitry with the current traffic pattern.

[0022] In some embodiments, databases are accessed efficiently using locally sensitive signatures of traffic patterns. In these embodiments, traffic patterns are represented by a list of values ​​(also called a "vector" or values). A vector may include any suitable values ​​indicating a traffic pattern, such as ingress port bandwidth, ingress port burstiness (bandwidth variation), port mapping, latency, ingress jitter, ingress buffer occupancy, number of enabled ports, number of flows in the network device, access control lists (ACLs), etc. Locally maintained signature functions are defined on the traffic patterns, and a distance metric is defined between locally maintained signatures.

[0023] A signature function is "locally preserved" in the sense that it maps similar traffic patterns to signatures that are close to each other. With the same token, dissimilar traffic patterns are mapped to signatures that are far apart.

[0024] An example of a locally preserved signature function is the Locality-Sensitive Hash (LSH) function. Another example is the Unity function, which uses the flow pattern vector itself as the signature. An example of a distance metric is the Euclidean or root-mean-square (RMS) distance between signatures.

[0025] For the sake of brevity, the following description will refer to locally sensitive signatures simply as "signatures". The database will also be referred to as the "signature database" in this article.

[0026] In some embodiments, each entry in the database includes (i) a locally sensitive signature of a traffic pattern, and (ii) data path parameter settings found to be suitable (e.g., optimal) for processing that traffic pattern. The network device's processor queries the database by (i) calculating the current signature on the current traffic pattern evaluated on the port, and (ii) attempting to find stored signatures within a specified distance of the current signature.

[0027] In this context, a "matching signature" is not necessarily an exact match. An approximate match is also considered a match if it is within a specified distance of the current signature. If a matching signature is found in the database, the processor configures the data path circuitry with the corresponding parameter settings. If no match is found, the processor takes some alternative action, such as maintaining the existing parameter settings.

[0028] In some cases, signatures can be mapped onto a one-dimensional axis, or in other words, a numerical value (also called a "signature value") can be associated with each signature. This mapping establishes a monotonic order among the signature values. In some embodiments, entries in the database are sorted in memory according to the monotonic (ascending or descending) order of the signature values. Sorting the database in this way allows the processor to query the database efficiently—several examples are described in this document.

[0029] System Description

[0030] Figure 1 This is a block diagram illustrating a network device 20 employing real-time adaptation with data path parameters according to an embodiment of the present invention. In this context, the term "real-time" means configuring the data path parameters during the actual operation of the network device, and that the configuration depends on the actual traffic pattern of packets being processed by the network device.

[0031] Network device 20 may include, for example, a packet switch or router, a network adapter such as a network interface controller (NIC) or host channel adapter (HCA), active cable, or any other suitable type of network device. Network device 20 can operate according to any suitable network protocol, such as Ethernet or Infiniband. TM .

[0032] Network device 20 includes one or more ports 24 for exchanging (sending and / or receiving) packets with network 28, and data path circuitry 32 for processing the received and / or sent packets. Network adapters or active cables typically have one or two ports 24, while switches typically have multiple ports 24. Figure 1 In the example, each port 24 is coupled to the corresponding data path circuit 32. However, this one-to-one relationship is by no means mandatory. For example, some data path components can be shared among multiple ports 24. An example of a shared component is a shared buffer whose resources are adaptively (e.g., on demand) allocated to ports 24.

[0033] For a given port 24, the data path circuit 32 may include one or more of the following components:

[0034] • One or more receive buffers for storing the headers and / or data packets received via the port.

[0035] Or payload.

[0036] • One or more transmit buffers for storing the headers and / or data packets transmitted via the port.

[0037] Or payload.

[0038] • One or more queues, such as work queues and / or completion queues, for storing work-queue elements (WQEs) and / or completion-queue elements (CQEs) that indicate the processing of packets communicated via the port.

[0039] • Flow control circuitry for controlling the flow of packets between port 28 and network 28. Depending on the applicable network protocol, the flow control circuitry may include, for example, pause-resume management circuitry (e.g., XON / XOFF) or credit management circuitry.

[0040] • Control path logic used to classify received packets and make forwarding decisions.

[0041] • Telemetry and state logic, such as performance counters, utilization, and delay histograms.

[0042] The components of data path circuit 32 are typically configurable. For example, configurable data path parameters may include one or more of the following:

[0043] • Queue and / or buffer management parameters, such as the quota for memory allocation to queues or buffers.

[0044] • Flow control management parameters, such as XON / XOFF thresholds.

[0045] • Control path logic parameters.

[0046] • Telemetry and status logic parameters.

[0047] The set of parameters that defines the configuration of the data path circuit 32 for a given port 24 is referred to herein as the “parameter settings”.

[0048] Network device 20 further includes a processor 44, which evaluates traffic patterns on each port 24 and configures the corresponding data path circuitry 32 with parameter settings matching the traffic patterns, as well as other possible tasks. For this purpose, network device 20 includes a memory 36 storing a signature database 40.

[0049] Database 40 includes multiple entries, each containing:

[0050] • Locally sensitive signatures for a certain traffic pattern (represented as SIG1, SIG2, SIG3, ... in the diagram).

[0051] • Find the parameter settings that are suitable for (e.g., optimal) the flow pattern in the data processing path circuit 32 (represented in the figure as SETTING1, SETTING2, SETTING3...).

[0052] The following reference Figure 3The following discussion further examines example techniques used to construct database 40. Database 40 is typically constructed offline and provided, for example, to network device 20 via a network. In some embodiments, although not required, processor 44 is also capable of adding new entries to database 40.

[0053] Figure 1 The configuration of network device 20 shown is an example configuration chosen purely for conceptual clarity. Any other suitable configuration may be used in alternative embodiments. In various embodiments, network device 20 and its various components may be implemented using hardware (e.g., using one or more application-specific integrated circuits (ASICs) and / or field-programmable gate arrays (FPGAs)), software, or a combination of hardware and software components. Memory 36 may include any suitable type of volatile memory (e.g., RAM) or non-volatile memory (e.g., flash memory).

[0054] In some embodiments, processor 44 includes a general-purpose processor that is programmed in software to perform the functions described herein. The software may be downloaded to the processor electronically, for example, via a network, or it may be alternatively or additionally provided and / or stored on a non-transitory tangible medium, such as magnetic, optical, or electronic memory.

[0055] Real-time adaptation of data path parameters and database access using locality-sensitive signatures

[0056] Figure 2 This is a flowchart illustrating, schematically, a method for adapting data path parameters in real time within a network device 20, executed by a processor 44, according to an embodiment of the present invention. For simplicity, the following method description refers to a specific port 24. In practice, the processor 44 may execute such a method for multiple ports 24 of the network device (e.g., for all ports).

[0057] For a given port 24, the method begins with processor 44 monitoring the current traffic patterns of packets exchanged between port 24 and network 28 during the traffic assessment phase 50. Processor 44 represents the traffic patterns as a vector of values. As described above, the vector may include values ​​such as ingress port bandwidth, ingress port burstiness (bandwidth variation), port mapping, latency, ingress jitter, ingress buffer occupancy, number of enabled ports, number of flows in the network device, ACLs, etc. Additionally or alternatively, any other suitable attributes of the traffic pattern may be included.

[0058] In signature computation phase 54, processor 44 computes a locally sensitive signature on a vector representing the current traffic pattern. Any suitable locally sensitive signature function can be used for this purpose, such as the LSH function. In one embodiment, the vector evaluated in phase 50 is used as-is as the signature. The signature function used to compute the current signature is the same as the function used to compute the signature in database 40.

[0059] During the database query phase 58, the processor 44 queries the database 40 using the current signature (the signature of the current traffic pattern).

[0060] In the exact match check phase 62, processor 44 checks whether any signature stored in database 40 exactly matches the current signature. If an exact match is found, processor 44 configures the data path circuitry 32 of port 24 in the exact match configuration phase 66 with the stored parameter settings corresponding to the matching signature. The method then loops back to phase 50, where processor 44 continues to monitor traffic patterns.

[0061] If no exact match is found, the processor 44 calculates the distance between the current signature and the closest signature in the database 40 (which has the minimum distance to the current signature according to the defined distance metric) during the distance calculation phase 70.

[0062] In the approximate match check phase 74, the processor 44 checks whether the distance between the current signature and the closest signature in the database 40 is less than a defined distance threshold. If so, the processor 44 configures the data path circuit 32 of port 24 with the stored parameter settings corresponding to the approximate match signature in the approximate match configuration phase 78. The method then loops back to phase 50.

[0063] Otherwise, if neither an exact match nor an approximate match is found, the processor 44 maintains the existing parameter settings of the data path circuitry 32 in the holding phase 82. The method then loops back to phase 50. In other embodiments, the processor 44 may take various alternative actions in response to the failure to find a match (exact or approximate) with the current signature.

[0064] The methods described above are illustrative examples chosen for clarity of concept only. In alternative embodiments, any other suitable method may be used to implement the disclosed techniques. For example, processor 44 may select parameter settings that best represent its signature closest to the current signature, regardless of any threshold. In other words, the threshold or “specified distance” between the current signature and the sought stored signature may be set to an arbitrarily large value. However, in some embodiments, the threshold or “specified distance” is set to exclude values ​​from some entries in database 40.

[0065] As another example, if no suitable parameter settings are found, processor 44 can send an alert to an external device or log the event in a log file.

[0066] Fast database access by sorting the signature database

[0067] As mentioned above, in some cases, these signatures can be mapped onto a one-dimensional axis, thus establishing a monotonic order among them. In other words, in some cases, a numerical value (“signature value”) can be assigned to each signature. For example, when a signature consists of N bits (e.g., an N-bit hash value), the signatures can be ordered according to the magnitude of the N-bit binary number composed of those bits.

[0068] In some embodiments, entries in database 40 are sorted in memory 36 according to a monotonic (ascending or descending) order of signature values. Sorting the database in this way allows processor 44 to efficiently find matching signatures (or infer that the database does not contain matching signatures).

[0069] For example, when the database is sorted, processor 44 can use a binary search process to search the database for the closest match. The computational complexity of this process is O(logN), where N represents the number of entries.

[0070] In other embodiments, processor 44 may begin (and potentially end) a query by accessing a memory location that depends on the current signature. For example, database 40 may be constructed as an array indexed by signature values ​​(e.g., hash values). In this implementation, processor 44 accesses the database directly with the signature values. If the database contains an exact match, the corresponding entry will be stored at the accessed memory location. If the database does not contain an exact match, the locality sensitivity quality of the signature function guarantees that the entry with the closest matching signature will be stored in a nearby memory location.

[0071] Therefore, in some embodiments, if an exact matching signature exists in database 40, processor 44 initiates a query by accessing the memory location where the exact matching signature is expected to be stored. If an exact match is found, processor 44 retrieves the parameter settings corresponding to the exact matching signature and configures the data path circuitry 32 with those settings. If no exact match is found, processor 44 proceeds to the signature in memory closest to the initially accessed location and configures the data path circuitry with the corresponding parameter settings. Alternatively, if no exact match is found, processor 44 may resume browsing the database using a binary search or some other search procedure.

[0072] In an alternative embodiment, taking advantage of the fact that the database 40 is sorted according to the signature value, the processor 44 can use any other suitable technique to access the memory location that depends on the current signature.

[0073] However, note that this database sorting is by no means mandatory for implementing the disclosed techniques.

[0074] Construction of the signature database

[0075] Figure 3 This is a flowchart illustrating a method for constructing a signature database 40 for use by a network device 20, according to an embodiment of the present invention. Typically, the database 40 is constructed offline by a processor of a computer external to the network device 20, stored in the memory of that computer, and then provided to the network device 20, for example, via network 28. However, in other embodiments, the database 40 may be constructed by a processor 44 within the network device and stored directly in memory 36. Hybrid implementations are also envisioned, for example, where the database is initially constructed by an external computer and subsequently updated by the processor 44. For clarity, the method description will refer to a “processor” for constructing the database and a “memory” for storing the database.

[0076] In principle, Figure 3 The method involves applying multiple different traffic patterns to data path 32 in a simulated environment or in a real-world network device. For each traffic pattern, the best-performing parameter settings are found, and a database entry is created, including (i) the best-performing parameter settings and (ii) the signature of the traffic pattern.

[0077] The method begins in the pattern application phase 90, where the processor applies the flow pattern. In the signature computation phase 94, the processor computes a (locally sensitive) signature of the flow pattern.

[0078] During the parameter setting calculation phase 98, the processor searches for the optimal parameter settings, which are those that provide the best performance for processing the traffic pattern being evaluated when configured in the data path circuit 32.

[0079] In various embodiments, the processor may use a variety of criteria to quantify the performance of parameter settings. Criteria may be designed to optimize various performance measurements, such as minimum latency, maximum throughput, minimum congestion probability, minimum packet loss probability, minimum XOFF time, minimum buffer fill level (“watermark”), minimum queue occupancy, and / or any other suitable criterion or objective function. The processor may use a single performance measurement or a suitable weighted combination of multiple performance measurements. In some embodiments, the processor may assign a higher priority to a given performance measurement than another.

[0080] The processor can also use various techniques to find the optimal parameter settings for a given traffic pattern. In some embodiments, the processor can train an artificial intelligence (AI) model to estimate the performance of various parameter settings. In other embodiments, the processor can use grid search, gradient search, Bayesian optimization processes, genetic algorithms, or any other suitable algorithm for finding the best-performing parameter settings for the traffic pattern being evaluated.

[0081] In database entry creation phase 102, the processor adds new entries to database 40. These entries include (i) the best-performing parameter settings found in phase 98, and (ii) the signature of the flow pattern calculated in phase 94.

[0082] In the completion check phase 106, the processor checks whether all expected traffic patterns have been evaluated. If not, the method loops back to phase 90 above to evaluate the next traffic pattern.

[0083] Once all expected traffic patterns have been evaluated, in sorting phase 110, the processor (optionally) sorts the database based on signature values. In output phase 114, the processor uses the constructed database to configure network device 20.

[0084] While the embodiments described herein primarily discuss data path circuitry in network devices, the methods and systems described herein can also be used in a variety of other systems whose performance can be optimized using parameters related to system inputs.

[0085] Therefore, it should be understood that the above embodiments are cited by way of example, and the invention is not limited to what is specifically shown and described above. Rather, the scope of the invention includes both combinations and sub-combinations of the various features described above, as well as variations and modifications thereof that would occur to those skilled in the art upon reading the above description and which are not disclosed in the prior art. References to documents incorporated herein by reference are considered part of this application, and the definitions in this specification should be considered only to the extent that any terms are defined in these incorporated documents in a manner that conflicts with the definitions expressly or implicitly made herein.

Claims

1. A network device, comprising: At least one port for exchanging packets with the network; A data path circuit for processing packets exchanged via the at least one port; The memory is used to store (i) the signature of the flow pattern according to the locality-sensitive signature function, and (ii) the corresponding parameter settings of the data path circuit; as well as Processor, used for: Evaluate the current traffic patterns of packets exchanged via the at least one port; The locality-sensitive signature function is used to calculate the current signature on the current traffic pattern; Use the current signature to query the memory; In response to finding a stored signature within a specified distance of the current signature, the data path circuit is configured with parameter settings corresponding to the found signature; as well as If no stored signature is found within the specified distance of the current signature, an alternative action is taken.

2. The network device of claim 1, wherein the signature includes a corresponding vector of parameters of the traffic pattern.

3. The network device of claim 1, wherein the parameter settings are sorted in the memory according to corresponding signatures, and wherein the processor is configured to query the memory through the following steps: The initial access is to the location in the memory where a signature that exactly matches the current signature is stored; When a stored signature that exactly matches the current signature is found, the parameter settings corresponding to the exactly matching signature are retrieved; and If no stored signature that exactly matches the current signature is found, retrieve the parameter settings corresponding to the signature in the memory that is closest to the first accessed location.

4. The network device of claim 1, wherein in response to the absence of a stored signature within the specified distance of the current signature, the processor obtains parameter settings suitable for the current traffic pattern and stores the current signature and the estimated parameter settings in the memory.

5. The network device according to claim 1, wherein the local sensitive signature function is a locally persistent hash function.

6. The network device of claim 1, wherein the parameter settings are sorted in the memory according to a corresponding signature, and wherein the processor is configured to query the memory by accessing a memory location that depends on the current signature.

7. The network device of claim 1, wherein the parameter setting specifies at least one of the following: One or more buffer management parameters in the data path circuit; One or more queue management parameters for the queues in the data path circuit; One or more flow control parameters of the flow control mechanism applied by the data path circuit; One or more control path logic parameters; as well as One or more telemetry and status logic parameters.

8. A method for configuring a data path circuit in a network device, the method comprising: The data path circuitry is used to process packets exchanged via at least one port of the network device; (i) the signature of the flow pattern according to the local sensitive signature function, and (ii) the corresponding parameter settings of the data path circuit are stored in the memory; Evaluate the current traffic patterns of packets exchanged via the at least one port; The locality-sensitive signature function is used to calculate the current signature on the current traffic pattern; Use the current signature to query the memory; In response to finding a stored signature within a specified distance of the current signature, the data path circuit is configured with parameter settings corresponding to the found signature; as well as If no stored signature is found within the specified distance of the current signature, an alternative action is taken.

9. The method of claim 8, wherein the signature comprises a corresponding vector of parameters of the traffic pattern.

10. The method of claim 8, wherein the parameter settings are sorted in the memory according to corresponding signatures, and wherein querying the memory comprises: The initial access is to the location in the memory where a signature that exactly matches the current signature is stored; When a stored signature that exactly matches the current signature is found, the parameter settings corresponding to the exactly matching signature are retrieved. as well as If no stored signature that exactly matches the current signature is found, retrieve the parameter settings corresponding to the signature in the memory that is closest to the first accessed location.

11. The method of claim 8, further comprising: In response to the absence of a stored signature within the specified distance of the current signature, a parameter setting suitable for the current traffic pattern is obtained, and the current signature and the estimated parameter setting are stored in the memory.

12. The method of claim 8, wherein the locality-sensitive signature function is a locally-preserving hash function.

13. The method of claim 8, wherein the parameter settings are sorted in the memory according to corresponding signatures, and wherein querying the memory comprises: Access depends on the memory location of the current signature.

14. The method of claim 8, wherein the parameter setting specifies at least one of the following: One or more buffer management parameters in the data path circuit; One or more queue management parameters for the queues in the data path circuit; One or more flow control parameters of the flow control mechanism applied by the data path circuit; One or more control path logic parameters; as well as One or more telemetry and status logic parameters.

15. A method comprising: Find multiple parameter settings for the data path circuitry used by network devices to handle multiple corresponding traffic patterns; The corresponding signature for the traffic pattern is calculated using the locality-sensitive signature function; as well as At least two signatures and corresponding parameter settings are stored in memory for use by the network device to configure the data path circuit for the device, wherein the data path circuit forwards packets without dropping the packets.

16. A method for configuring a network device, the method comprising: (i) the signature of the traffic pattern based on the local sensitive signature function, and (ii) the corresponding parameter settings of the data path circuit of the network device are stored in the memory; Assess the current traffic patterns of packets received and / or sent via at least one port of the network device; The locality-sensitive signature function is used to calculate the current signature on the current traffic pattern; In response to finding a stored signature within a specified distance from the current signature in the memory, the data path circuit is configured with parameter settings corresponding to the found signature.

Citation Information

Patent Citations

  • Traffic classification

    US20130083806A1

  • Classification of unknown computer network traffic

    US8516586B1