KR101850749B1 - 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법 - Google Patents

멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법 Download PDF

Info

Publication number
KR101850749B1
KR101850749B1 KR1020170174073A KR20170174073A KR101850749B1 KR 101850749 B1 KR101850749 B1 KR 101850749B1 KR 1020170174073 A KR1020170174073 A KR 1020170174073A KR 20170174073 A KR20170174073 A KR 20170174073A KR 101850749 B1 KR101850749 B1 KR 101850749B1
Authority
KR
South Korea
Prior art keywords
packet
buffer
engine
packet buffer
present
Prior art date
Application number
KR1020170174073A
Other languages
English (en)
Inventor
김종오
최원석
Original Assignee
주식회사 에프아이시스
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 주식회사 에프아이시스 filed Critical 주식회사 에프아이시스
Priority to KR1020170174073A priority Critical patent/KR101850749B1/ko
Application granted granted Critical
Publication of KR101850749B1 publication Critical patent/KR101850749B1/ko

Links

Images

Classifications

    • 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/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 멀티 코어 기반 NIC에서 패킷 수신시 동적 패킷 버퍼 할당 방법에 관한 것으로서, 네트워크로부터 NIC으로 패킷이 유입되는 상황에서 패킷 버퍼 엔진이 트래픽 유입 정보에 따라 패킷 크기를 카운팅하고 새로운 패킷 유입 정보로 패킷 버퍼를 재할당하고 버퍼 스택 엔진에 알림으로써, 메모리 사용 효율성과 패킷 처리 성능이 증가 될 수 있도록 하는, 멀티 코어 기반 NIC의 패킷 버퍼 할당 방법에 관한 것이다.

Description

멀티 코어 기반 NIC에서 동적 패킷 버퍼 할당 방법{Method for dynamic packet buffer allocation in multi-core based Network Interface Card}
본 발명은 멀티 코어 기반 NIC에서 패킷 수신 시 동적 패킷 버퍼 할당 방법에 관한 것으로서, 네트워크로부터 NIC으로 패킷이 유입되는 상황에서 패킷 버퍼 엔진이 트래픽 유입 정보에 따라 패킷 크기 분류에 따른 패킷 수를 카운팅하고, 새로운 패킷 유입 정보로 패킷 버퍼를 재할당하고 버퍼 스택 엔진에 알림으로써, 메모리 사용 효율성과 패킷 처리 성능이 향상 될 수 있도록 하는, 멀티 코어 기반 NIC의 동적 패킷 버퍼 할당 방법에 관한 것이다.
SDN/NFV, vEPC, IoT의 클라우드화 등 클라우드 기반 솔루션이 늘어남에 따라 데이터센터의 서버는 고성능 가상화 서버의 형태로 변화하고 있으며, 서버는 단일 서비스만을 제공하지 않으며, 다양하고 복합적인 서비스를 제공한다.
예를 들어, 하나의 서버에 여러 개의 웹 서버가 동작할 수 있고, 그와 동시에 보안 서버, 인증 서버 등의 기능이 동시에 수행될 수 있으며, 이는 서버에 추가되고 삭제되는 기능에 따라 소프트웨어 적으로 변경된다. 즉, 서버로 유입되는 패킷의 유형은 서버의 테넌트에 따라 다양해질 수 있다.
네트워크로부터 처음 패킷을 수신하는 부분은 NIC(Network Interface Card)이다. SDN/NFV 및 Cloud 컴퓨팅 기술의 발전에 따라, NIC 또한 40G, 100G 등으로 고속화, 대용량화 되어 가고 있는 추세로, 멀티 코어 기반의 전용 네트워크 프로세스를 사용한 NIC을 사용함으로써 고성능화를 하는 것이 하나의 대안으로 고려되고 있다.
하지만, 기존 멀티 코어 기반 NIC의 버퍼 할당 및 관리는 초기 프로그램 실행 시, 사전에 사용자에 또는 서비스에 의해 요구된 버퍼 설정 정보로 고정시켜 실행한다.
상기의 이유로 고정된 버퍼 할당 상태에서 유동적인 서버의 기능 추가 및 변경은 그에 최적화되지 못한 버퍼 자원 사용으로 버퍼 사용 측면과 패킷 프로세싱 측면에서 효율성을 감소시킨다.
대한민국 공개특허번호 : 제10-2014-0125311호 대한민국 공개특허번호 : 제10-2015-0081497호
본 발명은 상기와 같은 종래기술의 문제점을 해결하는 것을 목적으로 한다.
구체적으로, 본 발명의 목적은 동적 버퍼 할당을 관리하는 패킷 버퍼 엔진을 추가하고, 동적으로 패킷 버퍼의 크기를 변경하여 버퍼를 할당하는 방법으로 제공함으로써, 버퍼 사용 효율을 높이는 멀티 코어 기반 NIC에서 동적 버퍼 할당 방법을 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명에 따른 멀티 코어 기반 NIC의 동적 패킷 버퍼 할당 방법은 패킷 버퍼, 버퍼 스택, 버퍼 스택 엔진, 패킷 버퍼 엔진을 포함하는 NP 카드 메모리, 멀티 코어 기반 패킷 프로세스 엔진, 분류기(classifier), Notification Ring, UP 쓰레드, TRIO 쓰레드로 구성되는 멀티 코어 서버를 포함하는 환경에서, 패킷 수신시 임계치 시간동안 패킷 분류에 따라 패킷 수를 카운팅 하는 단계; 임계치 시간동안 카운팅이 많이 된 패킷 크기를 선택하는 단계; 상기 단계에서 선택된 패킷으로 변경된 패킷 버퍼 정보를 전송하는 단계; 패킷 스택 엔진에 버퍼 변경 정보를 전송하는 단계; 을 포함하는 것을 특징으로 한다.
상기 패킷 버퍼 엔진은 mPIPE로 수신되는 패킷 크기 분류에 따라 패킷 수를 확인하는 기능; 상기 버퍼 스택 엔진으로 패킷 버퍼 재설정 정보를 전송하는 기능; 패킷 버퍼로 패킷 재설정 정보를 전송 하는 기능; 을 포함하는 것을 특징으로 한다.
이상과 같이 본 발명은 네트워크로부터 NIC 으로 패킷이 유입되는 상황에서 패킷 버퍼 엔진이 트래픽 유입 정보에 따라 패킷 크기를 카운팅하고 새로운 패킷 유입 정보로 패킷 버퍼를 재할당을 수행하는 멀티 코어 기반 NIC 의 동적 패킷 버퍼 할당 방법을 제공하여, 패킷 유입시 프로세싱 속도를 향상 시키고 Buffer overhead 발생에 따른 패킷 드랍을 감소시키는 등 버퍼의 사용 효율을 높이는 효과가 있다.
본 발명의 기술적 효과들은 이상에서 언급한 기술적 효과들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시 예에 따른 동적 버퍼 할당 시스템 및 메모리 관점의 데이터 전송 과정을 나타낸 도면이다.
도 2는 본 발명의 일실시 예에 따른 패킷 디스크립터 관점의 데이터 전송 과정을 나타낸 도면이다.
도 3은 본 발명의 일실시 예에 따른 패킷 버퍼 엔진의 동작 알고리즘을 나타낸 도면이다.
도 4는 본 발명의 일실시 예에 따른 패킷 크기별 카테고리 분류를 나타낸 도면이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 참고로, 본 발명을 설명하는 데 참조하는 도면에 도시된 구성요소의 크기, 선의 두께 등은 이해의 편의상 다소 과장되게 표현되어 있을 수 있다. 또, 본 발명의 설명에 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의한 것이므로 사용자, 운용자 의도, 관례 등에 따라 달라질 수 있다. 따라서, 이 용어에 대한 정의는 본 명세서의 전반에 걸친 내용을 토대로 내리는 것이 마땅하겠다.
또한, 본 발명의 목적이 구체적으로 실현될 수 있는 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명하지만, 이는 본 발명의 더욱 용이한 이해를 위한 것으로, 본 발명의 범주가 그것에 의해 한정되는 것은 아니다. 아울러, 본 발명의 실시 예를 설명함에 있어서, 동일 구성에 대해서는 동일 명칭 및 동일 부호가 사용되며 이에 따른 부가적인 설명은 생략하기로 한다.
본 발명의 각 구성 단계에 대한 상세한 설명에 앞서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 안 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위하여 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시 예에 불과하며 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본 발명에 따른 멀티 코어 기반 NIC(Network Interface Card)에서 패킷 수신시 동적 패킷 버퍼 할당 방법은 패킷 유입시 프로세싱 속도를 향상 시키고 Buffer overhead 발생에 따른 패킷 드랍을 감소시키는 등 버퍼의 사용 효율을 높이기 위해, 네트워크로부터 NIC 으로 패킷이 유입되는 상황에서 패킷 버퍼 엔진이 트래픽 유입 정보에 따라 패킷 크기를 카운팅하고 새로운 패킷 유입 정보로 패킷 버퍼를 재할당을 수행하는 멀티 코어 기반 NIC 의 동적 패킷 버퍼 할당 방법을 제공한다.
도 2는 본 발명의 일실시 예에 따른 패킷 디스크립터 관점의 데이터 전송 과정을 나타낸 도면이다. 도 2를 참조하면 동적 패킷 버퍼 할당 방법을 제공하는 멀티 코어 기반 NIC이 장착된 멀티 코어 서버 환경은 NP 카드(200)와 PCI(106)로 연결된 Host Server(207)로 구성된다.
NP 카드(200)는 mPIPE(201), 분류기(Classifier : 202), Notification Ring(203), packet buffer(207), UP thread(204), TRIO thread(205) 등으로 구성 된다.
mPIPE(201)는 패킷 프로세싱 엔진으로 네트워크로부터 유입된 패킷을 파싱 하고 해쉬 알고리즘을 통해 플로우 정책에 따라 패킷 드랍, 워크 쓰레드로 전송, 패킷 redirect 등을 수행 한다. Classifier(202)는 mPIPE에 포함된 모듈로 패킷 디스크립터를 생성하여 플로우에 따라 우선수위 적용을 통한 QoS 제공, 부하 분산 등 제공한다. Notification Ring(203)은 classifier(202)에서 생성 및 분류된 패킷 디스크립터를 매핑된 UP thread(204)와 같은 워크 쓰레드에서 패킷 프로세싱을 하기 전 대기하는 링 타입의 작업대기 큐이다. Packet buffer(207)는 네트워크로부터 패킷이 유입됐을 때 NIC 상에 저장되는 실제 메모리 버퍼 영역이다. UP thread(204)는 워크 쓰레드의 일종으로 네트워크로부터 유입되고 Host Server(207)로 전송될 패킷에 대해 일련의 프로세싱 작업을 수행하는 쓰레드이다. TRIO thread(205)는 UP thread(204)에서 처리된 패킷을 PCI(106)을 통해 Host Server(207)로 전송 작업을 수행하는 쓰레드이다.
네트워크로부터 패킷이 유입되면 NP 카드(200)의 패킷 버퍼로 저장 된다. 유입된 패킷에 대해 mPIPE(201)는 파싱을 플로우 정보를 생성하고 classifier(202)에서 패킷 디스크립터를 생성한다. Classifier(202)는 생성한 사전에 정의된 부하 분산 정책에 따라 특정 Notification Ring(203)으로 패킷 디스크립터 정보를 전송한다. UP thread(204)는 폴링 동작을 통해 Notification Ring(203)으로부터 패킷 디스크립터 정보를 가져오고 일련의 패킷 프로세싱 작업을 수행한다. TRIO thread(205)는 UP thread(204)에서 처리된 패킷에 대해 Host Server(207)로 PCI(106)를 통해 전송 한다.
상기의 네트워크로부터 유입된 패킷이 NP 카드(200)를 통해 Host Server(207) 전송되는 과정에 대한 설명은 메모리 관점의 데이터 전송으로 설명 가능하다.
도 1은 본 발명의 일실시 예에 따른 동적 버퍼 할당 시스템 및 메모리 관점의 데이터 전송 과정을 나타낸 도면이다.
도 1을 참조한 본 발명의 일실시 예에 따른 동적 버퍼 할당 시스템 및 메모리 관점의 데이터 전송 은 트워크로부터 유입된 패킷은 NP card의 메모리(100)에 저장되고 일련의 패킷 프로세싱 후, 호스트서버의 메모리(107)에 저장된다.
NP card의 메모리(100)는 패킷 버퍼(101), 버퍼 스택(102), 버퍼스택엔진(103), 패킷버퍼엔진(104)을 포함한다.
패킷 버퍼(101)는 네트워크로부터 유입된 패킷이 저장되는 메모리 영역이다.
버퍼 스택(102)는 패킷 버퍼 정보를 가지는 버퍼 디스크립터(105)를 저장하는 메모리 영역이다.
도 3은 본 발명의 일실시 예에 따른 패킷 버퍼 엔진의 동작 알고리즘을 나타낸 도면이다.
패킷이 수신되면, 8개의 패킷 분류에 대해서 패킷 수를 카운팅 한다. 임의의 t 시간 동안 카운팅을 수행 하고 유입된 패킷 수가 가장 많은 n개의 패킷 크기를 선택 한다. 상위 n개의 패킷 크기에 대해 패킷 버퍼 변경 메시지를 버퍼 스택 엔진과 패킷 버퍼에 전송하여 상위 n개의 패킷 크기에 대해 패킷 버퍼를 재구성 한다. 카운팅하는 t와 선택 하는 n개의 패킷 크기 유형은 사용자의 요구 및 설정에 따라 변경 가능 하다.
현재 가장 많이 유입되는 패킷 크기에 따라 패킷 버퍼를 동적으로 할당하여, 반복되는 공통의 작업을 가지는 패킷이 패킷 버퍼(101)에 나열되어 있으므로 메모리의 hit-ratio를 높일 수 있으며, 반복 수행하는 프로세싱 동작에 대해 프로세싱 속도를 향상 시키고 Buffer overhead 발생에 따른 패킷 드랍을 감소시키는 등 버퍼의 사용 효율을 높이는 효과가 있다.
도 4는 본 발명의 일실시 예에 따른 패킷 크기별 카테고리 분류를 나타낸 도면이다.
패킷 버퍼(101)는 도 4에 도시된 패킷 크기별 카테고리 분류와 같이, 패킷 크기에 따라 일정 크기의 메모리 영역을 일정 패킷 크기에 해당하는 영역으로 나누어 할당된다. 이 버퍼에 대한 virtual address, size, chaining 등 정보가 버퍼 디스크립터(105)에 포함된다. 버퍼 스택 엔진(103)은 버퍼 디스크립터(105) 정보가 저장되는 버퍼 스택(102)을 관리한다. 패킷 버퍼 엔진(104)은 동적 패킷 버퍼 할당을 수행 한다.
이상 본 발명의 실시 예에 따른 도면을 참조하여 설명하였지만, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면 상기 내용을 바탕으로 본 발명의 범주 내에서 다양한 응용, 변형 및 개작을 행하는 것이 가능할 것이다. 이에, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.
100: NP card의 메모리
101: 패킷 버퍼
102: Buffer Stack
103: Buffer Stack Engine
104: Packet Buffer Engine
105: Buffer descriptor
106: PCI
107: 호스트 서버의 메모리
200: NP card
201: mPIPE(multicore Programmable Intelligent Packet Engine)
202: Classifier
203: Notification Ring
204: UP thread
205: TRIO thread
206: Packet descriptor
207: Host Server

Claims (2)

  1. 패킷 버퍼, 버퍼 스택, 버퍼 스택 엔진, 패킷 버퍼 엔진을 포함하는 NP카드 메모리, 멀티 코어 기반 패킷 프로세스 엔진, 분류기(classifier), 알림링(Notification Ring), UP 쓰레드, TRIO 쓰레드로 구성되는 멀티 코어 서버를 포함하는 환경에서,
    패킷 수신시 임계치 시간동안 패킷 크기별 분류에 따라 패킷 수를 카운팅 하는 단계;
    임계치 시간동안 카운팅이 많이 된 패킷 크기를 선택하는 단계;

    상기 단계에서 선택된 패킷으로 변경된 패킷 버퍼 정보를 전송하는 단계;
    패킷 스택 엔진에 버퍼 변경 정보를 전송하는 단계; 를 포함하고
    상기 패킷 버퍼 엔진은 mPIPE로 수신되는 패킷 크기 분류에 따라 패킷 수를 확인하는 기능, 상기 버퍼 스택 엔진으로 패킷 버퍼 재설정 정보를 전송하는 기능, 상기 패킷 버퍼로 패킷 재설정 정보를 전송 하는 기능을 포함하는 것을 특징으로 하는 멀티 코어 기반 NIC의 동적 패킷 버퍼 할당 방법.



  2. 삭제
KR1020170174073A 2017-12-18 2017-12-18 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법 KR101850749B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170174073A KR101850749B1 (ko) 2017-12-18 2017-12-18 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170174073A KR101850749B1 (ko) 2017-12-18 2017-12-18 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법

Publications (1)

Publication Number Publication Date
KR101850749B1 true KR101850749B1 (ko) 2018-04-20

Family

ID=62088122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170174073A KR101850749B1 (ko) 2017-12-18 2017-12-18 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법

Country Status (1)

Country Link
KR (1) KR101850749B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020236274A1 (en) * 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating efficient event notification management for a network interface controller (nic)
US12021738B2 (en) 2020-03-23 2024-06-25 Hewlett Packard Enterprise Development Lp Deadlock-free multicast routing on a dragonfly network

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020236274A1 (en) * 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating efficient event notification management for a network interface controller (nic)
US11750504B2 (en) 2019-05-23 2023-09-05 Hewlett Packard Enterprise Development Lp Method and system for providing network egress fairness between applications
US11757763B2 (en) 2019-05-23 2023-09-12 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient host memory access from a network interface controller (NIC)
US11757764B2 (en) 2019-05-23 2023-09-12 Hewlett Packard Enterprise Development Lp Optimized adaptive routing to reduce number of hops
US11765074B2 (en) 2019-05-23 2023-09-19 Hewlett Packard Enterprise Development Lp System and method for facilitating hybrid message matching in a network interface controller (NIC)
US11777843B2 (en) 2019-05-23 2023-10-03 Hewlett Packard Enterprise Development Lp System and method for facilitating data-driven intelligent network
US11784920B2 (en) 2019-05-23 2023-10-10 Hewlett Packard Enterprise Development Lp Algorithms for use of load information from neighboring nodes in adaptive routing
US11792114B2 (en) 2019-05-23 2023-10-17 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient management of non-idempotent operations in a network interface controller (NIC)
US11799764B2 (en) 2019-05-23 2023-10-24 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC)
US11818037B2 (en) 2019-05-23 2023-11-14 Hewlett Packard Enterprise Development Lp Switch device for facilitating switching in data-driven intelligent network
US11848859B2 (en) 2019-05-23 2023-12-19 Hewlett Packard Enterprise Development Lp System and method for facilitating on-demand paging in a network interface controller (NIC)
US11855881B2 (en) 2019-05-23 2023-12-26 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient packet forwarding using a message state table in a network interface controller (NIC)
US11863431B2 (en) 2019-05-23 2024-01-02 Hewlett Packard Enterprise Development Lp System and method for facilitating fine-grain flow control in a network interface controller (NIC)
US11876702B2 (en) 2019-05-23 2024-01-16 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient address translation in a network interface controller (NIC)
US11876701B2 (en) 2019-05-23 2024-01-16 Hewlett Packard Enterprise Development Lp System and method for facilitating operation management in a network interface controller (NIC) for accelerators
US11882025B2 (en) 2019-05-23 2024-01-23 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient message matching in a network interface controller (NIC)
US11899596B2 (en) 2019-05-23 2024-02-13 Hewlett Packard Enterprise Development Lp System and method for facilitating dynamic command management in a network interface controller (NIC)
US11902150B2 (en) 2019-05-23 2024-02-13 Hewlett Packard Enterprise Development Lp Systems and methods for adaptive routing in the presence of persistent flows
US11916781B2 (en) 2019-05-23 2024-02-27 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
US11916782B2 (en) 2019-05-23 2024-02-27 Hewlett Packard Enterprise Development Lp System and method for facilitating global fairness in a network
US11929919B2 (en) 2019-05-23 2024-03-12 Hewlett Packard Enterprise Development Lp System and method for facilitating self-managing reduction engines
US11962490B2 (en) 2019-05-23 2024-04-16 Hewlett Packard Enterprise Development Lp Systems and methods for per traffic class routing
US11968116B2 (en) 2019-05-23 2024-04-23 Hewlett Packard Enterprise Development Lp Method and system for facilitating lossy dropping and ECN marking
US11973685B2 (en) 2019-05-23 2024-04-30 Hewlett Packard Enterprise Development Lp Fat tree adaptive routing
US11985060B2 (en) 2019-05-23 2024-05-14 Hewlett Packard Enterprise Development Lp Dragonfly routing with incomplete group connectivity
US11991072B2 (en) 2019-05-23 2024-05-21 Hewlett Packard Enterprise Development Lp System and method for facilitating efficient event notification management for a network interface controller (NIC)
US12003411B2 (en) 2019-05-23 2024-06-04 Hewlett Packard Enterprise Development Lp Systems and methods for on the fly routing in the presence of errors
US12021738B2 (en) 2020-03-23 2024-06-25 Hewlett Packard Enterprise Development Lp Deadlock-free multicast routing on a dragonfly network

Similar Documents

Publication Publication Date Title
KR101583325B1 (ko) 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
US20170237672A1 (en) Network server systems, architectures, components and related methods
US10162654B2 (en) Network policy implementation with multiple interfaces
US9160678B2 (en) Flow control credits for priority in lossless ethernet
US20190280991A1 (en) Quality of service traffic management in high-speed packet processing systems
US20210288910A1 (en) Network interface device with support for hierarchical quality of service (qos)
US11212590B2 (en) Multiple core software forwarding
KR101639797B1 (ko) 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
CN106571978B (zh) 数据包捕获方法及装置
US8539089B2 (en) System and method for vertical perimeter protection
US20210067458A1 (en) Methods, systems, and devices for classifying layer 4-level data from data queues
US20220217085A1 (en) Server fabric adapter for i/o scaling of heterogeneous and accelerated compute systems
KR101850749B1 (ko) 멀티 코어 기반 nic에서 동적 패킷 버퍼 할당 방법
CN113553137A (zh) 一种nfv架构下基于dpdk的接入能力网元高速数据处理方法
US11528187B1 (en) Dynamically configurable networking device interfaces for directional capacity modifications
US11218394B1 (en) Dynamic modifications to directional capacity of networking device interfaces
WO2018057165A1 (en) Technologies for dynamically transitioning network traffic host buffer queues
EP3420452B1 (en) Interconnected hardware infrastructure resource control
CN115695578A (zh) 一种数据中心网络tcp和rdma混合流调度方法、系统及装置
CN110661731B (zh) 一种报文处理方法及其装置
KR101773528B1 (ko) 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
Huang et al. FGLB: A fine‐grained hardware intra‐server load balancer based on 100 G FPGA SmartNIC
Zhao et al. Scouting the path to a million-client server
CN106549815B (zh) 用于网络中实时深度应用识别的设备和方法
EP3016333B1 (en) Handling high throughput and low latency network data packets in a traffic management device

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant