CN113767598A - 用于逐流量分类路由的系统和方法 - Google Patents

用于逐流量分类路由的系统和方法 Download PDF

Info

Publication number
CN113767598A
CN113767598A CN202080030734.8A CN202080030734A CN113767598A CN 113767598 A CN113767598 A CN 113767598A CN 202080030734 A CN202080030734 A CN 202080030734A CN 113767598 A CN113767598 A CN 113767598A
Authority
CN
China
Prior art keywords
traffic
packet
switch
class
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080030734.8A
Other languages
English (en)
Inventor
A·M·福特
J·P·比克罗夫特
D·罗威斯
E·L·弗洛伊斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN113767598A publication Critical patent/CN113767598A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Advance Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了用于对网络内的数据进行逐流量分类路由的系统和方法。网络交换机具有基于高性能计算(HPC)相关的特性对流量数据进行分类的能力。流量分类是基于HPC的各个方面定义的,诸如路由、排序、重定向、静默、HPC协议配置、以及遥测。交换机可以在交换机结构的入口端口处接收包,并确定这些包的流量类别。所述流量类别选自一组定义的流量分类。然后,所述交换机可以为所述至少一个包生成指示所确定的流量类别的特定于结构的标志,其中,所述特定于结构的标志用于基于包被指派的流量类别来路由这些包。流量分类的示例包括:低时延类;专用接入类;批量数据类;尽力而为类;以及清道夫类。

Description

用于逐流量分类路由的系统和方法
政府权利声明
本文所述的发明是按照下述一项或多项合同在美国政府的支持下完成的。美国政府对本发明享有一定的权利。
Figure BDA0003316468910000011
相关申请的交叉引用
根据35U.S.C.119,本发明要求于2019年5月23日提交的名称为“Network Switch[网络交换机]”的美国临时专利申请号62/852273、2019年5月23日提交的名称为“NetworkInterface Controller[网络接口控制器]”的美国临时专利申请号62/852203、2019年5月23日提交的名称为“Network Computer System[网络计算机系统]”的美国临时专利申请号62/852289的权益和优先权,所述美国临时专利申请的公开内容通过引用并入本文。
背景技术
随着支持网络的设备和应用变得越来越普遍,各种类型的流量以及不断增加的网络负载继续要求底层网络架构提供更高的性能。例如,诸如高性能计算(HPC)、流媒体和物联网(IOT)等应用可以生成具有鲜明特征的不同类型的流量。因此,除了诸如带宽和延迟等常规网络性能指标之外,网络架构师还继续面临诸如可扩展性、多功能性和效率等挑战。
附图说明
参照以下附图根据一个或多个不同的实施例详细地描述本公开。附图仅被提供用于说明性目的,并且仅描绘典型实施例或示例实施例。
图1图示了可以在其中实施各种实施例的示例网络。
图2图示了促进逐流量分类路由的示例交换机。
图3A图示了根据各种实施例的在示例交叉开关交换机(crossbar switch)内实施的交叉开关。
图3B图示了根据各种实施例的与图2的示例边缘交换系统的端口相对应的示例瓦片(tile)矩阵。
图3C图示了根据各种实施例的构成图3B的瓦片矩阵的示例瓦片。
图4图示了根据各种实施例的图2的边缘交换系统中的执行流量分类的交换机的概念图。
图5A和图5B是在图2的示例边缘交换系统的每个端口处实施的示例FRF部件的框图。
图6图示了根据各种实施例的逐流量分类路由的示例性过程的流程图。
图7是可用于实施本公开中描述的实施例的各种特征的示例计算部件。
附图并非是穷举的,并且不将本公开限制于所公开的精确形式。
具体实施方式
大型网络由许多独立的交换机组成,这些交换机与许多数据链路连接。传统网络将数据拆分为称为包或帧的可管理块。这允许许多单独且不同的通信共享单条链路的带宽。特别地,一次通信的单个大数据传送不会阻止许多其他小型通信的完成。大型通信被分成许多单独的包,并且所述大型通信的包与其他小型通信和大型通信的包在时间上复用。这种方法允许单个共享网络资源执行许多并发通信,并在存在大型通信的情况下显著减少小型通信的最大时延。
然而,在许多完全不同的通信之间共享资源只有在没有一次通信可以耗尽其他通信的任何共享资源的情况下才能起到很好的作用。同样重要的是对共享资源的访问保持公平,并与正在进行的每个通信的重要性相适应。传统上,利用流量类别来实施特定于数据传输的网络属性。这些传统的类别考虑了吞吐量、带宽分配以及时延问题。然而,高性能计算(HPC)有这些传统的类别无法匹配的若干个独特网络行为、工作流、功能以及特性。
为了应对特定于HPC应用的特性,所公开的实施例描述了一种交换机设备,所述交换机设备允许确定数据流和网络属性,如路由和重路由指令、数据流分离、有序数据传送或无序数据传送、有损传输或无损传输、遥测收集和流量整形规则。除了常规的逐分类流量路由方法通常采用的那些流量分类之外,还使用了额外的流量分类。这些流量分类基于上述HPC相关的确定,并在相同的物理网络基础设施上同时进行操作。
如将详细描述的,通过在数据流内标记包,可以在逐个包的基础上跨网络启用、配置以及调整所公开的逐流量分类路由(per traffic class routing)功能。进一步地,上述逐个包方法允许对数据流进行带内控制,这是由数据包本身建立的。这种基于这些类型的HPC相关特性对网络内数据的带内控制以前没有被考虑过。换句话说,本文公开的系统和技术允许考虑时延和带宽之外的因素,包括以逐流量分类的方式进行的路由行为、应用数据流分离、以及拥塞控制。最终,根据实施例的逐流量分类路由导致对网络数据传输的细粒度控制。
本公开描述了可以容纳百亿亿次级计算的系统和方法,例如,以百亿亿次级速度执行如模拟、数据分析、人工智能工作负载等数据密集型任务。特别地,提供了HPC网络或互连结构,其可以是以太网兼容的,能够连接到第三方数据存储装置,并且可以使用具有极高带宽(例如,每个具有例如支持以非常低的直径(例如,仅三个网络跃点)创建大型网络的64个200Gbps的端口的交换机近似12.8Tb/s/dir)的交换机部件来构建。此外,可以通过新颖的拥塞控制机制、自适应路由、以及允许在带宽整形、优先级、以及路由策略方面具有灵活性的流量分类的使用来实现低时延。
关于自适应路由,本文描述的技术和系统可以通过利用流通道的识别和管理来实现流的动态路由。当在源节点和目的地之间路由数据包时,典型的路由技术要么是静态的,要么是自适应的(例如,动态的)。在自适应路由的一个示例中,本地路由决策是基于负载信息和其他因素动态做出的。在当前的系统中,自适应路由可能会导致拥塞蔓延。也就是说,某些数据流可以被识别为拥塞的来源,而其他数据流可以被简单地识别为拥塞的受害者。在处理持久流的自适应路由技术中,如本文所公开的,允许受害流继续做出传统的路由决策,而引起拥塞的流的路由将受到限制。如上所述,这种能力是通过流通道的识别和管理来启用的。
图1示出了包括多个交换机的示例网络100,所述示例网络也可以被称为“交换机结构”。如图1中所图示的,网络100可以包括交换机102、104、106、108以及110。每个交换机可以在交换机结构100内具有唯一的地址或标识符(ID)。各种类型的设备和网络可以耦接到交换机结构。例如,存储阵列112可以经由交换机110耦接到交换机结构100;基于无限带宽(IB)的HPC网络114可以经由交换机108耦接到交换机结构100;多个终端主机(如主机116)可以经由交换机104耦接到交换机结构100;并且IP/以太网网络118可以经由交换机102耦接到交换机结构100。例如,如交换机102等交换机可以通过如网络接口卡(NIC)、交换机、路由器或网关等以太网设备来接收802.3帧(包括封装的IP有效载荷)。专门为网络100格式化的IPv4或IPv6包、帧等也可以被接收、通过交换机结构100传输到另一个交换机(例如,交换机110)。因此,网络100能够同时处置多种类型的流量。通常,交换机可以具有边缘端口和结构端口。边缘端口可以耦接到在结构外部的设备。结构端口可以经由结构链路耦接到结构内的另一个交换机。
通常,流量可以经由边缘交换机的入口端口注入交换机结构100,并且经由另一个(或相同)边缘交换机的出口端口离开交换机结构100。入口边缘交换机可以将已注入的数据包分为流,这些流可以通过流ID进行标识。流的概念不限于特定的协议或层(如开放系统接口(OSI)参考模型中的层2或层3)。例如,流可以映射到具有特定源以太网地址的流量、源IP地址与目的地IP地址之间的流量、对应于TCP或UDP端口/IP 5元组(源和目的地IP地址、源和目的地TCP或UDP端口号、以及IP协议号)的流量、或由在终端主机上运行的进程或线程产生的流量。换句话说,流可以被配置为映射到任何物理或逻辑实体之间的数据。该映射的配置可以远程完成或在入口边缘交换机上本地完成。
在接收到已注入数据包之后,入口边缘交换机可以为该流指派流ID。该流ID可以被包括在特殊的报头中,入口边缘交换机可以使用该报头来封装已注入包。此外,入口边缘交换机还可以检查已注入包的原始报头字段以确定适当的出口边缘交换机地址,并将该地址作为目的地地址包括在封装报头中。应注意,流ID可以是特定于链路的本地有效值,并且该值可以仅对于交换机上的特定输入端口是唯一的。当包转发到下一跳交换机时,包进入另一条链路,并且流ID可以相应地更新。由于流的包要经过多条链路和交换机,因此与该流相对应的流ID可以形成唯一的链。即,在每个交换机处,在包离开交换机之前,包的流ID可以更新为传出链路所使用的流ID。流ID之间的这种从上游到下游的一对一映射可以在入口边缘交换机处开始并在出口边缘交换机处结束。因为流ID只需要在传入链路内是唯一的,所以交换机可以容纳大量的流。例如,如果流ID为11位长,则一个输入端口最多可以支持2048个流。此外,用于映射到流的匹配模式(包的一个或多个报头字段)可以包括更多个位。例如,32位长的匹配模式(其可以包括包报头中的多个字段)可以映射最多2^32个不同的报头字段模式。如果结构有N个入口边缘端口,总共可以支持N*2^32个可识别流。
交换机可以为每个流指派单独的专用输入队列。该配置允许交换机监测和管理各个流的拥塞程度,并防止在将共享缓冲区用于多个流时可能发生的队头阻塞。当包被传送到目的地出口交换机时,出口交换机可以生成确认(ACK),并在上行方向沿着相同的数据路径将该确认发送回入口边缘交换机。由于该ACK包经过相同的数据路径,因此该路径上的交换机可以通过监测未完成的、未确认的数据量来获得与对应流的传送相关联的状态信息。然后可以使用该状态信息来执行特定于流的流量管理,以确保整个网络的健康和对流的公平处理。如下文更详细解释的,这种逐流排队与特定于流的传送确认相结合可以使交换机结构实施有效、快速和准确的拥塞控制。进而,交换机结构可以以显著提高的网络利用率来传送流量,而不会出现拥塞。
可以基于需求动态或“即时”地建立和释放流。具体地,当数据包到达交换机并且先前没有向该包指派流ID时,可以由入口边缘交换机建立流(例如,确立流ID到包报头的映射)。当该包穿过网络时,可以沿着包所经过的每个交换机指派流ID,并且可以确立从入口到出口的流ID链。属于同一流的后续包可以沿数据路径使用相同的流ID。当包被传送到目的地出口交换机并且数据路径上的交换机接收到ACK包时,每个交换机可以更新其关于该流的未完成的、未确认的数据量的状态信息。对于该流,当交换机的输入队列为空并且没有更多未确认的数据时,交换机可以释放流ID(即,释放该流通道)并将流ID重新用于其他流。这种数据驱动的动态流建立和拆除机制可以消除集中流管理的需要,并允许网络快速响应流量模式变化。
应注意,本文描述的网络架构与通常使用OpenFlow协议的软件定义网络(SDN)不同。在SDN中,由中央网络控制器来配置交换机,并且基于层2(数据链路层,如以太网)、层3(网络层,如IP)或层4(传输层,如TCP或UDP)报头中的一个或多个字段来转发包。在SDN中,这种报头字段查找在网络中的每个交换机处执行,并且不存在如在本文所述的网络中所做的基于流ID的快速转发。此外,由于OpenFlow报头字段查找是使用三元内容可寻址存储器(TCAM)完成的,因此这种查找的成本可能很高。而且,由于报头字段映射配置是由中央控制器完成的,每个映射关系的建立和拆除相对较慢,可能需要大量的控制流量。因此,SDN网络对各种网络情况(如拥塞)的响应可能较慢。相比之下,在本文描述的网络中,可以基于流量需求动态地建立和拆除流;并且包可以通过固定长度的流ID转发。换句话说,流通道可以是数据驱动的,并以分布式方式进行管理(即,建立、监测和拆除),而无需中央控制器的干预。此外,基于流ID的转发可以减少所使用的TCAM空间量,并且因此可以容纳更多个流。
参考图1所示的示例,假设存储阵列112要使用TCP/IP向主机116发送数据。在操作期间,存储阵列112可以发送第一个包,所述第一个包具有主机116的IP地址作为目的地地址以及在TCP报头中指定的预定TCP端口。当该包到达交换机110时,交换机110的输入端口处的包处理器可以识别该包的TCP/IP 5元组。交换机110的包处理器还可以确定该5元组当前未映射到任何流ID,并且可以向该5元组分配新的流ID。此外,交换机110可以基于目的地(即,主机116的)IP地址来确定该包的出口交换机,即,交换机104(假设交换机110知道主机116耦接到交换机104)。随后,交换机110可以用指示新指派的流ID和交换机104的结构地址的结构报头来封装所接收的包。交换机110然后可以基于结构转发表来调度要向交换机104转发的封装包,所述结构转发表可以由结构100中的所有交换机使用诸如链路状态或距离向量等路由算法来计算。
应注意,当接收到第一个包时,上述操作可以基本上以线路速度执行,几乎没有缓冲和延迟。在第一个包被处理并被调度进行传输之后,来自相同流的后续包可以被交换机110更快地处理,因为使用了相同的流ID。另外,流通道的设计可以使得流通道的分配、匹配和解除分配可以具有基本相同的成本。例如,可以在几乎每个时钟周期中同时执行流通道的基于查找匹配的条件分配和另一个流通道的单独、独立的解除分配。这意味着生成和控制流通道几乎不会为包的常规转发增加附加开销。另一方面,拥塞控制机制可以将一些应用的性能提高三个数量级以上。
在数据路径上的每个交换机(包括交换机110、106和104)处,可以为该流提供专用输入缓冲区,并且可以跟踪已传输但未确认的数据量。当第一个包到达交换机104时,交换机104可以确定所述包的结构报头中的目的地结构地址与其自己的地址相匹配。作为响应,交换机104可以根据结构报头对包进行解封装,并将解封装的包转发到主机116。此外,交换机104可以生成ACK包并将该ACK包发送回交换机110。当该ACK包经过相同的数据路径时,交换机106和110可以各自针对该流的未确认的数据更新其自己的状态信息。
通常,网络内的拥塞会导致网络缓冲区被填充。当网络缓冲区已满时,理想情况下,试图通过缓冲区的流量应当减慢或停止。否则,缓冲区可能会溢出,并且包可能会被丢弃。在常规网络中,通常在边缘处端对端地进行拥塞控制。网络的核被认为仅用作“笨水管”(dump pipe),其主要目的是转发流量。这样的网络设计通常对拥塞的响应缓慢,因为通常无法快速将拥塞信息发送到边缘设备,并且所产生的边缘设备所采取的动作并不总是能够有效地消除拥塞。这种缓慢的响应进而限制了网络的利用率,因为为了保持网络畅通无阻,网络运营商通常需要限制注入网络中的流量总量。此外,端对端拥塞控制通常只有在网络尚未拥塞的情况下才有效。一旦网络严重拥塞,端对端拥塞控制将不起作用,因为拥塞通知消息本身可能拥塞(除非使用与数据面网络不同的单独控制面网络来发送拥塞控制消息)。
相比之下,流通道可以防止这种拥塞在交换机结构内增长。当流正在经历一定程度的拥塞时,流通道机制可以识别这种情况,并且作为响应,可以减慢或停止同一流的新包进入结构。进而,这些新包可以缓冲在边缘端口上的流通道队列中,并且仅当同一流的包在目的地边缘端口处离开结构时才被允许进入结构。该过程可以将结构内该流的总缓冲要求限制为不会导致结构缓冲区变得太满的量。
通过流通道,交换机能够获得关于结构内未完成的在途中的数据量的相当准确的状态信息。可以针对入口边缘端口上的所有流汇总该状态信息。这意味着可以知道通过入口边缘端口注入的数据总量。因此,流通道机制可以对结构中的数据总量设置限制。当所有边缘端口都应用该限制动作时,可以很好地控制整个结构中的包数据总量,这进而可以防止整个结构饱和。流通道还可以减慢结构内的单个拥塞流的进度,而不会减慢其他流。该特征可以使包远离拥塞热点,同时防止缓冲区变满并确保为无关流量提供空闲缓冲区空间。
交叉开关交换机210可以包括一个或多个交叉开关交换机芯片,所述交叉开关交换机芯片可以被配置为在通信端口之间转发数据包和控制包(如ACK包)。EFCT逻辑块212可以处理从边缘链路接收的包并且基于包中的一个或多个报头字段来将所接收的包映射到相应的流。另外,EFCT逻辑块212可以组装FGFC以太网帧,所述FGFC以太网帧可以传送到终端主机以控制由各个进程或线程注入的数据量。IFCT逻辑块214可以包括IFCT,并且响应于控制包(如端点拥塞通知ACK和基于结构链路信用的流控制ACK)来执行各种流控制方法。OFCT逻辑块216可以包括存储OFCT的存储器单元,并且与另一个交换机的IFCT逻辑块通信以在包被转发到下一跳交换机时更新包的流ID。
在一个实施例中,交换机202是可以提供64个网络端口的专用集成电路(ASIC),所述网络端口可以以100Gbps或200Gbps运行,从而实现12.8Tbps的聚合吞吐量。每个网络边缘端口可能能够支持IEEE 802.3以太网和基于优化IP的协议以及门户(Portal)(一种支持更高速率的小型消息的增强的帧格式)。以太网帧可以基于其L2地址进行桥接,也可以基于其L3(IPv4/IPv6)地址进行路由。优化的IP帧可以仅具有L3(IPv4/IPv6)报头,并进行路由。专用NIC支持可以用于门户增强帧格式,并可以直接映射到网络100的结构格式上,所述结构格式例如为当交换机/交换机芯片(如交换机102、104、106、108以及110)被连接并相互通信时,提供某些控制和状态字段以支持多芯片结构的结构格式。如上所述,基于流通道的拥塞控制机制可以由这种交换机使用,并且还可以实现较小包的高传输速率(例如,每个端口每秒超过12亿个包),以适应HPC应用的需求。
交换机202可以提供系统范围的服务质量(QoS)分类、以及控制如何将网络带宽分配给不同分类的流量和不同分类的应用的能力,其中,单个特权应用可以访问多于一个分类的流量。在存在网络带宽竞争的情况下,仲裁器会基于包的流量分类和该分类可用的信用来选择要转发的包。网络100可以支持每个流量分类的最小带宽和最大带宽。如果分类没有使用其最小带宽,其他分类可能会使用未使用的带宽,但没有分类可以得到超过其最大分配带宽的带宽。管理带宽的能力提供了将网络资源以及CPU和存储器带宽专用于特定应用的机会。
除了支持QoS分类之外,交换机202实现基于流通道的拥塞控制,并且可以将例如具有蜻蜓拓扑的网络中的网络跃点数从五个网络跃点减少到三个。下面更详细描述的交换机202的设计可以降低网络成本和功耗,并且可以进一步促进改进应用性能的创新的自适应路由算法的使用。由多个交换机(如多个交换机202)创建的结构也可以用于例如在构建用于与第三方网络和软件集成的存储子系统时构建胖树(Fat-Tree)网络。更进一步,交换机202的使用在保持有序包传送的同时实现了细粒度自适应路由。在一些实施例中,交换机202可以被配置为在完整的数据有效载荷到达之前将包的报头从输入端口发送到输出端口,从而允许输出端口负载指标反映未来负载,从而改进由交换机202做出的自适应路由决策。
交叉开关交换机210可以包括在输入端口与输出端口之间路由数据/数据元素的单独的、分布式的交叉开关。在一些实施例中,如图3A中所图示的,在输入端口220b与输出端口220c之间有五个分布式交叉开关,包括请求交叉开关210a、授权交叉开关210b、信用交叉开关210c、Ack交叉开关210de、以及数据交叉开关210d。
请求交叉开关210a用于将请求从输入发送到目标输出年龄队列。授权交叉开关210b用于将授权返回给满足请求的输入。特别地,授权交叉开关210b返回指示包在输入缓冲区内的位置的指针。应当注意,当相对应的包的输出中有空间时,将返回授权。授权交叉开关201b还可以可选地在输出中返回所请求的空间的信用。应当注意,当在输出(例如,输出端口220c)处有包的着陆点时返回授权,因此包不能被阻塞(尽管这些包可能面临资源的瞬时竞争)。
应当理解,根据各种实施例,可以使用信用协议来保证在输出处存在针对请求的着陆空间。因此,可以使用信用交叉开关210c在输出中返回所请求的空间的信用。
数据交叉开关210d用于将授权的包从输入缓冲区移动到目标输出缓冲区。Ack交叉开关210e用于将Ack包从输出端口220c传播到输入端口220b。根据保持在输出流通道表中的状态来操纵Ack。
应当理解,数据交叉开关210d移动具有报头和数据两者的多时钟包,而其他四个交叉开关(请求交叉开关210a、授权交叉开关210b、信用交叉开关210c、以及Ack交叉开关210e)仅移动单时钟包报头。所有五个交叉开关都使用相同的架构,其中,行总线和列总线位于具有32个双端口瓦片(tile)的8x4矩阵内(如下所述)。
返回参考图2,交换机202可以具有多个发射/接收端口,例如,端口220。所述多个端口可以被构造成瓦片矩阵。图3B图示了这种瓦片矩阵300的示例。在一个实施例中,瓦片矩阵300包括32个瓦片,每个瓦片包括两个端口,所述两个端口用于实施端口之间的交叉开关交换,以及用于提供以下项:交换机202的核心与外部高速串行信号之间的用于驱动信号离开交换机202的串行器/解串器(SERDES)接口;到物理编码子层(PCS)的媒体访问控制(MAC)子层接口;SERDES与以太网MAC功能之间的PCS接口;链路级重试(LLR)功能,所述LLR功能以逐包的方式进行操作,并使用有序集来传送初始化序列、Ack、以及Nack;以及用于在不同帧结构格式之间进行转换的入口变换块。每个瓦片包含交叉开关交换机,诸如用于交叉开关(210a-201e)中的每一个的交叉开关交换机210。如将在下文更详细地讨论的,交换机结构中的路由可以由在交换机202中实施的结构路由功能(FRF)控制,其中,FRF部件的单独实例(图4A、图4B)可以在交换机202的每个端口的输入逻辑内实施。如上所述,每个端口包括FRF部件的实例,但是为了便于参考/图示清楚,仅标记了两个示例FRF实例(400a、400b)。
每个交叉开关交换机210具有十六个输入端口220b(其行中的每个端口一个输入端口)以及八个输出端口220c(其列中的每个端口一个输出端口)。行总线可以从行中的每个源驱动到该行中的所有八个交叉开关(一对所有)。仲裁可以在从该行的十六个行总线到给定列中的八个列总线的交叉开关处执行。可以在每个行总线的每个16x8交叉开关处提供缓冲,以便在竞争列总线期间吸收包。在一些实施例中,除非目标交叉开关的输入缓冲区中存在用于整个包的余地,否则将非巨型包保持在行总线之外。由于面积限制,即使没有足够的空间(交叉开关的输入缓冲区的大小被设置成仅用于接收非巨型包),也允许巨型包通过,其中,行总线被阻塞,直到所述包赢得仲裁并在其移动到列总线上时释放空间为止。
列总线从给定的交叉开关驱动到列内的每个目的地端口(所有对所有)。每个目的地可以在来自四行的列总线之间具有另一个级别的仲裁。十六个行总线驱动八个交叉开关,每个交叉开关馈送八个列总线,行与列之间有4倍的加速。每行具有相同的连接,即,行总线中所示的单行的一对所有行总线连接。每个瓦片取决于交叉开关将具有每瓦片一个(请求、授权、信用)或两个(数据、ack)时钟延迟。这在最左边的列与最右边的列之间提供了最大七个或十四个时钟延迟。通过信用交叉开关210c路由的信用返回可以具有每瓦片一个时钟延迟,并且因此,可以占用最大七个时钟来完成传输。
应当注意,每列可以具有相同的连接,即,单列的所有对所有列总线连接,并且可以有每瓦片两个时钟延迟,导致得到从顶行到底行的六个时钟延迟。还应该理解,行总线和列总线两者都使用上述基于信用的协议来确定这些行总线和列总线何时能够进行发送。在行总线的情况下,源端口维护该行内交叉开关的输入缓冲区的信用计数。对于数据交叉开关,需要注意确定何时允许包进入行总线。如果针对特定交叉开关的输入缓冲区的授权全部通过单个队列,则在开始包传送之前需要用于在队列头部的包的空间。如果授权分布在多个队列中,为了防止小包把大包锁在外面,除非缓冲区中存在用于整个最大大小的包的空间,否则不会开始包传送。以这种方式,一旦行总线上的包传送开始,其就不会停止,直到整个包传送完毕为止。因此,交叉开关的输入缓冲区被配置为足够大以处置最大包大小,并具有附加空间以覆盖最坏情况的往返(包发送到信用返回(credit return))。对于巨型包将不是这种情况。为了节省缓冲区域,交叉开关的输入缓冲区的深度仅足以处理非巨型大小的MTU(1500个字节),其中,在等待获得对目标列总线的访问权限时允许巨型包阻塞行总线。
对于列总线,每个交叉开关维护该列中每个目的地端口处的输入缓冲区的信用计数。与行总线不同,在列总线上开始传送该包之前,不要求信用可用于最大大小的包。当信用变得可用时,将移动包的各个字。因此,每个列总线的目的地处的输入缓冲区只需大到足以覆盖最坏情况的往返(包到信用)。
图3C更详细地图示了由瓦片1处置的两个端口(例如,端口0和1)、以及每瓦片的交叉开关包括一组行总线和列通道的交叉开关交换机210的示例实施方式。以这种方式,每个端口都有其自己的行总线,跨其行通信,并且每个瓦片都有前述16x8交叉开关(用于进行拐角转弯)以及一组八个列通道(最多可提供给包含在该列中的八个端口)。换句话说,每个交叉开关交换机210具有十六个行总线输入缓冲区和八个可能的目的地。例如,对于从例如输入端口17行进到输出端口52的数据,数据从输入端口17沿着行总线被路由,经过进行16到8仲裁的本地交叉开关,并且然后向上经过列通道到输出端口52。在通过所有分布式交叉开关集的总路由方面,内部带宽是外部带宽的四倍,从而导致在通过交换机202路由几乎任何任意流量排列时能够跟上入口。
可以在每个目的地的十六个源之间使用公平的轮询(round-robin)仲裁。对于数据交叉开关210d,一旦源赢得仲裁,所述源就保持对目的地列总线的控制,直到整个包已被发送为止。每个输出都授权有限数量的包有效载荷,因此预期当涉及更大的包时对给定列总线的竞争应该是相当有限的。因此,即使请求者之间的包大小可能存在较大差异,预期轮询仲裁也是足够的。
与输出功能相关联的交换机202的部分通常对交换机结构格式内的帧进行操作,并且具有结构报头(例如,甚至对于到达并靠在单个交换机202内的以太网端口上的帧)。
年龄(age)队列输出控制负责经由请求交叉开关210a接受来自所有输入端口(例如,输入端口220b)的请求、缓冲请求,使用流量整形器按流量分类在这些请求之间进行仲裁,并将请求传递给将经由授权交叉开关210b授权的OFCT 216。管理年龄队列缓冲以允许每个输入具有足够的空间来流动,同时还允许具有针对给定输出的多个流的输入占用更多空间。特别地,年龄队列空间由输出控制管理。年龄队列/输出控制还可以负责管理对链路的访问,要么对连接的输入缓冲区使用基于信用的流控制,要么对非结构链路使用基于暂停的流控制。当包被年龄队列释放时,它被提交以放到链路上。另外,年龄队列具有允许针对给定端口上的资源对在给定端口(例如,输入端口220b之一)上发起的包(诸如维护或归约包)进行仲裁的路径。
请求从矩阵30的每一行经由列总线进入输出控制块。每个列总线馈送独立的FIFO(例如,先进先出移位寄存器或缓冲区),其中,FIFO中的空间通过信用进行管理。FIFO的大小(深度为24)可以设置为覆盖往返加额外的空间,以允许将请求移出交叉开关210a-210e并防止队头阻塞。在写入FIFO之前,可以检查请求的有效纠错码(ECC)。如果ECC检查的目的地字段中具有多比特错误(MBE)或单比特错误(SBE)(即,所述请求已路由到错误的端口),则认为所述请求是无效请求,并被丢弃,其中,标记了错误。
可以在列总线FIFO之间执行最近最少使用(LRU)仲裁,以选择将哪个FIFO转发到年龄队列管理。当请求从每个FIFO中移除时,信用将返回到对应的交叉开关。传入列总线对应的行可以取决于瓦片在矩阵中的位置以及块位于瓦片的哪一半。
输出缓冲区(OBUF)向输出控制块发出请求,以在链路上发送归约和维护包。这些请求可以被赋予最高优先级。具有8个位置的FIFO可以用于在这些归约/维护包请求等待资源时对其进行缓冲。归约包不需要使用流通道,并且维护包可以使用环回来创建流,使得不需要检查流通道可用性或流经OFCT来创建授权。归约和维护包也不需要使用输出缓冲区中的任何空间,使得不需要检查空间。相反,可以执行对链路伙伴输入缓冲区的检查。如果允许,则可以授权整形队列(SQ)或虚拟通道(VC),从而阻止在该周期期间授予来自年龄队列路径的任何授权。
对照max_frame_size检查要从输出缓冲区处理的下一个请求的大小。如果该请求超过此设置,则不处理请求并设置错误标志。这将导致输出缓冲区请求路径被阻塞,直到执行热复位位置。错误标志将保持设置直到复位完成。也可以通过将max_frame_size设置增加到卡住输出缓冲区请求的大小以上的值来解除条件。比较中使用的大小可以是输出缓冲区请求中指示的大小(其可以包括线路上使用的4字节帧校验和(FCS))。
每个输入可以被赋予年龄队列空间的相同的固定分配。此年龄队列空间足够大,从而为每个SQ/VC保留位置,并有足够的额外空间来覆盖请求/信用往返。管理它在其SQ/VC上被赋予的空间取决于输入。该分配(fixed_al/oc)可经由每个输入队列(INQ)中的控制和状态寄存器(CSR)进行编程,并且可以在例如64至96个位置的范围内。剩余的年龄队列空间(8K-64*fixed_al/oc)可以是所有输入可用的共享空间。共享空间可以由输出管理,如果共享空间中有余地,它会在传入请求到达时将其从静态空间移动到共享空间,但受每个输入的限制。当将请求移动到共享空间时,(例如,立即)经由信用交叉开关210c返回信用,并在年龄队列中将所述请求标记为处于共享空间中。
当请求被授权时,如果所述请求被标记为使用共享空间,则共享空间被记入信用。如果所述请求没有被标记为使用共享空间,则认为所述请求已经使用了静态空间,并且将信用与授权一起返回给输入。
由于信用交叉开关210c中的冲突,可能无法在每个时钟周期都发送信用。因此,FIFO为这些瞬态中断提供了缓冲。在从请求交叉开关获取请求之前,需要此FIFO中的空间。可以使用深度为32个位置的FIFO来限制它备份到请求交叉开关210a中的机会。共享空间对于任何输入(来自输入端口220b)可以占用多少空间可能具有限制。这些限制可以设置为可用空间的百分比。例如,如果限制被设置为50%,如果一个输入端口是活动的,则所述输入端口可以访问50%的缓冲区空间;如果是两个活动的输入端口,每个输入端口得到37.5%((space_used_by_l+space_left*.5)/2=(50%+50%*.5)/2);如果是三个活动输入端口,每个输入端口得到29.2%((space_used_by_2+space_left*.5)/3=(75%+25%*.5)/3),等等。另外,活动的输入端口使用的总空间可以限制为给定的总数(50%、75%、87.5%)。因此,分配给每个输入端口220b的空间可以根据当前活动的输入端口的数量而动态变化。添加活动的输入端口会导致其他活动的输入端口放弃它们的空间,然后新的输入会占用这些空间。
考虑到划分在硬件中不容易完成,上述年龄队列信用管理功能可以实施为具有64个条目的查找表。年龄队列中当前活动的输入的数量对查找表进行索引。查找表中的值反映了对任何输入可以占用的共享空间位置数量以及它们整体可以消耗的总空间的限制。因此,由软件根据共有多少共享空间以及每个输入端口允许占用的百分比来对查找表中的值进行编程。随着更多的输入端口220b变为活动的,每个输入端口220b被允许的空间越来越少,并且可用的总空间会增加。不允许来自输入端口220b的在此限制以上或总量超过总空间限制的传入请求占用更多共享空间。为了跟踪年龄队列中活动的输入端口220b的数量,使用了一组64个计数器(每个输入端口一个计数器)。当请求被放入年龄队列中时,这些计数器会向上计数,并在其被取出(即,被授权)时向下计数。非零计数的数量的计数用作查找表的索引。另外,为了管理共享空间,可以使用附加的一组64个计数器来跟踪每个输入对共享空间的当前使用情况。也可以存在可以用于跟踪整体的共享空间使用情况的单个计数器。将这些计数器与当前配额进行比较,以确定是否允许请求使用共享空间。计数器可以是例如13位宽,以提供对可能略小于8K的对象的最大值的足够覆盖。
年龄队列可以使用其中具有8K个位置的单个存储RAM 321。这些位置可以动态地分配给32个单独的队列(每个SQ/VC一个队列),其中,每个位置由存储RAM 321内的位置链表组成。这使每个SQ/VC能够根据需要占用更多空间。
可以使用指向队列前面的前端指针和指向队列中下一项的每个位置的下一个指针来创建年龄队列。队列中的最后一个位置可以由后向指针指示。项从队列的前面取出并插入到队列的后面。除了上述数据结构之外,每个队列在其头部都有条目的FIFO。这些FIFO可以确保队列可以在来自请求RAM的多时钟读取访问时间的情况下在每个时钟维持请求。当新请求到达时,如果该队列的头部FIFO未满,则所述请求可以旁路请求RAM直接写入头部FIFO。一旦针对给定年龄队列的请求被写入请求RAM,后续请求也被写入请求RAM以保持顺序。一旦请求RAM中不再有针对该年龄队列的请求并且头部FIFO有余地,就可以再次使用旁路路径。当从头部FIFO读取请求,并且存在在请求RAM中排队的对应请求时,就发起出队。一次可以读取一个头部FIFO 328,使得可以在每个时钟周期发起单个出队操作。可以包括逻辑来处置正在进行或即将进行的入队操作与头部FIFO被读取之间的各种竞争条件。
上述用于年龄队列RAM的ECC保护可以扩展到FIFO 328以保护数据路径触发器。得到的结构可以包括8K个触发器(32个队列x深度5 x SQ位宽)。在生成ECC时,可以将年龄队列编号包括在计算中(但不存储),作为空闲列表管理的额外检查。当检查ECC时,如果队列号比特中有MBE或SBE,则可以认为请求出错。
空闲列表RAM可以是简单的FIFO,每当执行复位时,所述空闲列表RAM都会使用指向所有8K个条目的指针进行初始化。可以维护计数以跟踪在空闲列表内有多少条目是有效的。当取出条目时,条目会从FIFO的前面弹出并使用。当返回条目时,条目被推送到FIFO的后面。空闲列表头部的某个数量的条目(例如,三个条目)可以保持在触发器中,以便这些条目可以被快速访问。与采用用于年龄队列的头部FIFO一样,ECC通过触发器携带以提供保护。得到的结构可以具有最少的触发器(57=深度3x 19位宽)。
为了支持小包的全部性能,年龄队列支持每个时钟周期的入队和出队。针对入队操作的数据结构上的操作在下面讨论,并且可以取决于正在写入的队列是否为空而有所不同。
在某些情况下,由于使用和更新不同的字段,可以轻松处置针对特定队列的同时入队和出队。可能会出现某些特殊场景,例如,当出队操作清空年龄队列时。为了处置这种场景,逻辑上首先发生出队,然后是入队操作。因此,空标志被视为当队列被出队操作清空时被设置,并且然后由于入队操作而被清除。
可以在受制于输入缓冲区管理、输出缓冲区管理和流通道配额而允许被授权的请求之间执行上述仲裁。如果OFCT输入FIFO没有信用,也可以暂停仲裁。在一些实施例中,仲裁可以分两级执行。首先,流量整形仲裁可以用于在SQ之间进行仲裁。赤字轮询仲裁可以用于在给定SQ内的VC之间进行仲裁。流量整形仲裁可以使用如下的一系列令牌桶来控制每个SQ的带宽:八个叶桶,每个SQ一个叶桶;四个分支桶;以及单个头桶。
仲裁可以划分为三个分组,第一分组具有最高优先级,其次是第二分组,然后是第三分组。对于第一分组和第二分组,可以在有资格的SQ之间以相同的方式处置仲裁。对于八个优先级中的每一个,可以在SQ之间执行x8轮询仲裁(八个并行轮询仲裁)。可以在优先级之间执行固定仲裁。例如,分组3仲裁没有优先级,并且因此只是单个x8轮询仲裁。
对于第一分组中的仲裁,每个仲裁的优先级来自叶桶中的设置。对于第二分组中的仲裁,优先级来自叶桶分支中的设置。在所有情况下,如果该请求赢得仲裁,则被检查为符合该分组的资格的桶也是从中获得包大小令牌的桶。
关于年龄队列选择,可以对包进行分类,以选择其请求将被转发到的SQ。这允许与应用相关联的流量与源自不同应用或不同流量分类的流量不同地整形。这在连接到NIC的边缘端口上可以是有用的,因为应用将被配置为使用节点上的资源共享,并且类似地将被授权一定比例的网络带宽。根据一个实施例,该分类是通过在包进入到结构时将包分类为流量分类标识符(FTAG)(例如,作为结构帧报头的一部分的4位代码)和VLAN ID(VNI)来执行。然后可以在包离开结构时使用FTAG和VNI来选择整形队列。
可以使用配置寄存器来将FTAG映射到SQ。此配置与入队列(in queue)中的对应的配置相匹配。当输出缓冲区请求或返回链路伙伴信用时,它会将给定的FTAG转换为SQ。对于包注入,FTAG位于R_TF-OBUF_CFG_PFG_TX_CTRL中。对于测试生成,FTAG位于测试控制寄存器中。当归约引擎(RED)请求信用返回时,FTAG位于ret_cdtJtag中。当从输出流中移除归约帧并且需要返回链路伙伴信用时,FTAG位于帧报头中。
关于本文讨论的SQ,每个年龄队列可以有由{SQ,VC}寻址的32个SQ。3位SQ可以被认为是整形函数,并且VC选择该整形函数内的四个队列之一。对于以太网出口(边缘)端口,不需要VC来避免死锁。因此,所有32个SQ都可用。在这种场景下,可以通过将来自R_TF_OBUF_CFG_FTAG_SQ_MAP的SQ基添加到VNI的较低位来选择SQ330。5位总和定义了要发送到年龄队列的{SQ,VC}。应当注意,当在出口端口注入帧时,VNI不可用,并且因此可以直接使用SQ基。对于结构链路,SQ取自SQ基的较高三位。VC可以在返回归约帧的信用时从帧报头中获取、或者在注入帧时从适当的控制CSR(R_TF_OBUF_CFG_TEST_CTRL或R_TF_OBUF_CFG_PFG_TX_CTRL)中获取。
链路伙伴输入缓冲区管理可以取决于链路所附接的设备的类型。诸如交换机202等设备可以使用基于信用的流控制,其中,每个信用表示输入缓冲区中的存储单元。其他设备可以使用基于标准的以太网暂停或基于优先级暂停的流控制。标记为在本地终止(lacterm组)的请求不需要考虑链路伙伴输入缓冲区流控制,并且不需要更新任何相关联的计数器。当链路处于排空状态时,不需要考虑链路伙伴空间。
对于基于信用的流控制,链路伙伴输入缓冲区可以分为八个缓冲区分类。每个SQ都可以被指派给这8个缓冲区分类之一。为每个缓冲区分类维护信用,其中,每个信用表示链路伙伴输入缓冲区中的32个字节的存储。为了允许基于信用的流控制与各种设备(交换机、增强型NIC)一起工作,每个设备可以具有不同的单元大小,单元大小是以32个字节为单位的可编程值。
可以有两个VC集,其中,每个SQ被指派给其中一个集。可以为每个VC保留最大帧大小的有用空间,并且每个VC集可以具有不同的最大帧大小。链路伙伴输入缓冲区的其余部分是任何SQ/VC均可使用的共享的动态空间,但受每个VC和缓冲区分类限制。
伴随请求的大小表示线路上的包的大小,其中包括4字节的FCS。在将包写入链路伙伴输入缓冲区之前,这会在链路伙伴处转换为内部2字节的FCS,因此信用需要考虑此差异,这可能是单元大小边界处所涉及的一个因素。例如,对于96字节的单元,97或98的大小将占用单个单元。为了知道何时发生这种情况,请求包括校正项,所述校正项计算如下:req.len_correct=(byte_len%16)==1或2。
需要进一步验证此项以将其转换为任何可能的单元大小边界。当长度刚好超过单元大小时该项才有效。在这种情况下,经验证的fen_correct项可以通过以下来确定:len_correct=(((16字节大小)%(2*32字节单元大小))==1)&req.len_correct
下表说明了这些值如何适用于少数单元和包大小的示例:
长度校正计算
Figure BDA0003316468910000171
伴随请求的大小使用8字节为单位,并且链路伙伴输入缓冲区单元大小是32字节的倍数(32*y,其中,y=来自CSR的单元大小)。首先,将8字节大小转换为16字节大小(ROUNDUP((8字节大小)/2))。而且,将单元大小转换为以16字节为单位(2*y)。数学上,请求将使用的单元的数量可以通过以下来计算:ROUNDDN(((16字节大小)+2*y-1-len_correct)/(2*y))=#个单元
虽然在硬件中可以进行划分运算,但由于时序原因,无法在仲裁的关键路径中完成划分运算。代替地,使用替代的信用管理。即,信用以32字节为单位进行维护。当请求赢得仲裁时,使用以下计算来根据最大误差项(2*y-1)调整占用的信用数:ROUNDDN(((16字节大小)+2*y-1)/2)=需要最大32字节的信用。因为此计算高估了包所需的信用,因此在接下来的时钟上,可以执行模运算(×=(16宁节大小)MOD 2*y,y=来自CSR的32字节单元大小)来确定实际余数。此值与len_correct项一起用于调整信用计数器。用于为X创建调整值(adf_val)的公式是:如果(×==0),则adj_val=y-1,否则如果(X==1和fen_correct),则adj_val=y,否则,adj_val=ROUNDDN((X-1)/2)
下表说明了96字节单元的请求信用示例,所述示例示出了交换机输入缓冲区的96字节单元(y=3)在若干包长度中使用的值。
96字节单元的请求信用示例
Figure BDA0003316468910000181
如果请求在转发到链路伙伴输入缓冲区之前被过滤,则输出缓冲区逻辑返回SQ和VC,以便SQ和VC可以用于将信用返回到适当的信用计数器。不需要大小,因为包大小始终相同,即归约帧的长度(69字节或16字节大小=5)。
链路的本地(主)侧维护从两个集上的每个VC发送的包数量(共8个)的计数、发送到每个VC的包数量(4个)的计数(以32字节为单位),以及为每个缓冲区分类发送的包数量(8个)的计数(以32字节为单位)。链路的链路伙伴(从)侧维护相同的一组计数,并定期在链路上发送这些计数。主从计数之间的差异是来自两个集上的每个VC的链路伙伴输入缓冲区中的包数量的计数以及每个VC和每个缓冲区分类当前占用的空间量的计数(以32字节为单位)。还维护所有包使用的空间总量的计数。计数器的总结如下:master_vcx_cnt[4]/slave_vcx_cnt[4]——发送到集X中的每个VC的包数量的主从计数;master_vcy_cnt[4]/slave_vcy_cnt[4]——发送到集Y中的每个VC的包数量的主从计数;master_bc_cnt[8]/slave_bc_cnt[8]——每个缓冲区分类占用的空间量的主从计数,以32字节为单位;master_vc_cnt[4]/slave_vc_cnt[4]——每个VC占用的空间量的主从计数,以32字节为单位;master-tot-cnt/slave-tot-cnt——占用的空间总量的主从计数,以32字节为单位。
热复位时所有计数器都设置为零。当链路处于排空状态或设置DBG_RESET CSR位以清除计数器的状态时,计数器也被强制为零。输出缓冲区过滤器将归约包引导至到链路伙伴输入缓冲区的路径以外的位置。在这种情况下,信号可以与包的SQ和VC一起返回。同样,由于这些包的大小是固定的,因此不需要长度。此信息用于调整适当的主信用计数。
如果请求的VC计数为0(表明其一个静态指派的时隙可用)或动态空间中存在最大大小帧的空间(受目标缓冲区分类和VC限制),则允许所述请求参与仲裁。最大帧大小可以有单个可编程值,用于所有VC和SQ。输入缓冲区空间的请求校验可以使用基于信用的流控制来解决。
基于信用的流控制可以用于通过两种方式划分动态空间,每种方式彼此独立:首先,基于对四个VC中的每一个可以占用多少动态空间的限制;以及其次,基于对八个缓冲区分类中的每一个可以占用多少动态空间的限制。在这两种情况下,限制都设置为可用空间的百分比。对于给定的包,应在其目标VC和缓冲区分类两者中提供可用空间。例如,如果每个空间的限制设置为50%,如果一个空间是活动的,它可以访问50%的缓冲区空间,如果有两个活动的,每个空间获得37.5%((50+50*.5)/2),如果有三个活动的,每个空间得到29.2%((75+25*.5)/3),等等。而且,这些活动的空间使用的总空间可以限制为给定的总数(50%、75%、87.5%)。因此,分配给每一者的空间根据当前活动的数量而动态变化。当另外一个空间变为活动的时,其导致其他活动的空间放弃它们的空间中的某些空间,然后由新的一个空间占用这些空间。
如上面讨论的划分功能一样,此功能被实施为查找表。对于此示例中的VC空间,存在16个条目,其中,每个条目指定每个VC可用的空间以及所有VC可用的总空间。对于缓冲区分类,可以存在256个条目,其中,每个条目指定每个缓冲区分类可用的空间以及所有缓冲区分类可用的总空间。用于每一者的空间都以2048字节为单位表示。每个表的深度足以覆盖活动成员(VC或缓冲区分类)的所有组合,其中,每个组合都能够对这些组合的百分比进行独立设置。在这种情况下,由软件按照共有多少动态空间以及允许每个空间在所有可能组合中所占的百分比来对表中的值进行编程。随着更多成员变为活动的,每个成员被允许的空间越来越少,并且可用的总空间会增加。对在此限制以上或总量在总限制以上的空间的请求不允许占用更多动态空间。
如果VC或缓冲区分类在年龄队列中有请求或者如果VC或缓冲区分类有链路伙伴输入缓冲区空间的未完成信用,则认为所述VC或缓冲区分类是活动的。作为示例,考虑仅有4个空间(16个条目的表),百分比设置为SPACE0(50%)、SPACE1(40%)、SPACE2(30%)、SPACE3(10%),并且总动态空间为16KB。这将产生以下缓冲区空间示例表中给出的16字节为单位的值。
缓冲区空间示例
索引 SPACE3 SPACE2 SPACE1 SPACE0 总计
0 N/A N/A N/A N/A N/A
1 N/A N/A N/A 512 512
2 N/A N/A 410 N/A 410
3 N/A N/A 319 398 717
4 N/A 307 N/A N/A 307
5 N/A 250 N/A 416 666
6 N/A 255 339 N/A 594
7 N/A 202 270 337 809
8 102 N/A N/A N/A 102
9 94 N/A N/A 469 563
10 94 N/A 377 N/A 471
11 75 N/A 299 374 748
12 95 284 N/A N/A 379
13 78 234 N/A 389 701
14 80 239 319 N/A 638
15 79 236 315 394 1024
作为示例,索引7的行中的值计算如下:总计%=0.5+(1-0.5)*0.4+(1-0.5-(1-0.5)*0.4)*0.3=0.79;SPACE0=(0.5/(0.5+0.4+0.3))*0.79*1024=337;SPACE1=(0.4/(0.5+0.4+0.3))*0.79*1024=270;SPACE2=(0.3/(0.5+0.4+0.3))*0.79*1024=202;总计=337+270+202=809
如上所述,并返回参考图2,诸如交换机202等交换机可以用于创建交换机结构,其中,交换机端口220可以被配置为作为边缘端口或结构端口操作。还如上所述,交换机202可以支持各种网络拓扑,包括但不限于例如蜻蜓和胖树拓扑。网络可以被认为包括一个或多个切片,每个切片都具有相同的整体拓扑,尽管切片在每个切片的填充方式方面可以不同。节点连接到每个切片上的一个或多个端口。当网络具有多个切片、并且节点连接到多于一个切片时,假设该节点连接在每个切片中的相同位置。
交换机结构中的路由可以由在交换机202中实施的结构路由功能(FRF)来控制。示例FRF部件500在图5A和图5B中图示。应当理解,FRF部件500的单独实例可以在交换机202的每个端口的输入逻辑内实施。FR部件500做出的路由决策可以应用于那些还不是已确立流的一部分的帧。应当注意,FTF部件500不一定知道特定帧是否与流相关联,而是为在输入端口处呈现的每个帧做出独立的转发决策。FRF部件500可以包括过滤器、表格、电路和/或逻辑(诸如选择电路/逻辑),以实现如本文所述的贯穿交换机结构的数据的路由。如所图示的,FRF部件500至少包括:最小端口选择部件502(其包括最小表部件502A)、各种端口过滤器(允许端口过滤器、操作端口过滤器、忙端口过滤器);优选端口鉴别部件502B;伪随机向下选择部件/逻辑502C;例外表504(包括例外清单表504A);包括全局故障表506A的操作端口部件506;以及路由算法表508。如图5B中所图示的,FRF部件500可以进一步包括:非最小端口选择部件510,其包括局部非最小选择部件510A和全局非最小选择部件510B;以及输出逻辑部件512(其是交换机的输出控制块的一部分),其包括自适应选择部件或逻辑512A,所述自适应选择部件或逻辑进而包括偏置部件514,该偏置部件包括偏置表514A。FRF部件500包括其他部件,并且在本文中被描述。
特别地,FRF部件500使用优选端口鉴别器502B来确定优选端口以基于以下来转发在输入端口处呈现的每个帧:所接收的帧的目的地结构地址(DFA);帧的当前路由状态(帧在其路径上的位置、以及到达其当前路由状态所取的(多个)路径);交换机结构路由算法和配置;以及与使用忙端口过滤器的输出端口(帧将被转发到的上述优选端口)相关联的负载指标。
FRF部件500可以包括路由算法表508,该路由算法表可以体现为基于帧的当前路由状态确定有效选择的软件可配置表。有效的选择是诸如是否允许为帧的下一跳选择局部最小、全局最小、局部非最小、或全局非最小路径等决策。路由状态包括信息,诸如在其上接收到帧的VC、以及帧是在源、目的地还是中间分组中。路由算法表508连同自适应选择功能或逻辑512A(如下所述)还确定要用于帧的下一跳的VC。
以使用单播DFA的帧路由为示例来描述。但是,应当注意,路由请求的DFA可以是单播或多播格式。单播格式可以包括9位全局ID字段(global_id)、5位交换机ID字段(switch_id)、以及6位端点ID字段(endpoint_id)。全局ID可以唯一标识网络内的分组。具体地,全局ID标识帧必须传送到的最终分组。交换机ID唯一标识全局ID标识的分组内的交换机。端点ID字段与全局ID以及交换机ID一起标识连接到网络结构的边缘以及帧将被传送到的端点。该字段映射到由全局ID和交换机ID标识的交换机上的一个端口或一组端口。
多播格式包括13位的多播ID字段(multicast_id)。该字段由FRF部件500映射到帧要转发到的当前交换机上的一组端口。
根据该信息,FRF部件500确定帧的更新的路由状态,然后在帧内携带该状态。例如,为了在蜻蜓拓扑中实现路由,可以从帧的VC中收集帧的当前状态(上面讨论的)。基于为交换机结构指定的算法交换机结构路由规则(这些规则的选择在下面描述),FRF部件500确定要用于帧的下一跳的特定VC以避免任何死锁。可以取决于帧在其路径上的位置(例如,帧是在其源分组中、在中间分组中、还是在其目的地分组中)来提供额外的路由状态信息。应当注意,FRF部件500使用允许端口过滤器、操作端口过滤器、忙端口过滤器等来执行端口过滤(下文更详细地描述)以确定帧将被转发到的优选端口当前是否有故障、忙、缺席等。
FRF部件500从交换机202接收与该FRF部件的输出端口相关联的负载测量值。FRF部件500的输入端口的负载信息也从相邻交换机接收。在一些实施例中,FRF部件500与交换机(例如,交换机202)内的所有其他FRF部件实例以及与交换机结构中的相邻交换机交换该FRF部件的输入端口和输出端口负载信息。以这种方式,交换机结构中的每个交换机的每个FRF部件实例都知道所有相邻交换机的汇总负载信息。
应当注意,FRF部件500可以支持帧多播。当接收到多播DFA时,FRF部件500确定与多播DFA相关联的帧应该被转发到的一组端口。可以通过访问将软件配置的多播结构地址映射到输出端口的查找表来确定该组端口。这避免了与重复多播帧副本相关联的问题。
逐流量分类路由
传统上,流量分类(TC)和服务质量(QoS)是用于通过基于网络资源分配和诸如流量优先级、带宽共享、或最大时延周期等的属性提供服务水平保证来保证可预测的运行时间并提高应用性能的机制。通常,这些机制与时延和带宽特性有关。如上所述,本文公开的逐流量分类路由技术影响时延和带宽之外的特性,包括以逐流量分类的方式进行的路由行为、应用数据流分离、以及拥塞控制。因此,所公开的技术能够实现对网络数据传输的独立、细粒度控制,除了更传统的以太网和TCP网络特性之外,还能够直接支持HPC应用、服务和工作流要求。
例如,TC目前确立在以太网空间中,但许多分类和行为最适合因特网或数据中心应用和流量模式。这些分类主要是通过影响网络硬件设备包队列、缓冲区和对它们的仲裁来实现的,以确定数据包如何从入口前进到出口。
所公开的技术支持已经确立的分类,同时专门关注HPC应用、HPC相关特性以及特定网络行为和工作流的HPC相关要求。为了更好地支持HPC应用和服务,已将机制内置到交换机中(如图1所示)以提供支持许多HPC工作流的特定功能。使用当前确立的流量分类之外的额外的流量分类,在网络结构中启用、配置以及调整此功能,以确定数据流和网络属性,诸如有序或无序数据传送、有损或无损传输、路由指令以及流量整形规则。多个独立的TC可以在相同的物理网络基础设施上同时运行,允许逐TC的路由和数据流属性与特定的应用和服务操作相关联。
除了基于网络数据流的分类之外,此新模型还支持特定于HPC应用的映射。可以通过多种方式对HPC应用内的进程间通信进行分类,包括但不限于:
·自动地,基于应用阶段,对数据输入和输出以及应用同步阻碍和归约进行分类。该分类形式不需要更改软件代码。
·通过HPC通信库支持(在MPI或LibFabrics中),根据应用内特定或普遍确立的调用约定对库调用进行分类。该分类形式需要将应用与支持这些新的HPC分类的库相关联。
·通过应用代码自身内的显式指令,提供最细粒度的分类控制。该分类需要修改应用自身,但提供最高级别的控制。
根据实施例,通过在从节点的网络接口到网络的出口上标记流内的包来识别应用的流量流并将其与特定的TC相关联。包报头中的字段携带代码点,它是指示一个或多个优选网络行为的位图。在网络分类期间,流量被分为若干分类,每个分类都以专门不同的方式处理,但受不同的路由、优先性、整形、以及调度规则的限制。
网络以类似于差分服务和优先性模型(分别称为差分服务代码点(DSCP)和优先性代码点(PCP))的方式实施网络流量分类、整形以及控制策略,其中,属于应用的数据流的包通过在包报头的保留字段中设置位来添加标签。这些代码点位由网络用于分类,以便从多个网络范围的、预定义的流量分类中选择实施特定行为的将代码点映射到网络的动作。使用该模型来支持已确立的以太网和TCP TC以及特定于HPC的分类。
在传统的系统中,标准的DSCP调用对应的标准行为,映射以一致的方式在整个网络上执行,从网络入口到出口。这些通用映射较差地限定了典型的HPC应用的专用行为。因而,所公开的技术使用HPC相关的TC来识别与低时延的事务性操作(诸如同步阻碍或归约)有关的流量流;其中有作为批量数据传送的一部分的流量;或与需要优先网络访问的特定应用或用户相关联的流量。
除了这些HPC应用流量分类之外,支持网络的结构还可以指定、配置、以及控制交换机ASIC中设计的许多性能差异化功能。自适应路由偏置、有序/乱序传送、以及有损或无损传送标记可以与特定的TC相关联。
现在参考图4,图示了根据所公开的实施例的被配置为对流量进行分类的交换机402的概念图。在该示例中,交换机402接收可以经由交换机结构在源与目的地之间传送的数据流量406。如所图示的,数据流量406可以作为包括多个数据包的流被交换机402接收。交换机402包括基于可以被编程到交换机402的逻辑中的定义的流量分类430来对数据流量406进行分类的功能。重要的是,交换机406采用的流量分类430适合于特别基于与HPC和HPC应用有关的特性来对流量进行分类。流量分类430可以以可以在融合网络上实现可预测、可重复以及可配置的性能的方式映射到特定的I/O模式。这些混合行为将有效地限定特定流量模式430的配置。可以选择多个HPC特性来管控定义的流量分类430。可以使用的HPC特性的示例包括但不限于:
·流量分类选择器(优先性/优先级)
·清道夫/随时
·尽力而为(best efforts)(默认)
·批量I/O
·阻碍/同步
·自适应路由/流旁路
·最大时延=<us>
·最小带宽=<%>I<Gbps>
·将注入速率限制为最大<%>
·加速传送
通常,流量分类430很好地映射到HPC应用的操作要求。另外,这些分类允许指定相关应用优先级的方式,从而区分时间或业务关键应用和其他作业。若干单独的分类可以被包括到交换机430采用的流量分类430中。在该示例中,各个流量分类被示出为包括:低时延类431;专用接入类432;批量数据类433;尽力而为类434;以及清道夫类435。然而,应当理解,所示的各个流量分类431-435是出于讨论的目的而不旨在是限制性的。因此,根据本文公开的实施例,如果认为合适,可以采用其他类型的HPC相关的流量分类。
低时延类431支持低时延、低抖动数据模式。低时延通常可以是由事务性数据交换、阻碍同步、以及总的操作引起的。指定的最大时延由低时延类431保证。低时延类431中的服务保证通常将需要伴随的带宽上限和包大小限制,以免在高优先级时消耗过多带宽。
专用接入类432提供了将以最高优先级操作的类别。例如,专用接入类432可以包括高带宽分配、最大保证时延以及最高调度和仲裁优先级。专用接入类432可以具有高于所有其他分类的绝对优先级。
批量数据类433可以主要用于I/O,并用于将持续数据传送与其他应用的进程间通信分开。
尽力而为类434可以作为默认的共享分类。尽力而为类434可以为在相同网络基础设施上同时执行的多个应用携带流量。即使尽力而为类434是共享的,网络容量和资源分配也在应用之间公平分发。
清道夫类435可以用于所期望的数据,但没有严格的传送要求。可以包括在清道夫类435中的流量示例的示例是监控数据,尤其是对于特定于应用的监测(诸如使用性能工具)。对于带外传输而言过于庞大的数据,也可以通过此方式来完成全局监测。使用清道夫类435确保了这种通信不会干扰进行“真实”工作(例如,高优先级)的通信。
通常,特定流量分类的每跳行为(PHB)定义了如何转发包或帧,并且可以通过重新分类包的代码点来在每个网络路由器处改变。逻辑上,由许多互连的交换机ASIC组成的完整的交换机结构可以被视为单个逻辑网络实体。这样,根据实施例的分类可以在网络结构入口处执行并且不改变地携带到网络结构出口。因此,执行流量分类的交换机402可以是进入到交换机结构的入口。
用于流量分类的特定于结构的标签
在进入结构时,交换机402可以接收包或帧,并解析该包。此后,报头的DSCP或以太网VLAN字段的PCP用作主要来源以生成特定于结构的标签(Ftag),所述标签指示指派给该包的流量分类。如果正在使用DSCP,则还定义了隐式DSCP到PCP的映射。随后,Ftag可以用作到交换机资源(诸如输入缓冲区空间分配和执行后续流量仲裁的流量整形队列)的直接或间接映射。报头的其他字段也可以用于影响最终的Ftag值。Ftag可以是4位的字段,其最终用于控制包穿过整个网络结构时的行为。如上所述,当帧从以太网端口进入结构时计算FTag值,然后在帧穿过网络结构时在结构报头中保持不变。
在示例中,随着Ftag在结构中前进,FTag的16个值可以映射到整形队列(SQ)的8个值上。SQ值在请求交叉开关上传递到输出端口中的年龄队列。整形函数控制在AGEQ中执行的仲裁。
在AGEQ中存在从SQ到缓冲区分类(BC)的后续映射。BC用于划分链路伙伴的输入缓冲区中的可用空间。此额外的映射允许对不需要太多带宽的低时延类的输入缓冲区进行某种聚合并且由此需要较小的缓冲区空间。
由于存在FTag到SQ的固定映射以及SQ到BC的后续的固定映射,因此存在直接从FTag到BC的隐式固定映射。管理软件要求确保这些映射对于所有活动的FTag、SQ以及BC而言在整个网络结构中完全一致。可以使FTag为非活动的,使得软件可以在忙的网络上重新组织这些映射,但这将是重量级的操作。
此FTag然后被添加到结构报头,因为包在它出来返回到另一个以太网链路之前由所述包通过的所有交换机的所有功能块处理。对于一些传输协议,可能需要从FTag返回到DSCP或从FTag返回到PCP的反向映射。在这种情况下,可以在最终交换机的EEG块中执行反向映射。在从结构出来时,如果网络结构边缘端口连接到支持门户或以太网的设备,则内部Ftag可以被转换回DSCP或PCP,从而端到端地保留入口代码点。
网络结构的转发行为(或PHB)可以由Ftag确定。Ftag可以用于实施多个QoS类别,支持可观察和不可观察的网络行为,最终目标是为一系列应用工作负载和流量提供可预测、可扩展、高性能的应用执行。可以基于Ftag的QoS类别以及Ftag指示的流量分类可以包括:
·结构路由
·流量分离
·流量整形
·拥塞管理
交换机结构中的路由可以由在交换机202中实施的结构路由功能(FRF)来控制。示例FRF部件500在图5A和图5B中图示。应当理解,FRF部件500的单独实例可以在交换机202的每个端口的输入逻辑内实施。FRF部件500做出的路由决策可以应用于那些还不是已确立流的一部分的帧。应当注意,FRF部件500不一定知道特定帧是否与流相关联,而是为在输入端口处呈现的每个帧做出独立的转发决策。FRF部件500可以包括过滤器、表格、电路和/或逻辑(诸如选择电路/逻辑),以实现如本文所述的贯穿交换机结构的数据的路由。如所图示的,FRF部件500至少包括:最小端口选择部件502(其包括最小表部件502A)、各种端口过滤器(允许端口过滤器、操作端口过滤器、忙端口过滤器);优选端口鉴别部件502B;伪随机向下选择部件/逻辑502C;例外表504(包括例外清单表504A);包括全局故障表506A的操作端口部件506;以及路由算法表508。如图5B中所图示的,FRF部件500可以进一步包括:非最小端口选择部件510,其包括局部非最小选择部件510A和全局非最小选择部件510B;以及输出逻辑部件512(其是交换机的输出控制块的一部分),其包括自适应选择部件或逻辑512A,所述自适应选择部件或逻辑进而包括偏置部件514,该偏置部件包括偏置表514A。FRF部件500包括其他部件,并且在本文中被描述。
特别地,FRF部件500使用优选端口鉴别器502B来确定优选端口以基于以下来转发在输入端口处呈现的每个帧:所接收的帧的目的地结构地址(DFA);帧的当前路由状态(帧在其路径上的位置、以及到达其当前路由状态所取的(多个)路径);交换机结构路由算法和配置;以及与使用忙端口过滤器的输出端口(帧将被转发到的上述优选端口)相关联的负载指标。
FRF部件500可以包括路由算法表508,该路由算法表可以体现为基于帧的当前路由状态确定有效选择的软件可配置表。有效的选择是诸如是否允许为帧的下一跳选择局部最小、全局最小、局部非最小、或全局非最小路径等决策。路由状态包括信息,诸如在其上接收到帧的VC、以及帧是在源、目的地还是中间分组中。路由算法表508连同自适应选择功能或逻辑512A(如下所述)还确定要用于帧的下一跳的VC。
以使用单播DFA的帧路由为示例来描述。但是,应当注意,路由请求的DFA可以是单播或多播格式。单播格式可以包括9位全局ID字段(global_id)、5位交换机ID字段(switch_id)、以及6位端点ID字段(endpoint_id)。全局ID可以唯一标识网络内的分组。具体地,全局ID标识帧必须传送到的最终分组。交换机ID唯一标识全局ID标识的分组内的交换机。端点ID字段与全局ID以及交换机ID一起标识连接到网络结构的边缘以及帧将被传送到的端点。该字段映射到由全局ID和交换机ID标识的交换机上的一个端口或一组端口。
多播格式包括13位的多播ID字段(multicast_id)。该字段由FRF部件500映射到帧要转发到的当前交换机上的一组端口。
根据该信息,FRF部件500确定帧的更新的路由状态,然后在帧内携带该状态。例如,为了在蜻蜓拓扑中实现路由,可以从帧的VC中收集帧的当前状态(上面讨论的)。基于为交换机结构指定的算法交换机结构路由规则(这些规则的选择在下面描述),FRF部件500确定要用于帧的下一跳的特定VC以避免任何死锁。可以取决于帧在其路径上的位置(例如,帧是在其源分组中、在中间分组中、还是在其目的地分组中)来提供额外的路由状态信息。应当注意,FRF部件500使用允许端口过滤器、操作端口过滤器、忙端口过滤器等来执行端口过滤(下文更详细地描述)以确定帧将被转发到的优选端口当前是否有故障、忙、缺席等。
FRF部件500从交换机202接收与该FRF部件的输出端口相关联的负载测量值。FRF部件500的输入端口的负载信息也从相邻交换机接收。在一些实施例中,FRF部件500与交换机(例如,交换机202)内的所有其他FRF部件实例以及与交换机结构中的相邻交换机交换该FRF部件的输入端口和输出端口负载信息。以这种方式,交换机结构中的每个交换机的每个FRF部件实例都知道所有相邻交换机的汇总负载信息。
应当注意,FRF部件500可以支持帧多播。当接收到多播DFA时,FRF部件500确定与多播DFA相关联的帧应该被转发到的一组端口。可以通过访问将软件配置的多播结构地址映射到输出端口的查找表来确定该组端口。这避免了与重复多播帧副本相关联的问题。
使用流量分类进行路由
现在参考图6,描绘了用于实施逐流量分类路由的示例过程600的流程图。过程600可以通过网络交换机(如图1中所示)来实施。因此,该过程被图示为存储在机器可读存储介质604中并且由计算部件605中的硬件处理器602执行的一系列可执行操作。软件处理器602执行过程600,从而实施本文公开的技术。
如贯穿全文所述,交换机提供系统范围的流量分类,并通过这些流量分类来提供逐流量分类的控制能力。逐流量分类的控制可以管控如何管理网络中的流量。例如,如何路由包和分配的带宽量可以直接基于所述包被指派的流量分类。作为示例,流量整形对流量分类进行操作。在存在网络带宽竞争的情况下,仲裁器会基于包的流量分类和该分类可用的信用来选择要转发的包。另外,网络支持每个流量分类的最小带宽和最大带宽。管理带宽的能力提供了将网络资源以及CPU和存储器带宽专用于应用的机会。
特别地,逐流量分类控制包括在做出路由决策时考虑包的流量分类的路由策略。
过程600开始于操作606,在所述操作中,可以在交换机结构入口端口处接收多个包。例如,作为各种HPC应用经由交换机结构与目的地通信的结果,数据流量可以进入网络。数据流量可以在入口端口处进入交换机结构,例如,作为由入口边缘交换机接收的多个包。不同的应用可以生成不同类型的数据,所述数据具有不同的特性。因此,在操作606中接收的所述多个包中的不同流(对应于不同类型的数据)可以具有属于若干单独的流量分类的字符。换句话说,数据流量可以包括具有不同流量分类的数据。
接下来,在操作608处,确定包(来自所述多个包)的流量分类。操作608可以涉及交换机解析包,并分析包报头中包括PCP(和/或DSCP)的字段。PCP可以指示生成包的应用,或指示与其网络行为有关的特性。在一些实施例中,PCP的值(例如,位)被映射到交换机定义和知道的某些流量分类。因此,基于包的报头中的PCP,交换机可以使用此映射来确定包的对应的流量分类。流量分类基于HPC相关的特性,并且可以包括:低时延类;专用类;批量数据类;尽力而为类;以及清道夫类。参考图4更详细地描述每个流量分类,并且为简洁起见不再赘述。因此,在操作608中将包指派给上述流量分类之一。尽管过程600描述了包被分类,但是应当理解的是,流量分类不限于以逐包的方式。替代性地,例如可以逐流执行流量分类。另外,在操作608中,可以使用不特定于HPC特性(诸如吞吐量、带宽分配(例如,特定于数据流的特性))的常规流量分类来将流量分类指派给包。
如前所述,入口边缘交换机可以执行分类,并在进入交换机结构时将流量分类指派给所述多个包(所述流量分类一直保持到出口点)。因此,不需要在该包在结构中遇到的每个交换机处执行操作608。在为包确定流量分类之后,过程600可以进行至操作610。
随后,在操作610处,可以基于所确定的流量分类为包生成特定于结构的标签。特定于结构的标签指示包已被指派的特定流量分类。如上面详细描述的,特定于结构的标签可以是Ftag。在某些情况下,生成Ftag涉及将PCP转换为Ftag值。因此,特定于结构的标签作为包中可在结构内识别的标记,并用于将包进一步分类为所述包的对应地指派的流量分类。换句话说,在网络结构内,包的流量分类由FTAG值标识。
此后,在操作612处,可以执行检查以确定包的任何路由指令是否取决于关于特定于结构的标签的流量类别。如关于图5A至图5B详细描述的,路由由交换机的FRF控制。因此,FRF及其结构(例如,路由表)可以确定任何路由策略、决策或指令是否取决于包的特定于结构的标签或流量分类。在路由基于流量分类的情况下,则过程移动到操作614并且基于包的流量分类来路由该包。
在操作614中,FRF可以确定对应于包的特定流量分类(如所述包的Ftag所指示的)的特定路由指令。作为示例,FTAG可以用作自适应路由中的偏置值。根据自适应路由,偏置值可以取决于应用所述偏置值的类型的路径(非优选最小、优选最小、以及非最小)、被路由的包的流量分类以及包在其路径上的位置而变化。例如,与其他流量分类中的包相比,低时延流量分类中的包可以更倾向于朝最小路径偏置。
一旦在先前的操作610中对包添加标签,就可以在交换机中实施多个逐流量分类的路由控制。在操作614中可以使用包的流量分类来进行:
·路由偏置设置。FRF支持多个不同的路由偏置,可以选择这些偏置来为特定流量模式提供最佳性能。
·流排序。
ο针对需要排序的协议的完全排序。
ο完全无序允许流量模式的近乎完美的负载均衡,应该从不导致拥塞。
ο排序不重要但流量模式可能导致拥塞的部分有序传送。在这种情况下,允许流量采用任何路线到达目的地,直到目的地开始报告拥塞为止。然后强制流量按顺序传送,这防止了帧的横向传播并防止了输入缓冲区空间的不受控制的使用。
·重定向控制。当沿其路线开始形成拥塞时,长的有序的包流可能开始缓慢前进。重定向将暂时使流停止,允许所述流采用新路径通过网络,并使所述流有机会找到通往目的地的相对更不拥塞的路径。
·静默控制。这可以由管理代理用来保证一组新的路由值将用于一个或多个FTag值。
·请求/响应配置。一些HPC协议是围绕请求和响应协议构建的。在某些情况下,服务器网络接口卡(NiC)内部可能存在依赖性,其中,接受来自网络的请求包取决于NIC将响应包注入回网络的能力。如果网络缓冲区资源完全耗尽,则网络从NIC接受新包的能力可能取决于网络能够将包放回另一个NIC。这是经典的死锁漏洞。可以将服务分类指派为请求或响应,并且这提供了将打破死锁敏感性的保证,因为接受响应包进入网络永远不会取决于来自网络的请求包的传送。
在一些实施例中,除了路由之外(或代替路由),操作614还可以基于流量分类来执行额外的操作,诸如:数据流分离、有序或无序数据传送、有损或无损传输、遥测收集以及流量整形规则。
返回参考操作612,如果确定没有逐流量分类定义的路由指令,则操作可以继续到操作616并基于交换机采用的其他路由策略来路由包。例如,可以基于不取决于包的流量分类的自适应路由技术来路由包。
图7描绘了可以在其中实施本文描述的各种实施例的示例计算机系统700的框图。计算机系统700包括总线702或用于传送信息的其他通信机制、与总线702耦接以处理信息的一个或多个硬件处理器704。(多个)硬件处理器704可以是例如一个或多个通用微处理器。
计算机系统700还包括耦接到总线702以用于存储要由处理器704执行的信息和指令的主存储器706,诸如随机访问存储器(RAM)、缓存和/或其他动态存储设备。主存储器706还可以用于存储在执行要由处理器704执行的指令期间的临时变量或其他中间信息。这种指令当存储在处理器704可访问的存储介质中时使计算机系统700成为被自定义为执行指令中指定的操作的专用机器。
计算机系统700进一步包括只读存储器(ROM)708或耦接到总线702以用于存储处理器704的静态信息和指令的其他静态存储设备。诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等存储设备710被提供并耦接到总线702,用于存储信息和指令。
计算机系统700可以经由总线702耦接到诸如液晶显示器(LCD)(或触摸屏)等显示器712上,以用于向计算机用户显示信息。包括字母数字键和其他键的输入设备714耦接到总线702,以用于将信息和命令选择传送到处理器704。另一种类型的用户输入设备是诸如鼠标、轨迹球或光标方向键等光标控制装置716,以用于将方向信息和命令选择传送到处理器804并用于控制在显示器712上的光标移动。在一些实施例中,与光标控制装置相同的方向信息和命令选择可以通过在没有光标的情况下接收触摸屏上的触摸来实施。
计算系统700可以包括用于实施GUI的用户界面模块,所述GUI可以作为由(多个)计算设备执行的可执行软件代码被存储在大容量存储设备中。通过举例的方式,此模块和其他模块可以包括部件(诸如软件部件、面向对象的软件部件、类部件和任务部件)、进程、函数、属性、过程、子例程、程序代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表格、数组和变量。
通常,如本文所使用的词语“部件”、“引擎”、“系统”、“数据库”、“数据存储”等可以是指在硬件或固件中实施的逻辑,或者是指以诸如例如Java、C或C++等编程语言编写的、可能具有入口点和出口点的软件指令集。软件部件可以被编译并链接到可执行程序,被安装在动态链接库中,或者可以用诸如例如BASIC、Perl、或Python等解释性编程语言编写。应当理解的是,软件部件可从其他部件或从其本身调用,和/或可以响应于检测到的事件或中断而被调用。被配置用于在计算设备上执行的软件部件可以被提供在计算机可读介质中,诸如致密盘、数字视频盘、闪存驱动器、磁盘、或任何其他有形介质,或者可以被提供作为数字下载(并且可以原始地以要求在执行之前安装、解压缩或解密的压缩格式或可安装格式来存储)。这种软件代码可以部分或全部地存储在执行计算设备的存储器设备上,以用于由计算设备执行。软件指令可以嵌入在诸如EPROM等固件中。将进一步理解的是,硬件部件可以包括诸如门和触发器等连接逻辑单元,和/或可以包括诸如可编程门阵列或处理器等可编程单元。
计算机系统700可以使用定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文所描述的技术,所述定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合使计算机系统700成为专用机器或者将其编程为专用机器。根据一个实施例,本文的技术由计算机系统700响应于(多个)处理器704执行主存储器706中包含的一个或多个指令的一个或多个序列而执行。这种指令可以从另一个存储介质(诸如存储设备710)读取到主存储器706中。主存储器706中包含的指令序列的执行使(多个)处理器704执行本文所描述的过程步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。
如本文所使用的术语“非暂态介质(non-transitory media)”及类似术语是指存储使机器以特定方式操作的数据和/或指令的任何介质。这种非暂态介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备710。易失性介质包括动态存储器,诸如主存储器706。非暂态介质的常见形式例如包括软盘、软磁盘、硬盘、固态驱动器、磁带或者任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、闪速EPROM、NVRAM、任何其他存储器芯片或者盒、以及所述介质的联网版本。
非暂态介质不同于传输介质但可以与传输介质结合使用。传输介质参与非暂态介质之间的信息传送。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线702的导线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
计算机系统700还包括耦接到总线702的通信接口718。网络接口718提供耦接到一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接到一个或多个本地网络。例如,通信接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以向对应类型的电话线提供数据通信连接。作为另一个示例,网络接口718可以是用于提供与兼容LAN(或用于与WAN进行通信的WAN部件)的数据通信连接的局域网(LAN)卡。还可以实施无线链路。在任何这种实施方式中,网络接口718发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光学信号。
网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以提供通过本地网络到主计算机或到由因特网服务提供商(ISP)操作的数据设备的连接。ISP进而通过现在通常称为“因特网”的全球包数据通信网络来提供数据通信服务。本地网络和因特网两者都使用携带数字数据流的电信号、电磁信号或光学信号。通过各种网络的信号以及网络链路上和通过通信接口718的信号(其将数字数据携带到计算机系统700和从所述计算机系统携带数字数据)是传输介质的示例形式。
计算机系统700可以通过(多个)网络、网络链路和通信接口718发送消息和接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和通信接口718来传输应用程序的请求代码。
所接收的代码可以在被接收到时由处理器704执行,和/或存储在存储设备710、或其他非易失性存储器中以供稍后执行。
在前面章节中所描述的每个过程、方法、和算法均可以在由包括计算机硬件的一个或多个计算机系统或计算机处理器所执行的代码部件中实施并由所述代码部件全部或部分地进行自动化。所述一个或多个计算机系统或计算机处理器还可以操作以支持“云计算”环境中相关操作的进行、或者操作作为“软件即服务”(SaaS)。所述过程和算法可以在专用电路中部分地或全部地实施。上文所描述的各种特征和过程可以彼此独立地使用,或者可以以各种方式进行组合。不同的组合和子组合旨在落入本公开的范围内,并且在一些实施方式中可以省略某些方法框或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与所述方法和过程相关的框或状态可以以适当的其他顺序进行、或者可以并行进行、或者以某种其他方式进行。可以向所公开的示例实施例中添加框或状态或从中移除框或状态。可以将某些操作或过程的进行分发到多个计算机系统或计算机处理器之中,使其不是仅驻留在单个机器内,而是跨多个机器部署。
如本文所使用的,电路可以利用任何形式的硬件、软件或其组合来实施。例如,可以实施一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑部件、软件例程或其他机制以构成电路。在实施中,本文描述的各种电路可以被实施为分立电路,或者所描述的功能和特征可以在一个或多个电路之中部分地或全部地共享。即使可以分别地描述或主张各种特征或功能元件作为单独的电路,这些特征和功能也可以在一个或多个公共电路之间共享,并且这种描述不应要求或暗示需要单独的电路来实施这种特征或功能。在使用软件来全部或部分地实施电路的情况下,这样的软件可以被实施以与能够执行关于所述软件所描述的功能的计算系统或处理系统(诸如计算机系统700)一起操作。
如本文所使用的,术语“或”可以以包括性或排他性的意义来解释。而且,不应将对单数形式的资源、操作或结构的描述理解为排除复数。除非另外具体规定,或在如所使用的环境内以其他方式被理解,否则条件语言(除其他外,诸如“可(can)”、“可以(could)”、“可能(might)”、或“会(may)”)一般地旨在传达某些实施例包括(而其他实施例不包括)某些特征、元素和/或步骤。
除非另外明确说明,否则本文档中使用的术语和短语及其变体应被解释为开放式的而不是限制性的。形容词(诸如“常规(conventional)”、“传统(traditional)”、“正常(normal)”、“标准(standard)”、“已知(known)”和类似含义的术语)不应被解释为将所描述的项限制为给定时间段或在给定时间可用的项,而是应该被理解为包含可能现在或将来的任何时候都可用或已知的常规、传统、正常或标准技术。在某些实例中,宽泛词语和短语(诸如“一个或多个”、“至少”、“但不限于”或其他类似的短语)的存在不应被理解为是指在这样的宽泛短语可能不存在的情况下意图或要求更窄的情况。

Claims (15)

1.一种用于对流量数据进行分类的方法,所述方法包括:
在交换机结构的入口端口处接收多个包;
为所述多个包中的至少一个包确定流量类别,其中,所确定的流量类别选自与网络的特定于应用数据的特性有关的一组定义的流量分类;以及
为所述至少一个包生成指示所确定的流量类别的特定于结构的标志。
2.如权利要求1所述的方法,其中,确定所述流量类别包括:
解析所述至少一个包;
分析所述包的报头中的优先性代码点(PCP)或差分服务代码点(DSCP),其中,所述PCP指示与所述包相关联的应用或与所述包相关联的特定于应用数据的特性;以及
将所分析的PCP映射到该组定义的流量分类中的流量分类,以便确定所述流量类别。
3.如权利要求2所述的方法,其中,所述应用是高性能计算(HPC)应用,并且所定义的流量分类与特定于HPC的特性有关。
4.如权利要求2所述的方法,其中,交换机结构的所述入口端口与入口边缘交换机相关联。
5.如权利要求4所述的方法,其中,所述特定于结构的标签向所述交换机结构内的其他交换机标识所述至少一个包的所述流量类别。
6.如权利要求5所述的方法,其中,所述特定于结构的标签是能够在所述交换机结构内用于基于所确定的流量类别来对所述至少一个包执行逐流量分类路由的FTAG值。
7.如权利要求6所述的方法,其中,所述特定于结构的标签是能够在所述交换机结构内用于基于所确定的流量类别来对所述至少一个包执行动作的FTAG值,所述动作包括以下中的至少一项:流量整形、数据流分离、有序数据传送或无序数据传送、有损传输或无损传输、以及拥塞管理。
8.如权利要求7所述的方法,其中,该组定义的流量分类包括:低时延类、专用接入类、批量数据类、尽力而为类、以及清道夫类。
9.如权利要求8所述的方法,其中,额外定义的流量分类与特定于数据传输的特性有关,所述特定于数据传输的特性包括吞吐量、带宽以及时延。
10.如权利要求9所述的方法,其中,所定义的流量分类与路由、排序、重定向、静默、HPC协议配置以及遥测有关。
11.一种交换机,包括:
专用集成电路(ASIC),所述ASIC用于:
在所述交换机的入口端口处接收多个包;
为所述多个包中的每个包确定流量类别,其中,所确定的流量类别选自与网络的特定于应用数据的特性有关的一组定义的流量分类;
针对所述多个包中的每个包,为所述一个包生成指示所确定的流量类别的特定于结构的标志;
确定路由指令是否取决于所述交换机结构内的流量类别;以及
响应于确定路由指令取决于流量类别,使用相应的特定于结构的分类来为所述多个包执行基于每个分类的路由。
12.如权利要求11所述的交换机,具有所述ASIC以进一步用于:
对于所述多个包中的每个包,解析该包;
对于所述多个包中的每个包,分析该包的报头中的优先性代码点(PCP),其中,所述PCP指示与该包相关联的应用或与该包相关联的特定于应用数据的特性;以及
对于所述多个包中的每个包,将所分析的PCP映射到该组定义的流量分类中的流量分类,以便确定所述流量类别。
13.如权利要求12所述的交换机,其中,所述应用是高性能计算(HPC)应用,并且所定义的流量分类与特定于HPC的特性有关。
14.如权利要求13所述的交换机,其中,该组定义的流量分类包括:低时延类、专用接入类、批量数据类、尽力而为类、以及清道夫类。
15.如权利要求12所述的交换机,具有所述ASIC以进一步用于:
基于流量类别来对所述多个包执行动作,所述动作包括以下中的至少一项:流量整形、数据流分离、有序数据传送或无序数据传送、有损传输或无损传输、以及拥塞管理。
CN202080030734.8A 2019-05-23 2020-03-23 用于逐流量分类路由的系统和方法 Pending CN113767598A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962852273P 2019-05-23 2019-05-23
US201962852289P 2019-05-23 2019-05-23
US201962852203P 2019-05-23 2019-05-23
US62/852,273 2019-05-23
US62/852,203 2019-05-23
US62/852,289 2019-05-23
PCT/US2020/024340 WO2020236301A1 (en) 2019-05-23 2020-03-23 Systems and methods for per traffic class routing

Publications (1)

Publication Number Publication Date
CN113767598A true CN113767598A (zh) 2021-12-07

Family

ID=73458112

Family Applications (29)

Application Number Title Priority Date Filing Date
CN202080030421.2A Pending CN113785536A (zh) 2019-05-23 2020-03-23 用于在数据驱动的智能网络中促进跟踪器分组的系统和方法
CN202080029801.4A Pending CN113711550A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中细粒度流控制的系统和方法
CN202080031355.0A Pending CN114073054A (zh) 2019-05-23 2020-03-23 促进采用基于逐流信用的流控制的数据驱动智能网络的系统和方法
CN202080030714.0A Pending CN113767600A (zh) 2019-05-23 2020-03-23 用于在存在持续流的情况下的自适应路由的系统和方法
CN202080030734.8A Pending CN113767598A (zh) 2019-05-23 2020-03-23 用于逐流量分类路由的系统和方法
CN202080028898.7A Pending CN113692581A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中非幂等性操作的高效管理的系统和方法
CN202080031357.XA Pending CN113728594A (zh) 2019-05-23 2020-03-23 用于促进对各个应用和流量流进行流控制的数据驱动智能网络的系统和方法
CN202080031262.8A Pending CN113767601A (zh) 2019-05-23 2020-03-23 用于分发软件确定的全局负载信息的方法
CN202080030809.2A Pending CN113767599A (zh) 2019-05-23 2020-03-23 用于减少跳数的优化的自适应路由
CN202080029737.XA Pending CN113711549A (zh) 2019-05-23 2020-03-23 用于动态分配归约引擎的系统和方法
CN202080029835.3A Pending CN113711547A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的高效包转发的系统和方法
CN202080031241.6A Pending CN113748648A (zh) 2019-05-23 2020-03-23 权重路由
CN202080029870.5A Pending CN113728596A (zh) 2019-05-23 2020-03-23 在网络接口控制器(nic)中促进对幂等操作进行高效管理的系统和方法
CN202080029766.6A Pending CN113728597A (zh) 2019-05-23 2020-03-23 用于在网络中执行即时归约的系统和方法
CN202080031291.4A Pending CN113748652A (zh) 2019-05-23 2020-03-23 在自适应路由中使用来自相邻节点的负载信息的算法
CN202080031578.7A Pending CN113748647A (zh) 2019-05-23 2020-03-23 胖树自适应路由
CN202080028945.8A Pending CN113692725A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的高效负载均衡的系统和方法
CN202080029462.XA Pending CN113711173A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的数据请求管理的系统和方法
CN202080029591.9A Pending CN113711551A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的动态命令管理的系统和方法
CN202080029588.7A Pending CN113728595A (zh) 2019-05-23 2020-03-23 促进通过网络接口控制器(nic)进行高效主机存储器访问的系统和方法
CN202080031098.0A Pending CN113728592A (zh) 2019-05-23 2020-03-23 促进采用端点拥塞检测和控制的数据驱动智能网络的系统和方法
CN202080030711.7A Pending CN113728593A (zh) 2019-05-23 2020-03-23 用于在应用之间提供网络出口公平性的方法和系统
CN202080030246.7A Pending CN113711548A (zh) 2019-05-23 2020-03-23 用于促进网络中的全局公平性的系统和方法
CN202080029985.4A Pending CN113874848A (zh) 2019-05-23 2020-03-23 用于促进网络接口控制器(nic)中对加速器的操作管理的系统和方法
CN202080031356.5A Pending CN113785541A (zh) 2019-05-23 2020-03-23 用于在存在错误的情况下的即时路由的系统和方法
CN202080032169.9A Pending CN113785543A (zh) 2019-05-23 2020-03-23 用于在应用之间提供网络入口公平性的方法和系统
CN202080029704.5A Pending CN113728599A (zh) 2019-05-23 2020-03-23 促进将包高效地注入网络接口控制器(nic)中的输出缓冲区中的系统和方法
CN202080030067.3A Pending CN113728315A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的有效消息匹配的系统和方法
CN202080030125.2A Pending CN113728598A (zh) 2019-05-23 2020-03-23 用于促进自管理的归约引擎的系统和方法

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN202080030421.2A Pending CN113785536A (zh) 2019-05-23 2020-03-23 用于在数据驱动的智能网络中促进跟踪器分组的系统和方法
CN202080029801.4A Pending CN113711550A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中细粒度流控制的系统和方法
CN202080031355.0A Pending CN114073054A (zh) 2019-05-23 2020-03-23 促进采用基于逐流信用的流控制的数据驱动智能网络的系统和方法
CN202080030714.0A Pending CN113767600A (zh) 2019-05-23 2020-03-23 用于在存在持续流的情况下的自适应路由的系统和方法

Family Applications After (24)

Application Number Title Priority Date Filing Date
CN202080028898.7A Pending CN113692581A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中非幂等性操作的高效管理的系统和方法
CN202080031357.XA Pending CN113728594A (zh) 2019-05-23 2020-03-23 用于促进对各个应用和流量流进行流控制的数据驱动智能网络的系统和方法
CN202080031262.8A Pending CN113767601A (zh) 2019-05-23 2020-03-23 用于分发软件确定的全局负载信息的方法
CN202080030809.2A Pending CN113767599A (zh) 2019-05-23 2020-03-23 用于减少跳数的优化的自适应路由
CN202080029737.XA Pending CN113711549A (zh) 2019-05-23 2020-03-23 用于动态分配归约引擎的系统和方法
CN202080029835.3A Pending CN113711547A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的高效包转发的系统和方法
CN202080031241.6A Pending CN113748648A (zh) 2019-05-23 2020-03-23 权重路由
CN202080029870.5A Pending CN113728596A (zh) 2019-05-23 2020-03-23 在网络接口控制器(nic)中促进对幂等操作进行高效管理的系统和方法
CN202080029766.6A Pending CN113728597A (zh) 2019-05-23 2020-03-23 用于在网络中执行即时归约的系统和方法
CN202080031291.4A Pending CN113748652A (zh) 2019-05-23 2020-03-23 在自适应路由中使用来自相邻节点的负载信息的算法
CN202080031578.7A Pending CN113748647A (zh) 2019-05-23 2020-03-23 胖树自适应路由
CN202080028945.8A Pending CN113692725A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的高效负载均衡的系统和方法
CN202080029462.XA Pending CN113711173A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的数据请求管理的系统和方法
CN202080029591.9A Pending CN113711551A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的动态命令管理的系统和方法
CN202080029588.7A Pending CN113728595A (zh) 2019-05-23 2020-03-23 促进通过网络接口控制器(nic)进行高效主机存储器访问的系统和方法
CN202080031098.0A Pending CN113728592A (zh) 2019-05-23 2020-03-23 促进采用端点拥塞检测和控制的数据驱动智能网络的系统和方法
CN202080030711.7A Pending CN113728593A (zh) 2019-05-23 2020-03-23 用于在应用之间提供网络出口公平性的方法和系统
CN202080030246.7A Pending CN113711548A (zh) 2019-05-23 2020-03-23 用于促进网络中的全局公平性的系统和方法
CN202080029985.4A Pending CN113874848A (zh) 2019-05-23 2020-03-23 用于促进网络接口控制器(nic)中对加速器的操作管理的系统和方法
CN202080031356.5A Pending CN113785541A (zh) 2019-05-23 2020-03-23 用于在存在错误的情况下的即时路由的系统和方法
CN202080032169.9A Pending CN113785543A (zh) 2019-05-23 2020-03-23 用于在应用之间提供网络入口公平性的方法和系统
CN202080029704.5A Pending CN113728599A (zh) 2019-05-23 2020-03-23 促进将包高效地注入网络接口控制器(nic)中的输出缓冲区中的系统和方法
CN202080030067.3A Pending CN113728315A (zh) 2019-05-23 2020-03-23 促进网络接口控制器(nic)中的有效消息匹配的系统和方法
CN202080030125.2A Pending CN113728598A (zh) 2019-05-23 2020-03-23 用于促进自管理的归约引擎的系统和方法

Country Status (5)

Country Link
US (58) US11855881B2 (zh)
EP (11) EP3942758A4 (zh)
CN (29) CN113785536A (zh)
DE (18) DE112020002501T5 (zh)
WO (43) WO2020236275A1 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11108704B2 (en) 2018-12-04 2021-08-31 Nvidia Corp. Use of stashing buffers to improve the efficiency of crossbar switches
WO2020236275A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating dynamic command management in a network interface controller (nic)
CN114514710B (zh) * 2019-07-25 2024-08-23 迈凌有限公司 在单个串行解串器上具有不同波特率的多个端口
CN112511323B (zh) * 2019-09-16 2022-06-14 华为技术有限公司 处理网络拥塞的方法和相关装置
US11240151B2 (en) 2019-12-10 2022-02-01 Juniper Networks, Inc. Combined input and output queue for packet forwarding in network devices
WO2021214847A1 (ja) * 2020-04-21 2021-10-28 日本電信電話株式会社 ネットワーク設定装置、方法及びプログラム
US11616734B2 (en) * 2020-07-08 2023-03-28 Hughes Network Systems, Llc Home network resource management
US11693800B2 (en) * 2020-07-13 2023-07-04 EMC IP Holding Company LLC Managing IO path bandwidth
US11737021B2 (en) * 2020-08-28 2023-08-22 Qualcomm Incorporated Low-latency enhancements for a wireless network
US11444860B2 (en) * 2020-09-24 2022-09-13 Cisco Technology, Inc. Automating and extending path tracing through wireless links
DE102021121105A1 (de) * 2020-09-28 2022-03-31 Samsung Electronics Co., Ltd. Intelligente ablagespeichervorrichtung
US20210281618A1 (en) * 2020-11-12 2021-09-09 Intel Corporation System, apparatus, and method for streaming input/output data
US20220166718A1 (en) * 2020-11-23 2022-05-26 Pensando Systems Inc. Systems and methods to prevent packet reordering when establishing a flow entry
GB2601732A (en) * 2020-11-25 2022-06-15 Metaswitch Networks Ltd Packet processing
US20210149821A1 (en) * 2020-12-23 2021-05-20 Intel Corporation Address translation technologies
US11611512B2 (en) * 2020-12-30 2023-03-21 Arris Enterprises Llc System to dynamically detect and enhance classifiers for low latency traffic
US11729088B2 (en) * 2020-12-30 2023-08-15 Arteris, Inc. Broadcast switch system in a network-on-chip (NoC)
CN114844836A (zh) * 2021-01-30 2022-08-02 华为技术有限公司 处理网络拥塞的方法、装置和设备
US20240106735A1 (en) * 2021-02-18 2024-03-28 Panasonic Intellectual Property Management Co., Ltd. Communication system, slave, controller, and communication method
WO2022174444A1 (zh) * 2021-02-22 2022-08-25 华为技术有限公司 一种数据流传输方法、装置及网络设备
US12050944B2 (en) * 2021-05-04 2024-07-30 Xilinx, Inc. Network attached MPI processing architecture in smartnics
US12040988B2 (en) * 2021-05-25 2024-07-16 Google Llc Acknowledgement coalescing module utilized in content addressable memory (CAM) based hardware architecture for data center networking
US20220400073A1 (en) * 2021-06-15 2022-12-15 Applied Materials, Inc. Router architecture for multi-dimensional topologies in on-chip and on-package networks
US11870682B2 (en) 2021-06-22 2024-01-09 Mellanox Technologies, Ltd. Deadlock-free local rerouting for handling multiple local link failures in hierarchical network topologies
US11637778B2 (en) 2021-06-25 2023-04-25 Cornelis Newtorks, Inc. Filter with engineered damping for load-balanced fine-grained adaptive routing in high-performance system interconnect
US11677672B2 (en) 2021-06-25 2023-06-13 Cornelis Newtorks, Inc. Telemetry-based load-balanced fine-grained adaptive routing in high-performance system interconnect
US11714765B2 (en) * 2021-07-23 2023-08-01 Hewlett Packard Enterprise Development Lp System and method for implementing a network-interface-based allreduce operation
CN115695560A (zh) * 2021-07-23 2023-02-03 伊姆西Ip控股有限责任公司 内容分发方法、电子设备和计算机程序产品
US11665113B2 (en) * 2021-07-28 2023-05-30 Hewlett Packard Enterprise Development Lp System and method for facilitating dynamic triggered operation management in a network interface controller (NIC)
US11729099B2 (en) * 2021-07-30 2023-08-15 Avago Technologies International Sales Pte. Limited Scalable E2E network architecture and components to support low latency and high throughput
WO2023027693A1 (en) * 2021-08-24 2023-03-02 Zeku, Inc. Serializer / deserializer forward flow control
US11824791B2 (en) * 2021-09-08 2023-11-21 Nvidia Corporation Virtual channel starvation-free arbitration for switches
US11722437B2 (en) * 2021-09-14 2023-08-08 Netscout Systems, Inc. Configuration of a scalable IP network implementation of a switch stack
CN113630331B (zh) * 2021-10-11 2021-12-28 北京金睛云华科技有限公司 全流量存储回溯分析系统中父子连接的处理方法
CN115987891A (zh) * 2021-10-14 2023-04-18 南京航空航天大学 一种数据中心网络混合流量的在线路由和调度方法
US11968115B2 (en) 2021-10-31 2024-04-23 Avago Technologies International Sales Pte. Limited Method for verifying data center network performance
US20230153249A1 (en) * 2021-11-18 2023-05-18 Ati Technologies Ulc Hardware translation request retry mechanism
EP4187868A1 (en) * 2021-11-24 2023-05-31 INTEL Corporation Load balancing and networking policy performance by a packet processing pipeline
US11765103B2 (en) * 2021-12-01 2023-09-19 Mellanox Technologies, Ltd. Large-scale network with high port utilization
US11985067B2 (en) * 2021-12-10 2024-05-14 Nokia Solutions And Networks Oy Flowlet switching using memory instructions
US20230229599A1 (en) * 2022-01-18 2023-07-20 Nvidia Corporation Multicast and reflective memory behavior for memory model consistency
US11770215B2 (en) * 2022-02-17 2023-09-26 Nvidia Corp. Transceiver system with end-to-end reliability and ordering protocols
CN114401226B (zh) * 2022-02-21 2024-02-27 李超 一种流媒体数据的路由流量控制方法及系统
WO2023177704A1 (en) * 2022-03-16 2023-09-21 F5, Inc. Multi-destination dma for packet broadcast
US20230318969A1 (en) * 2022-03-31 2023-10-05 Lenovo (United States) Inc. Optimizing network load in multicast communications
CN117014376A (zh) * 2022-04-28 2023-11-07 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质
US12061939B2 (en) * 2022-05-25 2024-08-13 Meta Platforms, Inc. Chip-to-chip interconnect with a layered communication architecture
US11799929B1 (en) * 2022-05-27 2023-10-24 Hewlett Packard Enterprise Development Lp Efficient multicast control traffic management for service discovery
CN115622933A (zh) * 2022-09-07 2023-01-17 天翼数字生活科技有限公司 一种路由分发方法、装置和设备
US20240094910A1 (en) * 2022-09-19 2024-03-21 Microsoft Technology Licensing, Llc Round Robin Arbitration Using Random Access Memory
US20240214325A1 (en) * 2022-12-22 2024-06-27 Juniper Networks, Inc. Dynamic resource reservation protocol resource handling and deadlock avoidance
CN116698283B (zh) * 2023-06-09 2024-08-23 浙江加力仓储设备股份有限公司 载荷重心偏移的智能监测系统及其方法
CN116662016B (zh) * 2023-07-25 2023-10-20 太平金融科技服务(上海)有限公司 端口切换方法、装置、计算机设备、存储介质和程序产品
CN117061423B (zh) * 2023-10-09 2024-01-23 苏州元脑智能科技有限公司 一种胖树网络的多机路由方法、装置、系统及存储介质
CN118118423B (zh) * 2024-04-30 2024-07-23 四川凝思软件有限公司 网络通信方法、装置、计算机设备以及存储介质

Family Cites Families (604)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807118A (en) 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
US5138615A (en) 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US5457687A (en) 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5754120A (en) * 1995-12-21 1998-05-19 Lucent Technologies Network congestion measurement method and apparatus
US5937436A (en) 1996-07-01 1999-08-10 Sun Microsystems, Inc Network interface circuit including an address translation unit and flush control circuit and method for checking for invalid address translations
US5983332A (en) 1996-07-01 1999-11-09 Sun Microsystems, Inc. Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US6493347B2 (en) 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US6026075A (en) * 1997-02-25 2000-02-15 International Business Machines Corporation Flow control mechanism
US6112265A (en) 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US5960178A (en) 1997-08-08 1999-09-28 Bell Communications Research, Inc. Queue system and method for point-to-point message passing having a separate table for storing message state and identifier of processor assigned to process the message
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US7133940B2 (en) 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US5970232A (en) 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6545981B1 (en) 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6563835B1 (en) * 1998-02-20 2003-05-13 Lucent Technologies Inc. Call processing arrangement for ATM switches
US6714553B1 (en) 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6490276B1 (en) * 1998-06-29 2002-12-03 Nortel Networks Limited Stackable switch port collapse mechanism
US6321276B1 (en) 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US7010604B1 (en) 1998-10-30 2006-03-07 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6246682B1 (en) 1999-03-05 2001-06-12 Transwitch Corp. Method and apparatus for managing multiple ATM cell queues
US6615282B1 (en) 1999-05-21 2003-09-02 Intel Corporation Adaptive messaging
US6424591B1 (en) * 1999-05-28 2002-07-23 Advanced Micro Devices, Inc. Network interface supporting fifo-type and SRAM-type accesses to internal buffer memory
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6542941B1 (en) 1999-09-30 2003-04-01 Intel Corporation Efficient command delivery and data transfer
US7076630B2 (en) * 2000-02-08 2006-07-11 Mips Tech Inc Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memo management
US6977930B1 (en) 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7545755B2 (en) 2000-03-03 2009-06-09 Adtran Inc. Routing switch detecting change in session identifier before reconfiguring routing table
US6633580B1 (en) 2000-03-07 2003-10-14 Sun Microsystems N×N crossbar packet switch
US6735173B1 (en) 2000-03-07 2004-05-11 Cisco Technology, Inc. Method and apparatus for accumulating and distributing data items within a packet switching system
US6728211B1 (en) 2000-03-07 2004-04-27 Cisco Technology, Inc. Method and apparatus for delaying packets being sent from a component of a packet switching system
AU2001245682A1 (en) 2000-03-13 2001-09-24 The Trustees Of Columbia University In The City Of New York Method and apparatus for allocation of resources
US7215637B1 (en) 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
US6894974B1 (en) 2000-05-08 2005-05-17 Nortel Networks Limited Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US20020146022A1 (en) * 2000-05-31 2002-10-10 Van Doren Stephen R. Credit-based flow control technique in a modular multiprocessor system
US8619793B2 (en) 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US6985956B2 (en) 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US6910148B1 (en) 2000-12-07 2005-06-21 Nokia, Inc. Router and routing protocol redundancy
US7127056B2 (en) 2000-12-26 2006-10-24 Nortel Networks Limited Dynamic adaptation to congestion in connection-oriented networks
US6732212B2 (en) 2001-02-14 2004-05-04 Fujitsu Limited Launch raw packet on remote interrupt
WO2002084509A1 (en) 2001-02-24 2002-10-24 International Business Machines Corporation A novel massively parrallel supercomputer
KR100620835B1 (ko) 2001-02-24 2006-09-13 인터내셔널 비지네스 머신즈 코포레이션 최적화된 가변 네트워크 스위치
EP1249972A1 (en) * 2001-04-09 2002-10-16 Telefonaktiebolaget L M Ericsson (Publ) Method of controlling a queue buffer
US20020152328A1 (en) 2001-04-11 2002-10-17 Mellanox Technologies, Ltd. Network adapter with shared database for message context information
US6687781B2 (en) 2001-05-01 2004-02-03 Zettacom, Inc. Fair weighted queuing bandwidth allocation system for network switch port
US7042842B2 (en) 2001-06-13 2006-05-09 Computer Network Technology Corporation Fiber channel switch
US7260104B2 (en) 2001-12-19 2007-08-21 Computer Network Technology Corporation Deferred queuing in a buffered switch
US7218637B1 (en) 2001-07-20 2007-05-15 Yotta Networks, Llc System for switching data using dynamic scheduling
US7382787B1 (en) * 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
EP1419614B1 (en) 2001-08-21 2006-06-14 Telefonaktiebolaget LM Ericsson (publ) Multicast in point-to-point packet-switched oriented networks
US7415531B2 (en) 2001-08-22 2008-08-19 Mips Technologies, Inc. Method and apparatus for predicting characteristics of incoming data packets to enable speculative processing to reduce processor latency
US7536473B2 (en) 2001-08-24 2009-05-19 Intel Corporation General input/output architecture, protocol and related methods to implement flow control
US7464180B1 (en) 2001-10-16 2008-12-09 Cisco Technology, Inc. Prioritization and preemption of data frames over a switching fabric
US7110360B1 (en) * 2001-11-05 2006-09-19 Juniper Networks, Inc. Credit-based flow control over unreliable links
US7092401B2 (en) 2001-11-15 2006-08-15 International Business Machines Corporation Apparatus and method for managing work and completion queues using head and tail pointers with end-to-end context error cache for reliable datagram
US7457297B2 (en) 2001-11-16 2008-11-25 Enterasys Networks, Inc. Methods and apparatus for differentiated services over a packet-based network
US6698003B2 (en) 2001-12-06 2004-02-24 International Business Machines Corporation Framework for multiple-engine based verification tools for integrated circuits
US7023856B1 (en) 2001-12-11 2006-04-04 Riverstone Networks, Inc. Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US20030126280A1 (en) * 2001-12-31 2003-07-03 Maxxan Systems, Inc. XON/XOFF flow control for computer network
JP3875107B2 (ja) 2002-01-10 2007-01-31 株式会社エヌ・ティ・ティ・ドコモ パケット交換システム、パケット交換方法、ルーティング装置、パケットデータ及びその生成方法
JP2003244196A (ja) 2002-02-20 2003-08-29 Fujitsu Ltd 負荷分散制御をするルータ及びネットワーク制御装置
US8626957B2 (en) 2003-08-22 2014-01-07 International Business Machines Corporation Collective network for computer structures
US7782776B2 (en) 2002-03-15 2010-08-24 Broadcom Corporation Shared weighted fair queuing (WFQ) shaper
US7245620B2 (en) 2002-03-15 2007-07-17 Broadcom Corporation Method and apparatus for filtering packet data in a network device
US7181531B2 (en) 2002-04-30 2007-02-20 Microsoft Corporation Method to synchronize and upload an offloaded network stack connection with a network stack
US7283558B2 (en) 2002-06-04 2007-10-16 Lucent Technologies Inc. Distributed weighted fair arbitration and forwarding
AU2003251492A1 (en) * 2002-06-11 2003-12-22 Ashish A. Pandya High performance ip processor for tcp/ip, rdma and ip storage applications
US7191249B1 (en) 2002-06-14 2007-03-13 Juniper Networks, Inc. Packet prioritization systems and methods using address aliases
ES2333519T3 (es) 2002-06-19 2010-02-23 Telefonaktiebolaget L M Ericsson Una arquitectura de controlador de dispositivo de red.
US7649882B2 (en) 2002-07-15 2010-01-19 Alcatel-Lucent Usa Inc. Multicast scheduling and replication in switches
US20040019895A1 (en) * 2002-07-29 2004-01-29 Intel Corporation Dynamic communication tuning apparatus, systems, and methods
WO2004017220A1 (en) 2002-08-19 2004-02-26 Broadcom Corporation One-shot rdma
US20040049580A1 (en) 2002-09-05 2004-03-11 International Business Machines Corporation Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms
US7206858B2 (en) 2002-09-19 2007-04-17 Intel Corporation DSL transmit traffic shaper structure and procedure
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7327678B2 (en) 2002-10-18 2008-02-05 Alcatel Lucent Metro ethernet network system with selective upstream pause messaging
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7269180B2 (en) 2002-11-04 2007-09-11 World Wide Packets, Inc. System and method for prioritizing and queuing traffic
CN1260915C (zh) 2002-11-19 2006-06-21 华为技术有限公司 一种城域网传输设备的流量控制方法
US8103788B1 (en) 2002-11-19 2012-01-24 Advanced Micro Devices, Inc. Method and apparatus for dynamically reallocating buffers for use in a packet transmission
US7317718B1 (en) 2002-12-06 2008-01-08 Juniper Networks, Inc. Flexible counter update and retrieval
US7397797B2 (en) 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US7441267B1 (en) 2003-03-19 2008-10-21 Bbn Technologies Corp. Method and apparatus for controlling the flow of data across a network interface
US7660908B2 (en) 2003-05-01 2010-02-09 International Business Machines Corporation Implementing virtual packet storage via packet work area
US7573827B2 (en) 2003-05-06 2009-08-11 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting network congestion
JP4175185B2 (ja) 2003-06-06 2008-11-05 日本電気株式会社 ネットワーク情報記録装置
US20050108518A1 (en) 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US20050058130A1 (en) * 2003-08-04 2005-03-17 Christ Chris B. Method and apparatus for assigning data traffic classes to virtual channels in communications networks
US7483374B2 (en) 2003-08-05 2009-01-27 Scalent Systems, Inc. Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing
US8050180B2 (en) 2003-10-31 2011-11-01 Brocade Communications Systems, Inc. Network path tracing method
EP1528478A1 (en) * 2003-11-03 2005-05-04 Sun Microsystems, Inc. Generalized addressing scheme for remote direct memory access enabled devices
US7613184B2 (en) * 2003-11-07 2009-11-03 Alcatel Lucent Method and apparatus for performing scalable selective backpressure in packet-switched networks using internal tags
US20050108444A1 (en) 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
US20050129039A1 (en) * 2003-12-11 2005-06-16 International Business Machines Corporation RDMA network interface controller with cut-through implementation for aligned DDP segments
US7912979B2 (en) * 2003-12-11 2011-03-22 International Business Machines Corporation In-order delivery of plurality of RDMA messages
US7441006B2 (en) 2003-12-11 2008-10-21 International Business Machines Corporation Reducing number of write operations relative to delivery of out-of-order RDMA send messages by managing reference counter
US7385985B2 (en) * 2003-12-31 2008-06-10 Alcatel Lucent Parallel data link layer controllers in a network switching device
RU2006129488A (ru) * 2004-01-15 2008-02-20 Мацусита Электрик Индастриал Ко., Лтд. (Jp) Устройство динамического управления сетью и способ динамического управления сетью
US7774461B2 (en) 2004-02-18 2010-08-10 Fortinet, Inc. Mechanism for determining a congestion metric for a path in a network
JP4521206B2 (ja) * 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
GB0404696D0 (en) * 2004-03-02 2004-04-07 Level 5 Networks Ltd Dual driver interface
US8174978B2 (en) 2004-03-05 2012-05-08 Xyratex Technology Limited Method for congestion management of a network, a signalling protocol, a switch, an end station and a network
US7286853B2 (en) 2004-03-24 2007-10-23 Cisco Technology, Inc. System and method for aggregating multiple radio interfaces into a single logical bridge interface
US8081566B1 (en) 2004-04-19 2011-12-20 Rockstar BIDCO, LLP Method and apparatus for indicating congestion in a source routed network
US7826457B2 (en) * 2004-05-11 2010-11-02 Broadcom Corp. Method and system for handling out-of-order segments in a wireless system via direct data placement
US7672243B2 (en) 2004-06-04 2010-03-02 David Mayhew System and method to identify and communicate congested flows in a network fabric
US7483442B1 (en) 2004-06-08 2009-01-27 Sun Microsystems, Inc. VCRC checking and generation
US7639616B1 (en) 2004-06-08 2009-12-29 Sun Microsystems, Inc. Adaptive cut-through algorithm
US20050281282A1 (en) * 2004-06-21 2005-12-22 Gonzalez Henry J Internal messaging within a switch
US7453810B2 (en) 2004-07-27 2008-11-18 Alcatel Lucent Method and apparatus for closed loop, out-of-band backpressure mechanism
US20060067347A1 (en) 2004-09-29 2006-03-30 Uday Naik Cell-based queue management in software
US8353003B2 (en) 2004-10-01 2013-01-08 Exelis Inc. System and method for controlling a flow of data a network interface controller to a host processor
US7633869B1 (en) 2004-10-18 2009-12-15 Ubicom, Inc. Automatic network traffic characterization
US7593329B2 (en) 2004-10-29 2009-09-22 Broadcom Corporation Service aware flow control
US7620071B2 (en) 2004-11-16 2009-11-17 Intel Corporation Packet coalescing
US7826481B2 (en) * 2004-11-30 2010-11-02 Broadcom Corporation Network for supporting advance features on legacy components
EP1829296B1 (en) 2004-12-03 2009-10-21 Telefonaktiebolaget LM Ericsson (publ) Technique for interconnecting intermediate network nodes
US7394288B1 (en) * 2004-12-13 2008-07-01 Massachusetts Institute Of Technology Transferring data in a parallel processing environment
US7831749B2 (en) 2005-02-03 2010-11-09 Solarflare Communications, Inc. Including descriptor queue empty events in completion events
US7562366B2 (en) 2005-02-03 2009-07-14 Solarflare Communications, Inc. Transmit completion event batching
US7464174B1 (en) 2005-03-07 2008-12-09 Pericom Semiconductor Corp. Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors
US7643420B2 (en) 2005-03-11 2010-01-05 Broadcom Corporation Method and system for transmission control protocol (TCP) traffic smoothing
CA2597419C (en) 2005-03-31 2013-07-02 Telefonaktiebolaget Lm Ericsson (Publ) Protection of data delivered out-of-order
EP1875681A1 (en) * 2005-04-13 2008-01-09 Koninklijke Philips Electronics N.V. Electronic device and method for flow control
US7856026B1 (en) 2005-06-28 2010-12-21 Altera Corporation Configurable central memory buffered packet switch module for use in a PLD
US7733891B2 (en) 2005-09-12 2010-06-08 Zeugma Systems Inc. Methods and apparatus to support dynamic allocation of traffic management resources in a network element
US8045454B2 (en) 2005-09-12 2011-10-25 Cisco Technology, Inc. Multimedia data flow dropping
US7430559B2 (en) 2005-09-21 2008-09-30 Microsoft Corporation Generalized idempotent requests
WO2007034184A2 (en) 2005-09-21 2007-03-29 Level 5 Networks Incorporated Address encryption/rate pacing
US8660137B2 (en) 2005-09-29 2014-02-25 Broadcom Israel Research, Ltd. Method and system for quality of service and congestion management for converged network interface devices
US7941537B2 (en) * 2005-10-03 2011-05-10 Genband Us Llc System, method, and computer-readable medium for resource migration in a distributed telecommunication system
US7953002B2 (en) 2005-11-10 2011-05-31 Broadcom Corporation Buffer management and flow control mechanism including packet-based dynamic thresholding
US7873048B1 (en) * 2005-12-02 2011-01-18 Marvell International Ltd. Flexible port rate limiting
US7889762B2 (en) * 2006-01-19 2011-02-15 Intel-Ne, Inc. Apparatus and method for in-line insertion and removal of markers
US7376807B2 (en) 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
US7664904B2 (en) 2006-03-10 2010-02-16 Ricoh Company, Limited High speed serial switch fabric performing mapping of traffic classes onto virtual channels
US20070237082A1 (en) * 2006-03-31 2007-10-11 Woojong Han Techniques for sharing connection queues and performing congestion management
GB2448851B (en) 2006-04-05 2011-01-05 Xyratex Tech Ltd A method for congestion management of a network, a switch, and a network
US20070242611A1 (en) 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7620791B1 (en) 2006-04-14 2009-11-17 Tilera Corporation Mapping memory in a parallel processing environment
US7577820B1 (en) 2006-04-14 2009-08-18 Tilera Corporation Managing data in a parallel processing environment
US7733781B2 (en) 2006-04-24 2010-06-08 Broadcom Corporation Distributed congestion avoidance in a network switching system
US7596628B2 (en) 2006-05-01 2009-09-29 Broadcom Corporation Method and system for transparent TCP offload (TTO) with a user space library
US20070268825A1 (en) 2006-05-19 2007-11-22 Michael Corwin Fine-grain fairness in a hierarchical switched system
US8082289B2 (en) * 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US7693072B2 (en) 2006-07-13 2010-04-06 At&T Intellectual Property I, L.P. Method and apparatus for configuring a network topology with alternative communication paths
US7836274B2 (en) 2006-09-05 2010-11-16 Broadcom Corporation Method and system for combining page buffer list entries to optimize caching of translated addresses
US7624105B2 (en) 2006-09-19 2009-11-24 Netlogic Microsystems, Inc. Search engine having multiple co-processors for performing inexact pattern search operations
US7839786B2 (en) 2006-10-06 2010-11-23 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by semi-randomly varying routing policies for different packets
US7587575B2 (en) 2006-10-17 2009-09-08 International Business Machines Corporation Communicating with a memory registration enabled adapter using cached address translations
US7978599B2 (en) * 2006-11-17 2011-07-12 Cisco Technology, Inc. Method and system to identify and alleviate remote overload
US8045456B1 (en) * 2006-11-27 2011-10-25 Marvell International Ltd. Hierarchical port-based rate limiting
KR20090102788A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 전단의 분산된 raid장치, 시스템 및 방법
JP5102844B2 (ja) * 2006-12-19 2012-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・フローを解析する装置および方法
US20080147881A1 (en) 2006-12-19 2008-06-19 Krishnamurthy Rajaram B System and method for placing computation inside a network
US20080155154A1 (en) * 2006-12-21 2008-06-26 Yuval Kenan Method and System for Coalescing Task Completions
US7975120B2 (en) 2006-12-27 2011-07-05 Freescale Semiconductor, Inc. Dynamic allocation of message buffers
US9049095B2 (en) 2006-12-29 2015-06-02 Alcatel Lucent Methods and devices for providing ingress routing in selective randomized load balancing
JP4259581B2 (ja) * 2007-02-07 2009-04-30 日立電線株式会社 スイッチングハブおよびlanシステム
US7904642B1 (en) 2007-02-08 2011-03-08 Netlogic Microsystems, Inc. Method for combining and storing access control lists
US7916718B2 (en) 2007-04-19 2011-03-29 Fulcrum Microsystems, Inc. Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US7864792B2 (en) 2007-04-20 2011-01-04 Cray, Inc. Load balancing for communications within a multiprocessor computer system
US7925795B2 (en) * 2007-04-30 2011-04-12 Broadcom Corporation Method and system for configuring a plurality of network interfaces that share a physical interface
US20080298248A1 (en) 2007-05-28 2008-12-04 Guenter Roeck Method and Apparatus For Computer Network Bandwidth Control and Congestion Management
US10389736B2 (en) * 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US8331387B2 (en) 2007-06-22 2012-12-11 Broadcom Corporation Data switching flow control with virtual output queuing
US8199648B2 (en) 2007-07-03 2012-06-12 Cisco Technology, Inc. Flow control in a variable latency system
US8478834B2 (en) 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US7936772B2 (en) 2007-07-13 2011-05-03 International Business Machines Corporation Enhancement of end-to-end network QoS
US8161540B2 (en) 2007-07-27 2012-04-17 Redshift Internetworking, Inc. System and method for unified communications threat management (UCTM) for converged voice, video and multi-media over IP flows
US20140173731A1 (en) * 2007-07-27 2014-06-19 Redshift Internetworking, Inc. System and Method for Unified Communications Threat Management (UCTM) for Converged Voice, Video and Multi-Media Over IP Flows
US7783627B2 (en) * 2007-07-30 2010-08-24 International Business Machines Corporation Database retrieval with a unique key search on a parallel computer system
US8121038B2 (en) 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
US8014387B2 (en) * 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US8543534B2 (en) 2007-09-11 2013-09-24 Oracle International Corporation Concurrency in event processing networks for event server
CN101399746B (zh) 2007-09-26 2011-03-16 华为技术有限公司 报文路由方法、系统、设备和选择备份资源的方法、系统
CN101431466B (zh) 2007-11-09 2011-04-06 华为技术有限公司 快速重路由方法及标签交换路由器
US7782869B1 (en) 2007-11-29 2010-08-24 Huawei Technologies Co., Ltd. Network traffic control for virtual device interfaces
US9519540B2 (en) * 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8014278B1 (en) 2007-12-17 2011-09-06 Force 10 Networks, Inc Adaptive load balancing between ECMP or LAG port group members
US8160085B2 (en) 2007-12-21 2012-04-17 Juniper Networks, Inc. System and method for dynamically allocating buffers based on priority levels
US7779148B2 (en) 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US8219778B2 (en) * 2008-02-27 2012-07-10 Microchip Technology Incorporated Virtual memory interface
US8249072B2 (en) 2009-03-12 2012-08-21 Oracle America, Inc. Scalable interface for connecting multiple computer systems which performs parallel MPI header matching
CN102084628B (zh) 2008-04-24 2014-12-03 马维尔国际有限公司 通信量管理器和用于通信量管理器的方法
US8040799B2 (en) 2008-05-15 2011-10-18 International Business Machines Corporation Network on chip with minimum guaranteed bandwidth for virtual communications channels
GB2460070B (en) 2008-05-15 2010-10-13 Gnodal Ltd A method of data delivery across a network
US7562168B1 (en) * 2008-05-29 2009-07-14 International Business Machines Corporation Method of optimizing buffer usage of virtual channels of a physical communication link and apparatuses for performing the same
US20100192170A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Device assisted service profile management with user preference, adaptive policy, network neutrality, and user privacy
GB2461132B (en) 2008-06-27 2013-02-13 Gnodal Ltd Method of data delivery across a network
GB2462492B (en) * 2008-08-14 2012-08-15 Gnodal Ltd A multi-path network
US20100049942A1 (en) 2008-08-20 2010-02-25 John Kim Dragonfly processor interconnect network
US8755396B2 (en) 2008-09-11 2014-06-17 Juniper Networks, Inc. Methods and apparatus related to flow control within a data center switch fabric
US7996484B2 (en) 2008-12-11 2011-08-09 Microsoft Corporation Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
US8103809B1 (en) * 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
US20100183024A1 (en) 2009-01-21 2010-07-22 Brocade Communications Systems, Inc Simplified rdma over ethernet and fibre channel
US8510496B1 (en) 2009-04-27 2013-08-13 Netapp, Inc. Scheduling access requests for a multi-bank low-latency random read memory device
US8255475B2 (en) 2009-04-28 2012-08-28 Mellanox Technologies Ltd. Network interface device with memory management capabilities
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
WO2010142432A2 (en) 2009-06-09 2010-12-16 Martin Vorbach System and method for a cache in a multi-core processor
JP4688946B2 (ja) 2009-06-15 2011-05-25 富士通株式会社 スイッチ及びアドレス学習方法
US8908520B2 (en) 2009-06-26 2014-12-09 Telekom Malaysia Berhad Method and system for service-based regulation of traffic flow to customer premises devices
US8605584B2 (en) 2009-07-02 2013-12-10 Qualcomm Incorporated Transmission of control information across multiple packets
US8175107B1 (en) 2009-08-18 2012-05-08 Hewlett-Packard Development Company, L.P. Network routing based on MAC address subnetting
CN101651625B (zh) 2009-09-03 2011-09-21 中兴通讯股份有限公司 多业务恢复的选路装置及选路方法
CN102577275B (zh) * 2009-09-10 2016-05-04 日本电气株式会社 中继控制设备、中继控制系统、中继控制方法
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
KR101638061B1 (ko) 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
US8953603B2 (en) 2009-10-28 2015-02-10 Juniper Networks, Inc. Methods and apparatus related to a distributed switch fabric
US8443151B2 (en) 2009-11-09 2013-05-14 Intel Corporation Prefetch optimization in shared resource multi-core systems
TWI416336B (zh) 2009-11-10 2013-11-21 Realtek Semiconductor Corp 可共享緩衝器的網路介面卡與緩衝器共享方法
US8625604B2 (en) 2009-12-01 2014-01-07 Polytechnic Institute Of New York University Hash-based prefix-compressed trie for IP route lookup
CN101729609B (zh) 2009-12-03 2012-02-22 北京交通大学 一种向量交换实现方法
US9054996B2 (en) 2009-12-24 2015-06-09 Juniper Networks, Inc. Dynamic prioritized fair share scheduling scheme in over-subscribed port scenario
US8719543B2 (en) 2009-12-29 2014-05-06 Advanced Micro Devices, Inc. Systems and methods implementing non-shared page tables for sharing memory resources managed by a main operating system with accelerator devices
US8285915B2 (en) 2010-01-13 2012-10-09 International Business Machines Corporation Relocating page tables and data amongst memory modules in a virtualized environment
US8280671B2 (en) * 2010-01-29 2012-10-02 Microsoft Corporation Compressive data gathering for large-scale wireless sensor networks
US8295284B1 (en) * 2010-02-02 2012-10-23 Cisco Technology, Inc. Dynamic, conditon-based packet redirection
US8544026B2 (en) 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
US8862682B2 (en) 2010-02-17 2014-10-14 Emulex Corporation Accelerated sockets
US8325723B1 (en) * 2010-02-25 2012-12-04 Integrated Device Technology, Inc. Method and apparatus for dynamic traffic management with packet classification
US9001663B2 (en) 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
US20110225297A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Controlling Access To A Resource In A Distributed Computing System With A Distributed Access Request Queue
US8971345B1 (en) 2010-03-22 2015-03-03 Riverbed Technology, Inc. Method and apparatus for scheduling a heterogeneous communication flow
US8606979B2 (en) * 2010-03-29 2013-12-10 International Business Machines Corporation Distributed administration of a lock for an operational group of compute nodes in a hierarchical tree structured network
US8379642B2 (en) * 2010-04-26 2013-02-19 International Business Machines Corporation Multicasting using a multitiered distributed virtual bridge hierarchy
EP2564561B1 (en) 2010-04-30 2019-07-31 Hewlett-Packard Enterprise Development LP Method for routing data packets in a fat tree network
CN102986189B (zh) 2010-05-09 2016-04-27 思杰系统有限公司 用于为对应于虚通道的网络连接分配服务等级的系统和方法
US8335157B2 (en) 2010-05-17 2012-12-18 Cisco Technology, Inc. Adaptive queue-management
US8949577B2 (en) * 2010-05-28 2015-02-03 International Business Machines Corporation Performing a deterministic reduction operation in a parallel computer
US8489859B2 (en) 2010-05-28 2013-07-16 International Business Machines Corporation Performing a deterministic reduction operation in a compute node organized into a branched tree topology
US9065773B2 (en) * 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8898324B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US8719455B2 (en) 2010-06-28 2014-05-06 International Business Machines Corporation DMA-based acceleration of command push buffer between host and target devices
JP5498889B2 (ja) * 2010-08-06 2014-05-21 アラクサラネットワークス株式会社 パケット中継装置および輻輳制御方法
EP2606575B1 (en) 2010-08-19 2018-05-30 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for transport format selection in wireless communication system
US20120102506A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation Web service patterns for globally distributed service fabric
JP5860670B2 (ja) * 2010-11-05 2016-02-16 インテル コーポレイション Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
JP5913912B2 (ja) 2010-11-05 2016-04-27 インテル コーポレイション Dragonflyプロセッサ相互接続ネットワークにおける革新的な適応型ルーティング
US8473783B2 (en) 2010-11-09 2013-06-25 International Business Machines Corporation Fault tolerance in distributed systems
US8533285B2 (en) 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US9436651B2 (en) 2010-12-09 2016-09-06 Intel Corporation Method and apparatus for managing application state in a network interface controller in a high performance computing system
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
EP2652623B1 (en) * 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9047178B2 (en) * 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) * 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9008113B2 (en) * 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US8462632B1 (en) 2010-12-28 2013-06-11 Amazon Technologies, Inc. Network traffic control
US8780896B2 (en) 2010-12-29 2014-07-15 Juniper Networks, Inc. Methods and apparatus for validation of equal cost multi path (ECMP) paths in a switch fabric system
US20120170462A1 (en) 2011-01-05 2012-07-05 Alcatel Lucent Usa Inc. Traffic flow control based on vlan and priority
KR20120082739A (ko) 2011-01-14 2012-07-24 한국과학기술원 멀티 라디오 모바일 애드혹 네트워크에서의 링크 품질 기반 라우팅 방법
DE102011009518B4 (de) 2011-01-26 2013-09-12 Ruprecht-Karls-Universität Heidelberg Schaltungsanordnung für Verbindungsschnittstelle
US8467294B2 (en) * 2011-02-11 2013-06-18 Cisco Technology, Inc. Dynamic load balancing for port groups
US8776207B2 (en) * 2011-02-16 2014-07-08 Fortinet, Inc. Load balancing in a network with session information
US20120213118A1 (en) 2011-02-18 2012-08-23 Lindsay Steven B Method and system for network interface controller (nic) address resolution protocol (arp) batching
US8953442B2 (en) * 2011-03-09 2015-02-10 Cray Inc. Congestion detection in a network interconnect
US9032089B2 (en) * 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
US8982688B2 (en) * 2011-03-09 2015-03-17 Cray Inc Congestion abatement in a network interconnect
US9716659B2 (en) 2011-03-23 2017-07-25 Hughes Network Systems, Llc System and method for providing improved quality of service over broadband networks
CN103238302B (zh) 2011-03-28 2016-07-06 松下知识产权经营株式会社 中继器、中继器的控制方法
US8644157B2 (en) 2011-03-28 2014-02-04 Citrix Systems, Inc. Systems and methods for handling NIC congestion via NIC aware application
US9231876B2 (en) 2011-03-29 2016-01-05 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
US8677031B2 (en) * 2011-03-31 2014-03-18 Intel Corporation Facilitating, at least in part, by circuitry, accessing of at least one controller command interface
US9154400B2 (en) 2011-05-10 2015-10-06 Cray Inc. Dynamically updating routing information while avoiding deadlocks and preserving packet order after a configuration change
US9225628B2 (en) 2011-05-24 2015-12-29 Mellanox Technologies Ltd. Topology-based consolidation of link state information
US8804752B2 (en) * 2011-05-31 2014-08-12 Oracle International Corporation Method and system for temporary data unit storage on infiniband host channel adaptor
US9716592B1 (en) * 2011-06-10 2017-07-25 Google Inc. Traffic distribution over multiple paths in a network while maintaining flow affinity
US8553683B2 (en) 2011-07-05 2013-10-08 Plx Technology, Inc. Three dimensional fat tree networks
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8711867B2 (en) * 2011-08-26 2014-04-29 Sonics, Inc. Credit flow control scheme in a router with flexible link widths utilizing minimal storage
US8694994B1 (en) 2011-09-07 2014-04-08 Amazon Technologies, Inc. Optimization of packet processing by delaying a processor from entering an idle state
US8713240B2 (en) * 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US20130083660A1 (en) * 2011-10-03 2013-04-04 Cisco Technology, Inc. Per-Group ECMP for Multidestination Traffic in DCE/TRILL Networks
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9065745B2 (en) * 2011-10-06 2015-06-23 International Business Machines Corporation Network traffic distribution
US8831010B1 (en) * 2011-10-20 2014-09-09 Google Inc. Providing routing information for weighted multi-path routing
US9143467B2 (en) 2011-10-25 2015-09-22 Mellanox Technologies Ltd. Network interface controller with circular receive buffer
WO2013060378A1 (en) 2011-10-28 2013-05-02 Telecom Italia S.P.A. Apparatus and method for selectively delaying network data flows
ES2491669T3 (es) 2011-11-11 2014-09-08 Itron, Inc. Encaminamiento de comunicaciones en función de la calidad de enlaces
US8966457B2 (en) * 2011-11-15 2015-02-24 Global Supercomputing Corporation Method and system for converting a single-threaded software program into an application-specific supercomputer
US8948175B2 (en) 2011-11-18 2015-02-03 Ciena Corporation Selecting a link of a link group based on contents of a concealed header
US9065749B2 (en) 2011-11-21 2015-06-23 Qualcomm Incorporated Hybrid networking path selection and load balancing
US9269438B2 (en) 2011-12-21 2016-02-23 Intel Corporation System and method for intelligently flushing data from a processor into a memory subsystem
US9055114B1 (en) 2011-12-22 2015-06-09 Juniper Networks, Inc. Packet parsing and control packet classification
US8996840B2 (en) 2011-12-23 2015-03-31 International Business Machines Corporation I/O controller and method for operating an I/O controller
WO2013109640A1 (en) 2012-01-17 2013-07-25 Intel Corporation Techniques for command validation for access to a storage device by a remote client
US9176885B2 (en) * 2012-01-23 2015-11-03 International Business Machines Corporation Combined cache inject and lock operation
US8868735B2 (en) 2012-02-02 2014-10-21 Cisco Technology, Inc. Wide area network optimization
US8908682B2 (en) * 2012-02-02 2014-12-09 International Business Machines Corporation Switch discovery protocol for a distributed fabric system
US8787168B2 (en) 2012-02-03 2014-07-22 Apple Inc. System and method employing intelligent feedback mechanisms for flow control on a client device
US9007901B2 (en) 2012-02-09 2015-04-14 Alcatel Lucent Method and apparatus providing flow control using on-off signals in high delay networks
US9960872B2 (en) 2012-03-08 2018-05-01 Marvell International Ltd. Systems and methods for performing a soft-block of a queue based on a size of a remaining period of a guard band
US9088496B2 (en) 2012-03-16 2015-07-21 Brocade Communications Systems, Inc. Packet tracing through control and data plane operations
US9264382B2 (en) 2012-05-11 2016-02-16 Oracle International Corporation System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
CN104303472B (zh) 2012-05-15 2018-03-16 马维尔国际贸易有限公司 以太网包的扩展优先级
US10102170B2 (en) 2012-05-18 2018-10-16 Dell Products, Lp System and method for providing input/output functionality by an I/O complex switch
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8817807B2 (en) 2012-06-11 2014-08-26 Cisco Technology, Inc. System and method for distributed resource control of switches in a network environment
US8989049B2 (en) 2012-06-15 2015-03-24 Cisco Technology, Inc. System and method for virtual portchannel load balancing in a trill network
JP2014007681A (ja) * 2012-06-27 2014-01-16 Hitachi Ltd ネットワークシステム、および、その管理装置、そのスイッチ
ES2395955B2 (es) * 2012-07-05 2014-01-22 Universidad De Cantabria Método de encaminamiento adaptativo en redes jerárquicas
WO2014022492A1 (en) 2012-07-31 2014-02-06 Huawei Technologies Co., Ltd. A method to allocate packet buffers in a packet transferring system
US9635121B2 (en) 2012-08-06 2017-04-25 Paypal, Inc. Systems and methods for caching HTTP post requests and responses
US9049137B1 (en) 2012-08-06 2015-06-02 Google Inc. Hash based ECMP load balancing with non-power-of-2 port group sizes
US9705804B2 (en) 2012-08-30 2017-07-11 Sonus Networks, Inc. Opportunistic wireless resource utilization using dynamic traffic shaping
US9350665B2 (en) 2012-08-31 2016-05-24 Cisco Technology, Inc. Congestion mitigation and avoidance
CN103227757B (zh) * 2012-08-31 2016-12-28 杭州华三通信技术有限公司 一种报文转发方法及设备
US9424214B2 (en) 2012-09-28 2016-08-23 Mellanox Technologies Ltd. Network interface controller with direct connection to host memory
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
JP5995279B2 (ja) * 2012-10-24 2016-09-21 日本電気株式会社 ネットワーク機器、方法、及びプログラム
US9215093B2 (en) 2012-10-30 2015-12-15 Futurewei Technologies, Inc. Encoding packets for transport over SDN networks
CN102932203B (zh) 2012-10-31 2015-06-10 东软集团股份有限公司 异构平台间的深度报文检测方法及装置
US9424228B2 (en) 2012-11-01 2016-08-23 Ezchip Technologies Ltd. High performance, scalable multi chip interconnect
US9286620B2 (en) 2012-11-05 2016-03-15 Broadcom Corporation Annotated tracing for data networks
JP5958293B2 (ja) 2012-11-14 2016-07-27 富士通株式会社 通信方法、通信プログラム、および、ノード装置
US9577918B2 (en) * 2012-11-19 2017-02-21 Cray Inc. Increasingly minimal bias routing
US8989017B2 (en) 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9094321B2 (en) 2013-01-03 2015-07-28 International Business Machines Corporation Energy management for communication network elements
US9154438B2 (en) 2013-01-24 2015-10-06 Cisco Technology, Inc. Port-based fairness protocol for a network element
US9460178B2 (en) 2013-01-25 2016-10-04 Dell Products L.P. Synchronized storage system operation
US9634940B2 (en) * 2013-01-31 2017-04-25 Mellanox Technologies, Ltd. Adaptive routing using inter-switch notifications
US9544220B2 (en) * 2013-02-05 2017-01-10 Cisco Technology, Inc. Binary search-based approach in routing-metric agnostic topologies for node selection to enable effective learning machine mechanisms
US9705957B2 (en) 2013-03-04 2017-07-11 Open Garden Inc. Virtual channel joining
US11966355B2 (en) 2013-03-10 2024-04-23 Mellanox Technologies, Ltd. Network adapter with a common queue for both networking and data manipulation work requests
US10275375B2 (en) 2013-03-10 2019-04-30 Mellanox Technologies, Ltd. Network interface controller with compression capabilities
US9253096B2 (en) 2013-03-15 2016-02-02 International Business Machines Corporation Bypassing congestion points in a converged enhanced ethernet fabric
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9407460B2 (en) * 2013-03-20 2016-08-02 Marvell World Trade Ltd. Cut-through processing for slow and fast ports
US9692706B2 (en) 2013-04-15 2017-06-27 International Business Machines Corporation Virtual enhanced transmission selection (VETS) for lossless ethernet
US9571402B2 (en) 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US9075557B2 (en) * 2013-05-15 2015-07-07 SanDisk Technologies, Inc. Virtual channel for data transfers between devices
US9712334B2 (en) * 2013-05-21 2017-07-18 Brocade Communications Systems, Inc. Efficient multicast topology construction in a routed network
US9788210B2 (en) 2013-06-11 2017-10-10 Sonus Networks, Inc. Methods and systems for adaptive buffer allocations in systems with adaptive resource allocation
US9294403B2 (en) 2013-06-28 2016-03-22 Intel Corporation Mechanism to control resource utilization with adaptive routing
US9405724B2 (en) * 2013-06-28 2016-08-02 Intel Corporation Reconfigurable apparatus for hierarchical collective networks with bypass mode
US9674098B2 (en) 2013-07-02 2017-06-06 Intel Corporation Credit flow control for ethernet
US9197529B2 (en) * 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US9282041B2 (en) * 2013-07-16 2016-03-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Congestion profiling of computer network devices
US9467522B2 (en) 2013-07-19 2016-10-11 Broadcom Corporation Ingress based headroom buffering for switch architectures
US9781041B2 (en) 2013-07-24 2017-10-03 Dell Products Lp Systems and methods for native network interface controller (NIC) teaming load balancing
US9356868B2 (en) * 2013-08-23 2016-05-31 Broadcom Corporation Congestion detection and management at congestion-tree roots
CN105556908B (zh) 2013-08-28 2019-05-28 Kt株式会社 基于多流式分组的带宽提供方法
US9509550B2 (en) 2013-08-30 2016-11-29 Microsoft Technology Licensing, Llc Generating an idempotent workflow
KR102119112B1 (ko) * 2013-09-17 2020-06-29 삼성전자 주식회사 트래픽 품질 제어 방법 및 장치
US10261813B2 (en) 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
US9276771B1 (en) * 2013-09-27 2016-03-01 Google Inc. Lossless multipath table compression
US9239804B2 (en) 2013-10-03 2016-01-19 Advanced Micro Devices, Inc. Back-off mechanism for a peripheral page request log
US20150103667A1 (en) 2013-10-13 2015-04-16 Mellanox Technologies Ltd. Detection of root and victim network congestion
US10089220B1 (en) 2013-11-01 2018-10-02 Amazon Technologies, Inc. Saving state information resulting from non-idempotent operations in non-volatile system memory
US9740606B1 (en) 2013-11-01 2017-08-22 Amazon Technologies, Inc. Reliable distributed messaging using non-volatile system memory
WO2015069576A1 (en) 2013-11-05 2015-05-14 Cisco Technology, Inc. Network fabric overlay
CN104639470B (zh) * 2013-11-14 2019-05-31 中兴通讯股份有限公司 流标识封装方法及系统
US9674042B2 (en) 2013-11-25 2017-06-06 Amazon Technologies, Inc. Centralized resource usage visualization service for large-scale network topologies
US9762497B2 (en) 2013-11-26 2017-09-12 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method and apparatus for network congestion management and network resource isolation
US9419908B2 (en) 2013-11-27 2016-08-16 Cisco Technology, Inc. Network congestion management using flow rebalancing
US9311044B2 (en) 2013-12-04 2016-04-12 Oracle International Corporation System and method for supporting efficient buffer usage with a single external memory interface
US10193771B2 (en) 2013-12-09 2019-01-29 Nicira, Inc. Detecting and handling elephant flows
US9455915B2 (en) 2013-12-12 2016-09-27 Broadcom Corporation Hierarchical congestion control with congested flow identification hardware
US9648148B2 (en) 2013-12-24 2017-05-09 Intel Corporation Method, apparatus, and system for QoS within high performance fabrics
US9495204B2 (en) 2014-01-06 2016-11-15 International Business Machines Corporation Constructing a logical tree topology in a parallel computer
US9513926B2 (en) 2014-01-08 2016-12-06 Cavium, Inc. Floating mask generation for network packet flow
KR102171348B1 (ko) * 2014-01-08 2020-10-29 삼성전자주식회사 어플리케이션 검출 방법 및 장치
US9391844B2 (en) 2014-01-15 2016-07-12 Dell Products, L.P. System and method for network topology management
CN104811396A (zh) * 2014-01-23 2015-07-29 中兴通讯股份有限公司 一种负荷均衡的方法及系统
JP2015146115A (ja) 2014-02-03 2015-08-13 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
US9753883B2 (en) 2014-02-04 2017-09-05 Netronome Systems, Inc. Network interface device that maps host bus writes of configuration information for virtual NIDs into a small transactional memory
US9628382B2 (en) * 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
KR102093296B1 (ko) * 2014-02-11 2020-03-25 한국전자통신연구원 시간 확정적으로 대용량 경로를 전환하는 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
US9584637B2 (en) 2014-02-19 2017-02-28 Netronome Systems, Inc. Guaranteed in-order packet delivery
US20150244804A1 (en) 2014-02-21 2015-08-27 Coho Data, Inc. Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities
US9294385B2 (en) * 2014-03-03 2016-03-22 International Business Machines Corporation Deadlock-free routing in fat tree networks
KR101587379B1 (ko) 2014-03-04 2016-01-20 주식회사 케이티 큐 사이즈의 동적 제어 방법 및 이를 수행하는 장치
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9838500B1 (en) 2014-03-11 2017-12-05 Marvell Israel (M.I.S.L) Ltd. Network device and method for packet processing
US9325641B2 (en) 2014-03-13 2016-04-26 Mellanox Technologies Ltd. Buffering schemes for communication over long haul links
US9727503B2 (en) 2014-03-17 2017-08-08 Mellanox Technologies, Ltd. Storage system and server
KR101867435B1 (ko) 2014-03-20 2018-07-23 인텔 코포레이션 링크 인터페이스의 미사용 하드웨어의 전력 소모를 제어하는 방법, 장치, 및 시스템
US20160154756A1 (en) 2014-03-31 2016-06-02 Avago Technologies General Ip (Singapore) Pte. Ltd Unordered multi-path routing in a pcie express fabric environment
US9846658B2 (en) * 2014-04-21 2017-12-19 Cisco Technology, Inc. Dynamic temporary use of packet memory as resource memory
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络系统及方法
US10142220B2 (en) 2014-04-29 2018-11-27 Hewlett Packard Enterprise Development Lp Efficient routing in software defined networks
US10031857B2 (en) 2014-05-27 2018-07-24 Mellanox Technologies, Ltd. Address translation services for direct accessing of local memory over a network fabric
US10261814B2 (en) 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
GB201411366D0 (en) * 2014-06-26 2014-08-13 Univ Warwick Controlling packet flow in a network
US9330433B2 (en) * 2014-06-30 2016-05-03 Intel Corporation Data distribution fabric in scalable GPUs
US9930097B2 (en) * 2014-07-03 2018-03-27 Qualcomm Incorporated Transport accelerator systems and methods
US9519605B2 (en) 2014-07-08 2016-12-13 International Business Machines Corporation Interconnection network topology for large scale high performance computing (HPC) systems
US9369397B1 (en) * 2014-07-16 2016-06-14 Juniper Networks, Inc. Apparatus to achieve quality of service (QoS) without requiring fabric speedup
US9699067B2 (en) 2014-07-22 2017-07-04 Mellanox Technologies, Ltd. Dragonfly plus: communication over bipartite node groups connected by a mesh network
US10257083B2 (en) 2014-08-29 2019-04-09 Cisco Technology, Inc. Flow cache based mechanism of packet redirection in multiple border routers for application awareness
US9742855B2 (en) 2014-09-04 2017-08-22 Mellanox Technologies, Ltd. Hybrid tag matching
WO2016039673A1 (en) 2014-09-10 2016-03-17 Telefonaktiebolaget L M Ericsson (Publ) Explicit congestion notification marking of user traffic
US9882814B2 (en) * 2014-09-25 2018-01-30 Intel Corporation Technologies for bridging between coarse-grained and fine-grained load balancing
US9548872B2 (en) 2014-09-26 2017-01-17 Dell Products, Lp Reducing internal fabric congestion in leaf-spine switch fabric
WO2016061766A1 (zh) 2014-10-22 2016-04-28 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
US9722932B1 (en) * 2014-10-28 2017-08-01 Amazon Technologies, Inc. Packet path selection using shuffle sharding
US10153967B2 (en) 2014-11-06 2018-12-11 Juniper Networks, Inc. Deterministic and optimized bit index explicit replication (BIER) forwarding
US10033641B2 (en) 2014-11-06 2018-07-24 Juniper Networks, Inc. Deterministic and optimized bit index explicit replication (BIER) forwarding
GB2532052A (en) 2014-11-07 2016-05-11 Ibm NC-SI port controller
GB2532053A (en) 2014-11-07 2016-05-11 Ibm NC-SI port controller
US10148738B2 (en) 2014-11-12 2018-12-04 Zuora, Inc. System and method for equitable processing of asynchronous messages in a multi-tenant platform
US10050896B2 (en) 2014-11-14 2018-08-14 Cavium, Inc. Management of an over-subscribed shared buffer
US9219787B1 (en) * 2014-11-26 2015-12-22 Ensighten, Inc. Stateless cookie operations server
US10003544B2 (en) 2014-12-11 2018-06-19 Futurewei Technologies, Inc. Method and apparatus for priority flow and congestion control in ethernet network
US9369200B1 (en) 2014-12-18 2016-06-14 Juniper Networks, Inc. Network controller having predictable analytics and failure avoidance in packet-optical networks
US10148575B2 (en) * 2014-12-22 2018-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive load balancing in packet processing
US9800508B2 (en) 2015-01-09 2017-10-24 Dell Products L.P. System and method of flow shaping to reduce impact of incast communications
WO2016122637A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Non-idempotent primitives in fault-tolerant memory
US9894000B2 (en) 2015-01-30 2018-02-13 Huawei Technologies Co., Ltd Method for forwarding data packets in a network and programmable ingress and egress nodes therefore
US9894013B2 (en) 2015-02-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Early queueing network device
US20160241474A1 (en) * 2015-02-12 2016-08-18 Ren Wang Technologies for modular forwarding table scalability
US9594521B2 (en) 2015-02-23 2017-03-14 Advanced Micro Devices, Inc. Scheduling of data migration
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10009270B1 (en) 2015-03-01 2018-06-26 Netronome Systems, Inc. Modular and partitioned SDN switch
KR102536208B1 (ko) 2015-03-03 2023-05-25 오팡가 네트웍스, 인크. 데이터 흐름을 페이스 조정하기 위한 시스템 및 방법
US10033574B2 (en) 2015-03-20 2018-07-24 Oracle International Corporation System and method for efficient network reconfiguration in fat-trees
WO2016153506A1 (en) 2015-03-25 2016-09-29 Hewlett Packard Enterprise Development Lp Fast failover recovery in software defined networks
KR101994952B1 (ko) 2015-03-27 2019-07-01 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 처리 방법, 메모리 관리 유닛, 및 메모리 제어 장치
WO2016159945A1 (en) 2015-03-28 2016-10-06 Intel Corporation Distributed routing table system with improved support for multiple network topologies
US10305772B2 (en) 2015-03-30 2019-05-28 Mellanox Technologies, Ltd. Using a single work item to send multiple messages
US9444769B1 (en) * 2015-03-31 2016-09-13 Chelsio Communications, Inc. Method for out of order placement in PDU-oriented protocols
US9876698B2 (en) 2015-04-09 2018-01-23 International Business Machines Corporation Interconnect congestion control in a storage grid
US9948561B2 (en) * 2015-04-14 2018-04-17 Cisco Technology, Inc. Setting delay precedence on queues before a bottleneck link based on flow characteristics
US10180792B1 (en) * 2015-04-30 2019-01-15 Seagate Technology Llc Cache management in data storage systems
US9842083B2 (en) * 2015-05-18 2017-12-12 Red Hat Israel, Ltd. Using completion queues for RDMA event detection
US10033638B1 (en) * 2015-05-29 2018-07-24 Netronome Systems, Inc. Executing a selected sequence of instructions depending on packet type in an exact-match flow switch
US10158712B2 (en) * 2015-06-04 2018-12-18 Advanced Micro Devices, Inc. Source-side resource request network admission control
US9847936B2 (en) * 2015-06-25 2017-12-19 Intel Corporation Apparatus and method for hardware-accelerated packet processing
US9888095B2 (en) * 2015-06-26 2018-02-06 Microsoft Technology Licensing, Llc Lightweight transport protocol
US9674090B2 (en) 2015-06-26 2017-06-06 Microsoft Technology Licensing, Llc In-line network accelerator
US9942171B2 (en) 2015-07-02 2018-04-10 Arista Networks, Inc. Network data processor having per-input port virtual output queues
KR102430187B1 (ko) * 2015-07-08 2022-08-05 삼성전자주식회사 RDMA NVMe 디바이스의 구현 방법
US10110475B2 (en) * 2015-07-16 2018-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Restoration method for an MPLS ring network
US9626232B2 (en) 2015-07-23 2017-04-18 Arm Limited Event queue management
US9830273B2 (en) 2015-07-30 2017-11-28 Netapp, Inc. Deduplicated host cache flush to remote storage
US10009277B2 (en) 2015-08-04 2018-06-26 Mellanox Technologies Tlv Ltd. Backward congestion notification in layer-3 networks
US20170048144A1 (en) 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks
CA2993832A1 (en) * 2015-08-18 2017-02-23 Wal-Mart Stores, Inc. Bandwidth throttling
US9749266B2 (en) 2015-08-28 2017-08-29 International Business Machines Corporation Coalescing messages using a network interface controller
US10284383B2 (en) * 2015-08-31 2019-05-07 Mellanox Technologies, Ltd. Aggregation protocol
CN108353030B (zh) * 2015-09-02 2021-02-19 瑞典爱立信有限公司 用于处理无线无线电自组织网络中的应答的方法和设备
US10193824B2 (en) 2015-09-06 2019-01-29 RISC Networks, LLC Systems and methods for intelligent application grouping
CN106559336B (zh) 2015-09-24 2020-04-03 新华三技术有限公司 应用于sdn中的路径倒换方法、转发表项下发方法和装置
US20170093770A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Technologies for receive side message inspection and filtering
US10120809B2 (en) 2015-09-26 2018-11-06 Intel Corporation Method, apparatus, and system for allocating cache using traffic class
US10216533B2 (en) 2015-10-01 2019-02-26 Altera Corporation Efficient virtual I/O address translation
US10652112B2 (en) * 2015-10-02 2020-05-12 Keysight Technologies Singapore (Sales) Pte. Ltd. Network traffic pre-classification within VM platforms in virtual processing environments
US10423625B2 (en) 2015-10-08 2019-09-24 Samsung Sds America, Inc. Exactly-once semantics for streaming analytics in non-idempotent output operations
US10282103B1 (en) * 2015-11-09 2019-05-07 Seagate Technology Llc Method and apparatus to delete a command queue
US10063481B1 (en) 2015-11-10 2018-08-28 U.S. Department Of Energy Network endpoint congestion management
US20170153852A1 (en) 2015-11-30 2017-06-01 Mediatek Inc. Multi-port memory controller capable of serving multiple access requests by accessing different memory banks of multi-bank packet buffer and associated packet storage design
JP6244349B2 (ja) * 2015-12-17 2017-12-06 アンリツ株式会社 移動端末試験装置とそのフロー制御閾値の設定方法
US10423568B2 (en) 2015-12-21 2019-09-24 Microsemi Solutions (U.S.), Inc. Apparatus and method for transferring data and commands in a memory management environment
US10135711B2 (en) * 2015-12-22 2018-11-20 Intel Corporation Technologies for sideband performance tracing of network traffic
US20170187587A1 (en) * 2015-12-26 2017-06-29 David Keppel Technologies for inline network traffic performance tracing
US10498654B2 (en) * 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US9959214B1 (en) * 2015-12-29 2018-05-01 Amazon Technologies, Inc. Emulated translation unit using a management processor
US9985903B2 (en) * 2015-12-29 2018-05-29 Amazon Technologies, Inc. Reliable, out-of-order receipt of packets
US9985904B2 (en) 2015-12-29 2018-05-29 Amazon Technolgies, Inc. Reliable, out-of-order transmission of packets
CN106936713B (zh) * 2015-12-30 2020-02-21 华为技术有限公司 一种标签管理方法,数据流处理方法及设备
US9977745B2 (en) * 2016-01-05 2018-05-22 Knuedge, Inc. Flow control through packet router
US10616118B2 (en) * 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10708819B2 (en) * 2016-02-25 2020-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Back-pressure control in a telecommunications network
US10447578B1 (en) * 2016-03-02 2019-10-15 Innovium, Inc. Redistribution policy engine
US10250530B2 (en) * 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10175891B1 (en) * 2016-03-15 2019-01-08 Pavilion Data Systems, Inc. Minimizing read latency for solid state drives
US10079782B2 (en) 2016-03-31 2018-09-18 Mellanox Technologies Tlv Ltd. Facilitating communication of data packets using credit-based flow control
US10120814B2 (en) 2016-04-01 2018-11-06 Intel Corporation Apparatus and method for lazy translation lookaside buffer (TLB) coherence
US9985891B2 (en) 2016-04-07 2018-05-29 Oracle International Corporation Congestion management in distributed systems using autonomous self-regulation
US10461864B2 (en) 2016-04-14 2019-10-29 Calix, Inc. Channel bonding techniques in a network
JP6750985B2 (ja) 2016-04-15 2020-09-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 通信装置および通信方法
US10454830B2 (en) 2016-05-05 2019-10-22 City University Of Hong Kong System and method for load balancing in a data network
US11366455B2 (en) * 2016-05-09 2022-06-21 Strong Force Iot Portfolio 2016, Llc Methods and systems for optimization of data collection and storage using 3rd party data from a data marketplace in an industrial internet of things environment
US10387074B2 (en) * 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
CN107493238A (zh) * 2016-06-13 2017-12-19 华为技术有限公司 一种网络拥塞控制方法、设备及系统
US10430374B2 (en) 2016-06-29 2019-10-01 Mellanox Technologies, Ltd. Selective acknowledgement of RDMA packets
US10331590B2 (en) 2016-06-30 2019-06-25 Intel Corporation Graphics processing unit (GPU) as a programmable packet transfer mechanism
US10305805B2 (en) 2016-07-01 2019-05-28 Intel Corporation Technologies for adaptive routing using aggregated congestion information
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US20180026878A1 (en) 2016-07-24 2018-01-25 Mellanox Technologies Tlv Ltd. Scalable deadlock-free deterministic minimal-path routing for dragonfly networks
US10419808B2 (en) 2016-09-08 2019-09-17 Gvbb Holdings S.A.R.L. System and method for scalable physical layer flow of packetized media streams
US10715446B2 (en) * 2016-09-12 2020-07-14 Huawei Technologies Co., Ltd. Methods and systems for data center load balancing
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10623526B2 (en) 2016-10-03 2020-04-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically configuring multi-mode hardware components based on workload requirements
US10936533B2 (en) * 2016-10-18 2021-03-02 Advanced Micro Devices, Inc. GPU remote communication with triggered operations
US12058015B2 (en) 2016-10-21 2024-08-06 Forward Networks, Inc. Systems and methods for an interactive network analysis platform
US10397058B2 (en) * 2016-10-31 2019-08-27 Cisco Technology, Inc. Full path diversity for virtual acess point (VAP) enabled networks
US10656972B2 (en) 2016-11-10 2020-05-19 International Business Machines Corporation Managing idempotent operations while interacting with a system of record
US10425327B2 (en) 2016-11-10 2019-09-24 Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. System and method for routing in software defined networks using a flow header
US10084687B1 (en) * 2016-11-17 2018-09-25 Barefoot Networks, Inc. Weighted-cost multi-pathing using range lookups
US10423511B2 (en) 2016-11-29 2019-09-24 International Business Machines Corporation Packet flow tracing in a parallel processor complex
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US10452573B2 (en) * 2016-12-06 2019-10-22 Hewlett Packard Enterprise Development Lp Scripted arbitration circuit
US10171369B2 (en) 2016-12-22 2019-01-01 Huawei Technologies Co., Ltd. Systems and methods for buffer management
US10394784B2 (en) * 2016-12-22 2019-08-27 Intel Corporation Technologies for management of lookup tables
WO2018119843A1 (en) 2016-12-29 2018-07-05 Intel Corporation Network interface controller with non-volatile random access memory write packet log
US10320677B2 (en) 2017-01-02 2019-06-11 Microsoft Technology Licensing, Llc Flow control and congestion management for acceleration components configured to accelerate a service
US10326696B2 (en) 2017-01-02 2019-06-18 Microsoft Technology Licensing, Llc Transmission of messages by acceleration components configured to accelerate a service
US10454835B2 (en) 2017-01-20 2019-10-22 Google Llc Device and method for scalable traffic shaping with a time-indexed data structure
US10284472B2 (en) 2017-01-24 2019-05-07 Cisco Technology, Inc. Dynamic and compressed trie for use in route lookup
US10498672B2 (en) 2017-01-30 2019-12-03 Mellanox Technologies, Ltd. Mechanism for distributing MPI tag matching
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US10402355B2 (en) 2017-02-08 2019-09-03 Texas Instruments Incorporated Apparatus and mechanism to bypass PCIe address translation by using alternative routing
US10389646B2 (en) * 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10237206B1 (en) 2017-03-05 2019-03-19 Barefoot Networks, Inc. Equal cost multiple path group failover for multicast
US10404619B1 (en) 2017-03-05 2019-09-03 Barefoot Networks, Inc. Link aggregation group failover for multicast
US10360149B2 (en) 2017-03-10 2019-07-23 Oracle International Corporation Data structure store in persistent memory
EP3379793A1 (en) * 2017-03-22 2018-09-26 Mitsubishi Electric R&D Centre Europe B.V. Asynchronous frame scheduler with efficient support for fragmentation
US10084712B1 (en) * 2017-03-23 2018-09-25 Verizon Patent And Licensing Inc. Real-time traffic analysis over mobile networks
US10419329B2 (en) 2017-03-30 2019-09-17 Mellanox Technologies Tlv Ltd. Switch-based reliable multicast service
US11556363B2 (en) 2017-03-31 2023-01-17 Intel Corporation Techniques for virtual machine transfer and resource management
WO2018184701A1 (en) * 2017-04-07 2018-10-11 NEC Laboratories Europe GmbH Method for operating virtual machines on a virtualization platform and corresponding virtualization platform
US10476629B2 (en) 2017-05-02 2019-11-12 Juniper Networks, Inc. Performing upper layer inspection of a flow based on a sampling rate
CN108809847B (zh) * 2017-05-05 2021-11-19 华为技术有限公司 实现负载均衡的方法、装置和网络系统
EP3941153B1 (en) * 2017-05-05 2023-06-07 Samsung Electronics Co., Ltd. Data transmission method and network equipment supporting pdcp duplication function
US10423357B2 (en) 2017-05-18 2019-09-24 Avago Technologies International Sales Pte. Limited Devices and methods for managing memory buffers
US20180341494A1 (en) 2017-05-26 2018-11-29 Intel Corporation Accelerating network security monitoring
US10862617B2 (en) * 2017-05-30 2020-12-08 Marvell Asia Pte, Ltd. Flowlet scheduler for multicore network processors
US10534546B2 (en) * 2017-06-13 2020-01-14 Western Digital Technologies, Inc. Storage system having an adaptive workload-based command processing clock
US10499376B2 (en) * 2017-06-16 2019-12-03 Kt Corporation Methods for managing resource based on open interface and apparatuses thereof
EP3709763B1 (en) * 2017-06-16 2024-09-04 Beijing Xiaomi Mobile Software Co., Ltd. Methods and apparatuses for release of a wireless device context
WO2018236867A2 (en) * 2017-06-19 2018-12-27 Intel Corporation CONTROL PANEL AND USER PLANE SEPARATION IN NEW RADIO (NR) SYSTEMS
CN109218215B (zh) * 2017-06-29 2021-11-19 华为技术有限公司 一种报文传输的方法和网络设备
US11362968B2 (en) 2017-06-30 2022-06-14 Intel Corporation Technologies for dynamic batch size management
US10353833B2 (en) 2017-07-11 2019-07-16 International Business Machines Corporation Configurable ordering controller for coupling transactions
US10467159B2 (en) 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US9853900B1 (en) 2017-08-07 2017-12-26 Mellanox Technologies Tlv Ltd. Using consistent hashing for ECMP routing
KR102380619B1 (ko) * 2017-08-11 2022-03-30 삼성전자 주식회사 이동 통신 시스템 망에서 혼잡 제어를 효율적으로 수행하는 방법 및 장치
US10498631B2 (en) 2017-08-15 2019-12-03 Hewlett Packard Enterprise Development Lp Routing packets using distance classes
US10374943B2 (en) 2017-08-16 2019-08-06 Hewlett Packard Enterprise Development Lp Routing packets in dimensional order in multidimensional networks
US20190058663A1 (en) 2017-08-18 2019-02-21 Futurewei Technologies, Inc. Flowlet-Based Load Balancing
US10693787B2 (en) 2017-08-25 2020-06-23 Intel Corporation Throttling for bandwidth imbalanced data transfers
WO2019043435A1 (en) * 2017-08-30 2019-03-07 Telefonaktiebolaget Lm Ericsson (Publ) PACKET TRACKING METHOD AND SYSTEM IN SOFTWARE-DEFINED NETWORKS
US20190044809A1 (en) 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
JP6897434B2 (ja) 2017-08-31 2021-06-30 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム
US11194753B2 (en) 2017-09-01 2021-12-07 Intel Corporation Platform interface layer and protocol for accelerators
JP6833644B2 (ja) 2017-09-13 2021-02-24 株式会社東芝 転送装置、転送方法及びプログラム
US10880204B1 (en) * 2017-09-26 2020-12-29 Amazon Technologies, Inc. Low latency access for storage using multiple paths
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
WO2019068017A1 (en) * 2017-09-29 2019-04-04 Fungible, Inc. RESILIENT NETWORK COMMUNICATION USING SELECTIVE PULVER FLOW SPRAY BY MULTIPATH PATH
WO2019068010A1 (en) 2017-09-29 2019-04-04 Fungible, Inc. VIRTUAL MATRIX OF NETWORK ACCESS NODES CONFIGURED DYNAMICALLY ON AN UNDERLYING NETWORK
US10200279B1 (en) 2017-10-03 2019-02-05 Amer Omar Aljaedi Tracer of traffic trajectories in data center networks
US20190108332A1 (en) 2017-10-06 2019-04-11 Elwha Llc Taint injection and tracking
CN109660463A (zh) 2017-10-11 2019-04-19 华为技术有限公司 一种拥塞流识别方法及网络设备
US11502948B2 (en) 2017-10-16 2022-11-15 Mellanox Technologies, Ltd. Computational accelerator for storage operations
CN112202685A (zh) 2017-11-06 2021-01-08 华为技术有限公司 报文转发方法、转发设备和网络设备
US10841243B2 (en) 2017-11-08 2020-11-17 Mellanox Technologies, Ltd. NIC with programmable pipeline
CN115941616A (zh) 2017-12-15 2023-04-07 微软技术许可有限责任公司 多路径rdma传输
KR101850749B1 (ko) 2017-12-18 2018-04-20 주식회사 에프아이시스 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법
US10552344B2 (en) 2017-12-26 2020-02-04 Intel Corporation Unblock instruction to reverse page block during paging
US11157336B2 (en) 2017-12-30 2021-10-26 Intel Corporation Technologies for extending triggered operations
US11277350B2 (en) 2018-01-09 2022-03-15 Intel Corporation Communication of a large message using multiple network interface controllers
WO2019160714A1 (en) * 2018-02-15 2019-08-22 Vitec, Inc. Distribution and playback of media content
US10986021B2 (en) 2018-03-06 2021-04-20 International Business Machines Corporation Flow management in networks
US11082347B2 (en) * 2018-03-26 2021-08-03 Nvidia Corporation Techniques for reducing congestion in a computer network
US10789194B2 (en) 2018-03-26 2020-09-29 Nvidia Corporation Techniques for efficiently synchronizing data transmissions on a network
CN110324249B (zh) 2018-03-28 2023-05-26 清华大学 一种蜻蜓网络架构及其组播路由方法
US20190044872A1 (en) 2018-03-30 2019-02-07 Intel Corporation Technologies for targeted flow control recovery
US20190044827A1 (en) 2018-03-30 2019-02-07 Intel Corporatoin Communication of a message using a network interface controller on a subnet
US10567307B2 (en) 2018-04-27 2020-02-18 Avago Technologies International Sales Pte. Limited Traffic management for high-bandwidth switching
US10887231B2 (en) * 2018-05-18 2021-01-05 Juniper Networks, Inc. Packet fragment forwarding without reassembly
US10789200B2 (en) * 2018-06-01 2020-09-29 Dell Products L.P. Server message block remote direct memory access persistent memory dialect
EP3808041A1 (en) * 2018-06-14 2021-04-21 Nokia Solutions and Networks Oy Flow-specific fast rerouting of source routed packets
US11374865B2 (en) * 2018-07-02 2022-06-28 Marvell Israel (M.I.S.L) Ltd. Group specific load balancing in network devices
US10958587B2 (en) 2018-07-24 2021-03-23 Intel Corporation Transmission latency reduction
US11573870B2 (en) 2018-08-22 2023-02-07 Intel Corporation Zero copy host interface in a scalable input/output (I/O) virtualization (S-IOV) architecture
US11102129B2 (en) 2018-09-09 2021-08-24 Mellanox Technologies, Ltd. Adjusting rate of outgoing data requests for avoiding incast congestion
US11444886B1 (en) 2018-09-21 2022-09-13 Marvell Asia Pte Ltd Out of order packet buffer selection
US10802828B1 (en) 2018-09-27 2020-10-13 Amazon Technologies, Inc. Instruction memory
US10820057B2 (en) 2018-11-07 2020-10-27 Nvidia Corp. Scalable light-weight protocols for wire-speed packet ordering
KR20210076882A (ko) 2018-11-08 2021-06-24 인텔 코포레이션 서비스형 함수(faas) 시스템 향상
US11108704B2 (en) 2018-12-04 2021-08-31 Nvidia Corp. Use of stashing buffers to improve the efficiency of crossbar switches
US11416749B2 (en) 2018-12-11 2022-08-16 Amazon Technologies, Inc. Execution synchronization and tracking
US10754816B2 (en) 2018-12-21 2020-08-25 Intel Corporation Time sensitive networking device
US11025564B2 (en) 2019-02-22 2021-06-01 Microsoft Technology Licensing, Llc RDMA transport with hardware integration and out of order placement
US11068412B2 (en) 2019-02-22 2021-07-20 Microsoft Technology Licensing, Llc RDMA transport with hardware integration
US11805065B2 (en) 2019-02-27 2023-10-31 Intel Corporation Scalable traffic management using one or more processor cores for multiple levels of quality of service
US11743240B2 (en) 2019-03-08 2023-08-29 Intel Corporation Secure stream protocol for serial interconnect
EP3934184A4 (en) * 2019-04-04 2022-04-20 Huawei Technologies Co., Ltd. DATA PACKET MARKING METHOD AND DEVICE, DATA TRANSMISSION SYSTEM
US10970238B2 (en) 2019-04-19 2021-04-06 Intel Corporation Non-posted write transactions for a computer bus
US11099891B2 (en) * 2019-04-22 2021-08-24 International Business Machines Corporation Scheduling requests based on resource information
US11088967B2 (en) 2019-04-26 2021-08-10 Intel Corporation Shared resources for multiple communication traffics
US10922250B2 (en) 2019-04-30 2021-02-16 Microsoft Technology Licensing, Llc Monitoring and steering service requests to acceleration components
US10931588B1 (en) * 2019-05-10 2021-02-23 Innovium, Inc. Network switch with integrated compute subsystem for distributed artificial intelligence and other applications
US10740243B1 (en) * 2019-05-13 2020-08-11 Western Digital Technologies, Inc. Storage system and method for preventing head-of-line blocking in a completion path
US20200364088A1 (en) * 2019-05-16 2020-11-19 Nvidia Corporation Resource sharing by two or more heterogeneous processing cores
WO2020236275A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating dynamic command management in a network interface controller (nic)
US11381515B2 (en) 2019-06-28 2022-07-05 Intel Corporation On-demand packet queuing in a network device
US11128561B1 (en) 2019-07-29 2021-09-21 Innovium, Inc. Auto load balancing
US11057318B1 (en) * 2019-08-27 2021-07-06 Innovium, Inc. Distributed artificial intelligence extension modules for network switches
CN110601888B (zh) 2019-09-10 2020-11-06 清华大学 一种时间敏感网络中确定性故障检测与定位方法及系统
WO2021050883A1 (en) 2019-09-12 2021-03-18 Oracle International Corporation Accelerated building and probing of hash tables using symmetric vector processing
US11178042B2 (en) * 2019-10-14 2021-11-16 Red Hat, Inc. Protocol and state analysis in a dynamic routing network
US11341082B2 (en) 2019-11-19 2022-05-24 Oracle International Corporation System and method for supporting target groups for congestion control in a private fabric in a high performance computing environment
US11451493B2 (en) 2021-01-06 2022-09-20 Mellanox Technologies, Ltd. Connection management in a network adapter
US20220311711A1 (en) * 2021-09-23 2022-09-29 Intel Corporation Congestion control based on network telemetry

Also Published As

Publication number Publication date
US11855881B2 (en) 2023-12-26
WO2020236273A1 (en) 2020-11-26
US11985060B2 (en) 2024-05-14
US20220232111A1 (en) 2022-07-21
US20230370364A1 (en) 2023-11-16
WO2020236299A1 (en) 2020-11-26
EP3942398A4 (en) 2023-04-05
US11757763B2 (en) 2023-09-12
WO2020236280A1 (en) 2020-11-26
US11765074B2 (en) 2023-09-19
CN113728592A (zh) 2021-11-30
US20220197845A1 (en) 2022-06-23
US20220214934A1 (en) 2022-07-07
US20230046350A1 (en) 2023-02-16
US20220353199A1 (en) 2022-11-03
US20240160584A1 (en) 2024-05-16
WO2020236261A1 (en) 2020-11-26
US20220210094A1 (en) 2022-06-30
WO2020236289A1 (en) 2020-11-26
US11882025B2 (en) 2024-01-23
DE112020002500T5 (de) 2022-04-14
DE112020002481T5 (de) 2022-04-28
US20220217078A1 (en) 2022-07-07
EP3942759A4 (en) 2023-04-05
WO2020236274A1 (en) 2020-11-26
US20220224628A1 (en) 2022-07-14
WO2020236286A1 (en) 2020-11-26
WO2020236259A1 (en) 2020-11-26
EP3942757A1 (en) 2022-01-26
US20220214919A1 (en) 2022-07-07
WO2020236268A1 (en) 2020-11-26
US20220217076A1 (en) 2022-07-07
US20220217079A1 (en) 2022-07-07
US20220191128A1 (en) 2022-06-16
CN113692725A (zh) 2021-11-23
DE112020002496T5 (de) 2022-04-28
DE112020002497T5 (de) 2022-04-28
CN113748647A (zh) 2021-12-03
US20220217096A1 (en) 2022-07-07
US11973685B2 (en) 2024-04-30
US20240106736A1 (en) 2024-03-28
CN113711550A (zh) 2021-11-26
EP3942422A4 (en) 2022-11-16
WO2020236291A1 (en) 2020-11-26
US20220210054A1 (en) 2022-06-30
US20220214975A1 (en) 2022-07-07
WO2020236290A1 (en) 2020-11-26
WO2020236277A1 (en) 2020-11-26
CN113728595A (zh) 2021-11-30
CN113711549A (zh) 2021-11-26
EP3942755A1 (en) 2022-01-26
CN113785543A (zh) 2021-12-10
DE112020002499T5 (de) 2022-08-25
EP3942749A4 (en) 2023-06-07
US20220231965A1 (en) 2022-07-21
WO2020236276A1 (en) 2020-11-26
US11876702B2 (en) 2024-01-16
US20220197838A1 (en) 2022-06-23
US11792114B2 (en) 2023-10-17
US11902150B2 (en) 2024-02-13
EP3942747A1 (en) 2022-01-26
CN113728597A (zh) 2021-11-30
WO2020236287A1 (en) 2020-11-26
WO2020236297A1 (en) 2020-11-26
CN113767601A (zh) 2021-12-07
WO2020236262A2 (en) 2020-11-26
US11784920B2 (en) 2023-10-10
WO2020236288A1 (en) 2020-11-26
US20220229800A1 (en) 2022-07-21
EP3942754A1 (en) 2022-01-26
US20230396533A1 (en) 2023-12-07
EP3942749A2 (en) 2022-01-26
WO2020236275A1 (en) 2020-11-26
EP3949290A1 (en) 2022-02-09
US11750504B2 (en) 2023-09-05
US20240259301A1 (en) 2024-08-01
CN113692581A (zh) 2021-11-23
WO2020236300A1 (en) 2020-11-26
CN113728598A (zh) 2021-11-30
US20220329521A1 (en) 2022-10-13
US20240171507A1 (en) 2024-05-23
WO2020236281A1 (en) 2020-11-26
WO2020236285A1 (en) 2020-11-26
WO2020236271A1 (en) 2020-11-26
WO2020236262A3 (en) 2021-02-04
CN113711551A (zh) 2021-11-26
EP3942754A4 (en) 2023-05-31
WO2020236284A1 (en) 2020-11-26
US11863431B2 (en) 2024-01-02
CN113711547A (zh) 2021-11-26
CN113767600A (zh) 2021-12-07
CN113748652A (zh) 2021-12-03
US20220217090A1 (en) 2022-07-07
WO2020236270A1 (en) 2020-11-26
CN113728596A (zh) 2021-11-30
DE112020002528T5 (de) 2022-03-24
US11962490B2 (en) 2024-04-16
EP3942757A4 (en) 2023-05-31
CN113711173A (zh) 2021-11-26
DE112020002754T5 (de) 2022-03-31
WO2020236279A1 (en) 2020-11-26
WO2020236301A1 (en) 2020-11-26
DE112020002490T5 (de) 2022-04-28
WO2020236302A1 (en) 2020-11-26
US12021738B2 (en) 2024-06-25
US20220210055A1 (en) 2022-06-30
WO2020236272A1 (en) 2020-11-26
CN113728593A (zh) 2021-11-30
US20220191127A1 (en) 2022-06-16
US20220200912A1 (en) 2022-06-23
WO2020236269A1 (en) 2020-11-26
DE112020002494T5 (de) 2022-04-28
US11899596B2 (en) 2024-02-13
US20220200923A1 (en) 2022-06-23
CN113785541A (zh) 2021-12-10
EP3949290A4 (en) 2023-05-31
CN113874848A (zh) 2021-12-31
CN113785536A (zh) 2021-12-10
WO2020236296A1 (en) 2020-11-26
WO2020236282A1 (en) 2020-11-26
WO2020236265A1 (en) 2020-11-26
EP3942422A1 (en) 2022-01-26
DE112020002484T5 (de) 2022-04-28
US20220200900A1 (en) 2022-06-23
US12058032B2 (en) 2024-08-06
US20240121182A1 (en) 2024-04-11
CN113748648A (zh) 2021-12-03
US20240113961A1 (en) 2024-04-04
US20220239587A1 (en) 2022-07-28
EP3942747A4 (en) 2023-05-24
EP3942763A4 (en) 2023-08-09
US12058035B2 (en) 2024-08-06
US12034633B2 (en) 2024-07-09
EP3942758A1 (en) 2022-01-26
US20220200897A1 (en) 2022-06-23
DE112020002501T5 (de) 2022-08-11
WO2020236295A1 (en) 2020-11-26
US11916781B2 (en) 2024-02-27
US20240259302A1 (en) 2024-08-01
US20220166705A1 (en) 2022-05-26
EP3942763A1 (en) 2022-01-26
US20220210092A1 (en) 2022-06-30
DE112020002512T5 (de) 2022-02-17
WO2020236298A1 (en) 2020-11-26
US20220255884A1 (en) 2022-08-11
WO2020236283A1 (en) 2020-11-26
US20220197831A1 (en) 2022-06-23
DE112020002510T5 (de) 2022-03-10
US12040969B2 (en) 2024-07-16
US11916782B2 (en) 2024-02-27
WO2020236292A1 (en) 2020-11-26
CN114073054A (zh) 2022-02-18
WO2020236264A9 (en) 2021-01-21
DE112020002495T5 (de) 2022-04-28
EP3942759A1 (en) 2022-01-26
US11929919B2 (en) 2024-03-12
US11876701B2 (en) 2024-01-16
US20220224639A1 (en) 2022-07-14
US11799764B2 (en) 2023-10-24
EP3942758A4 (en) 2023-05-31
US20240039836A1 (en) 2024-02-01
CN113728599A (zh) 2021-11-30
US20220210081A1 (en) 2022-06-30
US20220200913A1 (en) 2022-06-23
US20220217073A1 (en) 2022-07-07
US11818037B2 (en) 2023-11-14
US20220311544A1 (en) 2022-09-29
WO2020236264A1 (en) 2020-11-26
US20240121180A1 (en) 2024-04-11
US12003411B2 (en) 2024-06-04
WO2020236266A1 (en) 2020-11-26
WO2020236267A1 (en) 2020-11-26
US20240121179A1 (en) 2024-04-11
US11848859B2 (en) 2023-12-19
WO2020236293A1 (en) 2020-11-26
EP3942398A1 (en) 2022-01-26
US20240171506A1 (en) 2024-05-23
US11757764B2 (en) 2023-09-12
US11777843B2 (en) 2023-10-03
US20220206956A1 (en) 2022-06-30
US20220231962A1 (en) 2022-07-21
WO2020236278A1 (en) 2020-11-26
CN113711548A (zh) 2021-11-26
WO2020236294A1 (en) 2020-11-26
US20220245072A1 (en) 2022-08-04
DE112020002493T5 (de) 2022-04-28
US20240121181A1 (en) 2024-04-11
US20220210058A1 (en) 2022-06-30
US11991072B2 (en) 2024-05-21
CN113728315A (zh) 2021-11-30
US12058033B2 (en) 2024-08-06
DE112020002498T5 (de) 2022-04-28
EP3942755A4 (en) 2023-05-31
US20240291750A1 (en) 2024-08-29
CN113728594A (zh) 2021-11-30
US20220182309A1 (en) 2022-06-09
DE112020002491T5 (de) 2022-04-28
CN113767599A (zh) 2021-12-07
WO2020236258A1 (en) 2020-11-26
US20240250898A1 (en) 2024-07-25
DE112020002509T5 (de) 2022-03-03
US20220217094A1 (en) 2022-07-07
US11968116B2 (en) 2024-04-23

Similar Documents

Publication Publication Date Title
US11962490B2 (en) Systems and methods for per traffic class routing
US20240056385A1 (en) Switch device for facilitating switching in data-driven intelligent network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination