Abstract:
A system and method can support efficient packet processing in a network environment. The system can comprise a direct memory access (DMA) resources pool that comprises one or more of DMA resources. Furthermore, the system can use a plurality of packet buffers in a memory, wherein each said DMA resource can point to a chain of packet buffers in the memory. Here, the chain of packet buffers can be implemented based on either a linked list data structure and/or a linear array data structure. Additionally, each said DMA resource allows a packet processing thread to access the chain of packet buffers using a pre-assigned thread key.
Abstract:
A system and method can support efficient packet switching in a network environment. A networking device, such as a network switch, which includes a crossbar fabric, can be associated with a plurality of input ports and a plurality of output ports. Furthermore, the networking device operates to detect a link state change at an output port on the networking device. The output port can provide one or more credits to an output scheduler, and the output scheduler allows one or more packets targeting the output port to be dequeued from one or more virtual output queues, based on the one or more credits.
Abstract:
System and method for supporting flexible forwarding domain boundaries in a high performance computing environment. In accordance with an embodiment, flexible forwarding domain boundaries can be supported by dividing/partitioning a physical switch into two or more logical switches, where each switch is logically in a different domain, and allowing a fabric to be decomposed into independent subnets with one two or more physical end ports at the physical switch. By doing so, the same hierarchical forwarding structure and management structure between subnets can be provided as when complete physical switches are used as building blocks.
Abstract:
System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment. In accordance with an embodiment, systems and methods can provide for two or more SL to VL mappings per ingress switch port in a network switched fabric. By allowing for multiple such mappings, greater virtual lane independence can be achieved while continuing to achieve quality of service guarantees.
Abstract:
System and method for using multiple global identification subnet prefix values in a network switch environment in a high performance computing environment. A packet is received from a network fabric by a first Host Channel Adapter (HCA). The packet has a header portion including a destination subnet prefix identifying a destination subnet of the network fabric. The network HCA is allowed to receive the first packet from a port of the network HCA by selectively determining a logical state of a flag and, selectively in accordance with a predetermined logical state of the flag, ignoring the destination subnet prefix identifying the destination subnet of the network fabric.
Abstract:
A system for communicating packets through a network switch fabric is described. At an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. The system also associates packet flows from the multiple sources with a global QoS bucket. The system monitors traffic rates for each QoS bucket in the set of QoS buckets and the global QoS bucket. The system determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with state-specific thresholds. The system also determines a state for the global QoS bucket by comparing a traffic rate for the global QoS bucket with state-specific global thresholds. When a packet is received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket and a state of the global QoS bucket.
Abstract:
The disclosed embodiments relate to a system for communicating packets through a network switch fabric. During operation, at an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. Next, the system monitors traffic rates for each QoS bucket. The system then determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with one or more state-specific thresholds. When a packet is subsequently received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket.
Abstract:
A system and method can support efficient packet processing in a network environment. The system can comprise a thread scheduling engine that operates to assign a thread key to each software thread in a plurality of software threads. Furthermore, the system can comprise a pool of direct memory access (DMA) resources that can be used to process packets in the network environment. Additionally, each said software thread operates to request access to a DMA resource in the pool of DMA resources by presenting an assigned thread key, and a single software thread is allowed to access multiple DMA resources using the same thread key.
Abstract:
A system for communicating packets through a network switch fabric is described. At an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. The system also associates packet flows from the multiple sources with a global QoS bucket. The system monitors traffic rates for each QoS bucket in the set of QoS buckets and the global QoS bucket. The system determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with state-specific thresholds. The system also determines a state for the global QoS bucket by comparing a traffic rate for the global QoS bucket with state-specific global thresholds. When a packet is received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket and a state of the global QoS bucket.
Abstract:
A system and method can support efficient packet switching in a network environment. The system can comprise an ingress buffer on a networking device. The ingress buffer operate to store one or more incoming packets that are received at an input port on the networking device, wherein the input port is associated with a plurality of source virtual lanes (VLs). Furthermore, the ingress buffer operate to reallocate buffer resource in the ingress buffer from being associated with a first source VL in the plurality of source VLs to being associated with a second source VL in the plurality of source VLs, and send an initial credit update to the input port for the first source VL and the second source VL.