KR20220098586A - 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치 - Google Patents

사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치 Download PDF

Info

Publication number
KR20220098586A
KR20220098586A KR1020210000443A KR20210000443A KR20220098586A KR 20220098586 A KR20220098586 A KR 20220098586A KR 1020210000443 A KR1020210000443 A KR 1020210000443A KR 20210000443 A KR20210000443 A KR 20210000443A KR 20220098586 A KR20220098586 A KR 20220098586A
Authority
KR
South Korea
Prior art keywords
packet processing
packet
upf
packets
pipelines
Prior art date
Application number
KR1020210000443A
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 KR1020210000443A priority Critical patent/KR20220098586A/ko
Priority to PCT/KR2022/000024 priority patent/WO2022146121A1/ko
Publication of KR20220098586A publication Critical patent/KR20220098586A/ko
Priority to US18/345,411 priority patent/US20230353496A1/en

Links

Images

Classifications

    • 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/3063Pipelined operation
    • 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/129Avoiding congestion; Recovering from congestion at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • 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
    • H04L49/00Packet switching elements
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

프로세서, 및 인스트럭션들을 저장하는 메모리를 포함하며, 상기 프로세서는 상기 인스트럭션들을 실행함으로써, 복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하고, 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하고, 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는, UPF 패킷 처리 제어 장치가 개시된다.

Description

사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치 {Method and apparatus for vector-based packet processing in User Plane Function}
본 개시는 사용자 평면 기능(User Plane Function; UPF)에서의 벡터 기반 패킷 처리 방법 및 장치에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다. 3GPP에서 정한 5G 통신 시스템은 New Radio (NR) 시스템이라고 불리고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되었고, NR 시스템에 적용되었다. 또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network: cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication: D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다. 이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM(Hybrid FSK and QAM Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(Information Technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 5G 통신이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
상술한 것과 이동통신 시스템의 발전에 따라 다양한 서비스를 제공할 수 있게 됨으로써, 이러한 서비스들을 효과적으로 제공하기 위한 방안이 요구되고 있다.
한편, 인공지능(Artificial Intelligence, AI) 시스템은 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다. 인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다. 기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
본 개시의 일 실시예는, 패킷 처리 상태에 따라 벡터 기반으로 UPF 패킷을 처리하는 방법 및 장치을 제공하여, UPF 패킷을 효율적으로 처리할 수 있도록 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예는, 프로세서, 및 인스트럭션들을 저장하는 메모리를 포함하며, 상기 프로세서는 상기 인스트럭션들을 실행함으로써, 복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하고, 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하고, 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는, UPF 패킷 처리 제어 장치를 제공할 수 있다.
일 실시예에서, 상기 복수의 패킷 프로세싱 파이프라인들은 서로 다른 종류의 패킷을 처리하도록 구성되는, 패킷 처리 제어 장치를 제공할 수 있다.
일 실시예에서, 상기 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 또는 통신 규칙 중 적어도 하나에 따라 정의되는, 패킷 처리 제어 장치를 제공할 수 있다.
일 실시예에서, 상기 복수의 패킷 프로세싱 파이프라인들 각각은, 특정 종류의 패킷을 처리하는 전용 패킷 프로세싱 파이프라인인, 패킷 처리 제어 장치를 제공할 수 있다.
일 실시예에서, 상기 프로세서는, UPF 패킷을 수신하고, 상기 수신된 UPF 패킷의 종류에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 중 하나를 선택하고, 상기 수신된 UPF 패킷을 상기 선택된 패킷 프로세싱 파이프라인에 전달하는, 패킷 처리 제어 장치를 제공할 수 있다.
본 개시의 일 실시예는, UPF 패킷 처리 제어 장치의 동작 방법으로서, 복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하는 동작, 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하는 동작, 및 상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는 동작을 포함하는 UPF 패킷 처리 제어 장치의 동작 방법을 제공할 수 있다.
일 실시예에서, 상기 복수의 패킷 프로세싱 파이프라인들은 서로 다른 종류의 패킷을 처리하도록 구성되는, 패킷 처리 제어 장치의 동작 방법을 제공할 수 있다.
일 실시예에서, 상기 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 또는 통신 규칙 중 적어도 하나에 따라 정의되는, 패킷 처리 제어 장치의 동작 방법을 제공할 수 있다.
일 실시예에서, 상기 복수의 패킷 프로세싱 파이프라인들 각각은, 특정 종류의 패킷을 처리하는 전용 패킷 프로세싱 파이프라인인, 패킷 처리 제어 장치의 동작 방법을 제공할 수 있다.
일 실시예에서, UPF 패킷을 수신하는 동작, 상기 수신된 UPF 패킷의 종류에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 중 하나를 선택하는 동작, 및 상기 수신된 UPF 패킷을 상기 선택된 패킷 프로세싱 파이프라인에 전달하는 동작을 더 포함하는, 패킷 처리 제어 장치의 동작 방법을 제공할 수 있다.
본 개시의 일 실시예는, 본 개시의 일 실시예에 의한 방법을 컴퓨터에서 실행시키도록 컴퓨터로 읽을 수 있는 기록매체에 저장된 프로그램 제품을 포함한다.
본 개시의 일 실시예는, 본 개시의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 개시의 일 실시예는, 패킷 처리 상태에 따라 벡터 기반으로 패킷을 처리하는 방법 및 장치을 제공하여, UPF 패킷을 효율적으로 처리할 수 있도록 한다.
도 1은 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치의 구성을 개략적으로 도시한 도면이다.
도 2는 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치의 동작 방법의 흐름을 개략적으로 나타낸 흐름도이다.
도 3은 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템의 구성을 개략적으로 도시한 도면이다.
도 4는 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템의 구성을 개략적으로 도시한 도면이다.
도 5는 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템의 구성을 개략적으로 도시한 도면이다.
도 6은 기존 기술에 의한 UPF 패킷 처리 시스템의 구성을 개략적으로 도시한 도면이다.
본 개시의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다. 본 개시의 각 동작은 반드시 기재된 순서대로 수행되어야 할 필요는 없고, 병렬적, 선택적, 또는 개별적으로 수행될 수 있다.
UPF에서 UPF 패킷(이하 단순히 '패킷'이라고도 함)을 처리함에 있어서, 패킷 벡터(vector of packets; packet vector; 이하 단순히 '벡터'라고도 함) 기반으로 패킷을 처리하는 기술이 이용되고 있는데, 기존 기술은 시간과 장소 등에 따라 다양하게 변화되는 패킷 관한 정보를 고려하지 않고 모든 패킷들을 동일한 방식으로 처리한다. 즉, UPF 패킷은 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 처리 방법 등에 따라 다양한 종류로 분류할 수 있는데, 도 6에 도시된 것과 같이 기존 기술은 모든 프로세싱 코어(이하 단순히 '코어'라고도 함)가 모든 종류의 패킷을 처리할 수 있도록 동일하게 구성하고, 수신되는 패킷을 패킷의 종류와 무관하게 각 코어로 분배하여 처리한다. 또한, 패킷의 종류나 양, 코어와 메모리의 상태 등이 실시간으로 변화될 수 있는데, 기존 기술은 벡터 기반 패킷 처리를 함에 있어서 이러한 상황 변화를 고려하지 않는다. 본 개시는, 이와 같은 다양한 요소를 고려하여 패킷을 벡터 기반으로 효율적으로 처리하는 기술을 제안한다. 본 명세서에서 UPF라 함은, 반드시 5G 통신 규약에서의 UPF만을 가리키는 것이 아니라, 통신 규약과 무관하게 일반적으로 사용자 평면(user plane)의 기능을 처리하는 컴포넌트를 포함할 수 있다. 마찬가지로, 본 명세서에서 UPF 패킷이라 함은, 반드시 5G 통신에서의 UPF 패킷만을 가리키는 것이 아니라, 통신 규약과 무관하게 일반적으로 사용자 평면(user plane)에서의 패킷을 포함할 수 있다.
도 1은 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치의 구성을 개략적으로 도시한 도면이다. 도 1을 참조하면, 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치(100)는 UPF에 수신되는 패킷의 처리를 제어하는 장치로서, 프로세서(110) 및 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션들을 저장하는 메모리(120)를 포함할 수 있다. 프로세서(110)가 메모리(120)에 저장된 하나 이상의 인스트럭션들을 실행함으로써 수행하는 UPF 패킷 처리 제어 장치(100)의 동작은 아래에서 도 2 내지 5를 참조하여 구체적으로 설명한다.
도 2는 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치(100)의 동작 방법의 흐름을 개략적으로 나타낸 흐름도이다. 도 2를 참조하면, UPF 패킷 처리 제어 장치(100)의 프로세서(110)는 동작 S210에서 복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석한다. 각 패킷 프로세싱 파이프라인은 특정 종류의 UPF 패킷을 처리하는 파이프라인으로서, 뒤에서 다시 구체적으로 설명한다.
이때 프로세서(110)는 각 패킷 프로세싱 파이프라인 또는 코어에 대하여, 패킷 정보(예: 패킷의 종류, 패킷의 양), UPF에 수신되는 해당 종류의 패킷의 수, 패킷 프로세싱 파이프라인에 현재 할당된 코어 개수, 패킷 프로세싱 파이프라인/코어가 수신하는 패킷의 수, 패킷 프로세싱 파이프라인/코어의 벡터의 크기, 패킷 프로세싱 파이프라인/코어의 부하 정보, 패킷 프로세싱 파이프라인/코어의 패킷 플로우 정보(예: 패킷의 RX/TX 정보, 패킷 드롭 정보), 패킷 프로세싱 파이프라인/코어의 사이클(cycle) 정보(예: 전체 수행 사이클, 유휴(idle) 사이클, RX 로직 사이클, TX 로직 사이클, 중간 컴포넌트 사이클), 패킷 프로세싱 파이프라인/코어의 메모리 정보 등을 모니터링하고, 이러한 정보에 기초하여 패킷 처리 상태를 분석할 수 있다. 프로세서(110)는 패킷의 헤더 및/또는 페이로드 값을 분석하여, 패킷이 어떤 특성을 가진 패킷인지 파악하고 구분할 수 있다.
특히, 프로세서(110)는 패킷 프로세싱 파이프라인들 각각에 대하여, 해당 패킷 프로세싱 파이프라인의 현재의 패킷 벡터의 크기, 해당 패킷 프로세싱 파이프라인에 현재 할당된 코어 개수, 해당 패킷 프로세싱 파이프라인의 사이클 정보, 해당 패킷 프로세싱 파이프라인이 수신하는 패킷의 수, 또는 상기 UPF에 수신되는 해당 종류의 패킷의 수 중 적어도 하나에 기초하여 패킷 처리 상태를 분석할 수 있다.
프로세서(110)는 각 패킷 프로세싱 파이프라인 또는 코어가 사용하는 자원의 양을 판단함으로써 패킷 처리 상태를 분석할 수 있다. 프로세서(110)는 각 패킷 프로세싱 파이프라인 또는 코어의 혼잡(busy) 정도를 판단함으로써 패킷 처리 상태를 분석할 수 있다.
동작 S220에서, 프로세서(110)는 패킷 처리 상태 분석 결과에 기초하여 복수의 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 각각에 대해 패킷 벡터의 크기를 결정할 수 있다.
동작 S230에서, 프로세서(110)는 패킷 처리 상태 분석 결과에 기초하여 복수의 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 각각에 대해 프로세싱 코어 개수를 할당할 수 있다. 프로세서(110)는 각 패킷 프로세싱 파이프라인의 벡터 크기에 기초하여 각 패킷 프로세싱 파이프라인에 프로세싱 코어 개수를 할당할 수 있다. 프로세서(110)는 각 패킷 프로세싱 파이프라인에 대해 코어를 0개 이상 할당할 수 있다. 즉, 프로세서(110)는 어떤 프로세싱 파이프라인에는 코어를 할당하지 않을 수도 있다. 프로세서(110)는 각 패킷 프로세싱 파이프라인에 특정 코어를 할당할 수 있다. 동작 S220과 S230은 반드시 순서대로 수행되어야 하는 것은 아니다. 실시예에 따라, 프로세서(110)는 하나의 파이프라인에 할당된 복수의 코어들에 대하여 서로 다른 패킷 벡터의 크기를 결정할 수도 있다.
예를 들면, 특정 종류의 패킷의 처리량이 부족한 상황이 감지되면, 해당 패킷 프로세싱 파이프라인에 대해 벡터의 크기를 늘리고 더 많은 코어를 할당할 수 있다. 프로세서(110)는 인공지능, 인공 신경망, 기계학습 등을 이용하여 각 패킷 프로세싱 파이프라인의 벡터 크기 및 코어 수를 결정할 수 있다. 프로세서(110)는 실시간으로 변화하는 패킷 처리 상태에 따라 지속적으로 각 패킷 프로세싱 파이프라인의 벡터 크기 및 코어 수를 갱신할 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 혼잡 정도가 증가함에 따라, 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다. 여기서 혼잡 정도가 증가하는 것은 패킷 프로세싱 파이프라인의 수행 사이클(예: 패킷 프로세싱 파이프라인의 전체 수행 사이클, 또는 패킷 프로세싱 파이프라인의 내부 컴포넌트의 수행 사이클)이 높아지는 것을 포함할 수 있다. 수행 사이클이 높아지는 것은, 예를 들면 수행 사이클의 절대치 또는 상대치가 소정의 임계값보다 높거나 같아지는 것일 수 있다. 혼잡 정도가 증가하는 것은 유휴 사이클이 낮아지는 것을 포함할 수 있다. 유휴 사이클이 낮아지는 것은, 예를 들면 유휴 사이클의 절대치 또는 상대치가 소정의 임계값보다 낮거나 같아지는 것일 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인 또는 코어의 혼잡 정도가 증가함에 따라, 그 패킷 프로세싱 파이프라인 또는 코어의 패킷 벡터의 크기를 증가시킬 수 있다. 패킷 벡터의 크기는 혼잡 정도에 따라 비례적으로 조절할 수도 있고, 기계 학습 모델의 추론을 통해 그 값을 결정할 수도 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 패킷 벡터의 크기가 최대치일 때, 그 패킷 프로세싱 파이프라인의 혼잡 정도가 증가함에 따라 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 혼잡 정도가 감소함에 따라, 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 감소시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인 또는 코어의 혼잡 정도가 감소함에 따라, 그 패킷 프로세싱 파이프라인 또는 코어의 패킷 벡터의 크기를 감소시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 패킷 벡터의 크기가 최소치일 때, 그 패킷 프로세싱 파이프라인의 혼잡 정도가 감소함에 따라 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 감시킬 수 있다.
일 실시예에서, 프로세서(110)는, 패킷 프로세싱 파이프라인의 유휴 사이클의 절대치 또는 상대치가 소정의 임계값보다 크거나 같아질 때 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 감소시킬 수 있다. 예를 들어, 패킷 프로세싱 파이프라인에 현재 할당된 코어의 개수가 k일 때, 그 패킷 프로세싱 파이프라인의 유휴 사이클 비율이 1/k보다 큰 경우 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 1개 감소시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인이 수신하는 패킷의 수가 증가함에 따라, 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인 또는 코어가 수신하는 패킷의 수가 증가함에 따라, 그 패킷 프로세싱 파이프라인 또는 코어의 패킷 벡터의 크기를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 패킷 벡터의 크기가 최대치일 때, 그 패킷 프로세싱 파이프라인이 수신하는 패킷의 수가 증가함에 따라, 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 UPF에 수신되는 특정 종류의 패킷의 수가 증가함에 따라, 해당 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 UPF에 수신되는 특정 종류의 패킷의 수가 증가함에 따라, 해당 패킷 프로세싱 파이프라인 또는 코어의 패킷 벡터의 크기를 증가시킬 수 있다.
일 실시예에서, 프로세서(110)는 패킷 프로세싱 파이프라인의 패킷 벡터의 크기가 최대치일 때, UPF에 수신되는 해당 종류의 패킷의 수가 증가함에 따라, 그 패킷 프로세싱 파이프라인에 할당된 코어의 개수를 증가시킬 수 있다.
이와 같이, 본 개시의 일 실시예에 의한 UPF 패킷 처리 제어 장치(100)는 패킷의 실시간 처리 상태에 따라 패킷 프로세싱 파이프라인별로 최적의 벡터 크기 및 코어 수를 능동적으로 결정함으로써 최적의 벡터 기반 패킷 처리를 수행하도록 할 수 있다.
도 3은 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템의 구성을 개략적으로 도시한 도면이다. 도 3을 참조하면, 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템(300)은 복수의 패킷 프로세싱 파이프라인들(320-1 내지 320-N)을 포함할 수 있다.
실시예에 따라, 모든 패킷 프로세싱 파이프라인들(320-1 내지 320-N)이 서로 다른 종류의 패킷을 처리하도록 구성될 수 있다. 즉, 한 종류의 패킷을 처리하는 패킷 프로세싱 파이프라인은 단 하나뿐일 수 있다.
실시예에 따라, 일부 패킷 프로세싱 파이프라인들은 동일한 종류의 패킷을 처리하도록 구성될 수도 있다. 즉, 한 종류의 패킷을 처리하는 패킷 프로세싱 파이프라인이 복수개 존재할 수도 있다.
패킷 프로세싱 파이프라인들(320-1 내지 320-N) 각각은 특정 종류의 패킷만을 처리할 수 있고, 다른 종류의 패킷은 처리할 수 없는 전용(dedicated) 패킷 프로세싱 파이프라인일 수 있다. 다시 말해, 각 패킷의 종류에 따라 별도의 패킷 프로세싱 파이프라인이 구비될 수 있다. 한 종류의 패킷에 대해 전용 패킷 프로세싱 파이프라인이 복수개 존재할 수도 있다.
패킷 프로세싱 파이프라인들(320-1 내지 320-N)은 서로 독립적으로 동작할 수 있다.
각 패킷 프로세싱 파이프라인이 처리할 수 있는 패킷의 종류는 다양한 기준에 따라 정의될 수 있다. 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 또는 통신 프로토콜의 버전 중 적어도 하나에 따라 정의될 수 있다. 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 및 통신 프로토콜의 버전 모두에 따라 정의될 수 있다. 통신 링크의 방향은 상향 링크와 하향 링크를 포함할 수 있다. 통신 프로토콜의 종류는 TCP/UDP 등 전송 계층의 프로토콜 종류를 포함할 수 있다. 통신 프로토콜의 버전은 IPv4 또는 IPv6 등의 인터넷 프로토콜의 버전을 포함할 수 있다.
예를 들어, 제1 패킷 종류는 상향 링크, UDP, 및 IPv4에 해당하는 패킷이고, 제2 패킷 종류는 상향 링크, UDP, 및 IPv6에 해당하는 패킷이고, 제N 패킷 종류는 하향 링크, TCP, 및 IPv6에 해당하는 패킷일 수 있다. 이 경우, 제1 패킷 프로세싱 파이프라인(320-1)은 상향 링크, UDP, 및 IPv4에 해당하는 제1 패킷 종류의 패킷만 처리하고, 제2 패킷 프로세싱 파이프라인(320-1)은 상향 링크, UDP, 및 IPv6에 해당하는 제2 패킷 종류의 패킷만 처리하고, 제N 패킷 프로세싱 파이프라인(320-N)은 하향 링크, TCP, 및 IPv6에 해당하는 제N 패킷 종류의 패킷만 처리할 수 있다. 따라서 제1 패킷 프로세싱 파이프라인(320-1)은 상향 링크, UDP, 및 IPv4를 처리하는 기능만 구비하면 되고, 그 외 하향 링크, TCP, 또는 IPv6에 관한 기능을 구비할 필요가 없다. 제2 패킷 프로세싱 파이프라인(320-1)은 상향 링크, UDP, 및 IPv6를 처리할 수 있도록 구성될 수 있으며, 하향 링크, TCP, 또는 IPv4에 관한 기능을 구비할 필요가 없다. 제N 패킷 프로세싱 파이프라인(320-N)은 하향 링크, TCP, 및 IPv6를 처리할 수 있으며, 상향 링크, UDP, 또는 IPv4에 관한 기능을 구비할 필요가 없다.
패킷 프로세싱 파이프라인은 통신 규칙에 따라 구별될 수도 있다. 즉, 통신 규칙이 유사한 패킷들을 같은 종류의 패킷으로 취급하여 하나의 패킷 프로세싱 파이프라인에 의해 처리되도록 할 수 있다. 통신 규칙은 FAR, QER, URR 등의 패킷 포워딩 규칙를 포함할 수 있다.
패킷의 종류는 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 또는 통신 규칙 중 적어도 하나에 따라 정의될 수 있다. 패킷의 종류는 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 및 통신 규칙 모두에 따라 정의될 수 있다.
전술하였듯이, 패킷 프로세싱 파이프라인에는 하나 이상의 프로세싱 코어가 할당될 수 있으며, 경우에 따라 프로세싱 코어가 할당되지 않을 수도 있다.
UPF 패킷 처리 시스템(300)은 패킷 분배부(310) 및 상태 분석부(330)를 포함할 수 있다. UPF 패킷 처리 시스템(300)이 수신하는 UPF 패킷은, 그 종류에 따라 패킷 분배부(310)에 의해 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 중 해당하는 패킷 프로세싱 파이프라인으로 전달될 수 있다. 각 패킷은 해당 패킷 프로세싱 파이프라인에 의해 처리되며, 상태 분석부(330)는 패킷 프로세싱 파이프라인에 의해 패킷이 처리되는 상태를 분석하여 각 패킷 프로세싱 파이프라인의 벡터 크기 및 코어 수를 결정할 수 있다. 상태 분석부(330)의 동작은 앞서 설명한 UPF 패킷 처리 제어 장치(100)의 동작과 같으며, 상태 분석부(330)는 UPF 패킷 처리 제어 장치(100)에 포함될 수 있다. 상태 분석부(330)에 의해 결정된 벡터 크기 및 코어 수는 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 및/또는 패킷 분배부(310)로 전달될 수 있다.
패킷 분배부(310)는 각 패킷 프로세싱 파이프라인의 벡터 크기와 무관하게 패킷을 하나 또는 소정의 개수씩 각 패킷 프로세싱 파이프라인으로 전달하고, 각 패킷 프로세싱 파이프라인이 수신된 패킷들을 자신의 벡터 크기에 따라 벡터로 구성하여 처리할 수 있다. 실시예에 따라, 패킷 분배부(310)가 각 패킷 프로세싱 파이프라인의 벡터 크기에 맞추어 패킷을 모아 벡터를 구성하여 각 패킷 프로세싱 파이프라인으로 전달할 수도 있다. 실시예에 따라, 패킷 분배부(310)가 UPF 패킷 처리 제어 장치(100)에 포함될 수도 있다. 즉, UPF 패킷 처리 제어 장치(100)의 프로세서(110)는 UPF 패킷을 수신하고, 수신된 UPF 패킷의 종류에 기초하여 복수의 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 중 하나를 선택하고, UPF 패킷을 선택된 패킷 프로세싱 파이프라인에 전달할 수 있다. 프로세서(110)는 수신된 UPF 패킷의 종류에 대응되는 패킷 프로세싱 파이프라인들이 복수 개 존재하는 경우, 그 중 가장 여유 있는 패킷 프로세싱 파이프라인을 선택하여 UPF 패킷을 전달할 수 있다. 프로세서(110)는 수신된 UPF 패킷의 종류에 대응되는 패킷 프로세싱 파이프라인들 중 혼잡 정도가 가장 낮은 패킷 프로세싱 파이프라인을 선택하여 UPF 패킷을 전달할 수 있다. 프로세서(110)는 수신된 UPF 패킷의 종류에 대응되는 패킷 프로세싱 파이프라인들 중 유휴 사이클이 가장 높은 패킷 프로세싱 파이프라인을 선택하여 UPF 패킷을 전달할 수 있다.
도 4는 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템(400)의 구성을 개략적으로 도시한 도면이다. 도 4를 참조하면, 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템(400)은 네트워크 인터페이스 컨트롤러(Network Interface Controller; NIC, 410), UPF 패킷 처리 제어 장치(100), 및 복수의 프로세싱 코어들(420-1 내지 420-M)을 포함할 수 있다. 프로세싱 코어들(420-1 내지 420-M) 각각에는 복수의 패킷 프로세싱 파이프라인들(320-1 내지 320-N) 중 하나가 할당될 수 있다. 여러 개의 프로세싱 코어에 하나의 패킷 프로세싱 파이프라인이 할당될 수 있다.
UPF 패킷 처리 제어 장치(100)는 프로세싱 코어들(420-1 내지 420-M)에 의해 패킷이 처리되는 상태를 분석하여 각 패킷 프로세싱 파이프라인의 벡터 크기 및 코어 수를 결정할 수 있으며, 그 구체적인 동작은 앞서 설명한 바와 같다. UPF 패킷 처리 제어 장치(100)에 의해 결정된 벡터 크기는 프로세싱 코어들(420-1 내지 420-M)로 전달될 수 있다.
NIC(410)는 수신된 UPF 패킷을 UPF 패킷 처리 제어 장치(100)로 전달할 수 있다. UPF 패킷 처리 제어 장치(100)는 UPF 패킷을 그 종류에 따라 프로세싱 코어들(420-1 내지 420-M) 중 해당하는 프로세싱 코어로 전달할 수 있다. UPF 패킷 처리 제어 장치(100)는 각 프로세싱 코어의 벡터 크기와 무관하게 패킷을 하나 또는 소정의 개수씩 각 코어로 전달할 수도 있고, 각 프로세싱 코어의 벡터 크기에 맞추어 패킷 벡터를 구성하여 각 프로세싱 코어로 전달할 수도 있다. UPF 패킷 처리 제어 장치(100)는 패킷 분배부(310)를 포함할 수 있다.
도 5는 본 개시의 일 실시예에 의한 UPF 패킷 처리 시스템(500)의 구성을 개략적으로 도시한 도면이다. 도 5의 실시예를 설명함에 있어 앞서 설명한 내용과 중복되는 내용은 생략한다. 도 5를 참조하면, 도 4에서 설명한 실시예와 달리 NIC(410)가 수신된 UPF 패킷을 직접 프로세싱 코어들(420-1 내지 420-M) 중 해당하는 프로세싱 코어로 전달할 수 있다. 이를 위해 UPF 패킷 처리 제어 장치(100)에 의해 각 패킷 종류별 패킷 프로세싱 파이프라인에 할당된 코어에 관한 정보가 NIC(410)로 전달될 수 있다.
NIC(410)는 각 프로세싱 코어의 벡터 크기와 무관하게 패킷을 하나 또는 소정의 개수씩 각 코어로 전달할 수도 있고, 각 프로세싱 코어의 벡터 크기에 맞추어 패킷 벡터를 구성하여 각 프로세싱 코어로 전달할 수도 있다. UPF 패킷 처리 제어 장치(100)에 의해 결정된 각 코어의 벡터 크기가 NIC(410)로 전달될 수 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 컴퓨터에 의해 읽을 수 있는 기록매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
또한, 본 명세서에서, "a, b, 또는 c 중 적어도 하나를 포함한다"는 "a만 포함하거나, b만 포함하거나, c만 포함하거나, a 및 b를 포함하거나, b 및 c를 포함하거나, a 및 c를 포함하거나, a, b, 및 c를 모두 포함하는 것을 의미할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
지금까지 본 개시에 대하여 도면에 도시된 바람직한 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 개시를 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 이러한 실시예들을 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 비록 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 개시의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다.
본 개시의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 청구범위의 기술적 사상에 의해서 정해져야 하며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 개시된 모든 구성요소를 포함하는 것으로 이해되어야 한다.

Claims (20)

  1. UPF의 패킷 처리를 제어하는 패킷 처리 제어 장치로서,
    프로세서; 및
    인스트럭션들을 저장하는 메모리를 포함하며,
    상기 프로세서는 상기 인스트럭션들을 실행함으로써,
    복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하고,
    상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하고,
    상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는, UPF 패킷 처리 제어 장치.
  2. 제1항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들은 서로 다른 종류의 패킷을 처리하도록 구성되는, 패킷 처리 제어 장치.
  3. 제2항에 있어서,
    상기 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 또는 통신 규칙 중 적어도 하나에 따라 정의되는, 패킷 처리 제어 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여,
    해당 패킷 프로세싱 파이프라인의 현재의 패킷 벡터의 크기, 해당 패킷 프로세싱 파이프라인에 현재 할당된 코어 개수, 해당 패킷 프로세싱 파이프라인의 사이클 정보, 해당 패킷 프로세싱 파이프라인이 수신하는 패킷의 수, 또는 상기 UPF에 수신되는 해당 종류의 패킷의 수 중 적어도 하나에 기초하여, 해당 패킷 프로세싱 파이프라인에 의해 UPF 패킷들이 처리되는 상태를 분석하는, 패킷 처리 제어 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 유휴 사이클이 감소함에 따라, 할당된 코어의 개수를 증가시키는, 패킷 처리 제어 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 유휴 사이클이 감소함에 따라, 패킷 벡터의 크기를 증가시키는, 패킷 처리 제어 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 패킷 벡터의 크기가 최대치일 때, 유휴 사이클이 감소함에 따라 할당된 코어의 개수를 증가시키는, 패킷 처리 제어 장치.
  8. 제1항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들 각각은, 특정 종류의 패킷을 처리하는 전용 패킷 프로세싱 파이프라인인, 패킷 처리 제어 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    UPF 패킷을 수신하고,
    상기 수신된 UPF 패킷의 종류에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 중 하나를 선택하고,
    상기 수신된 UPF 패킷을 상기 선택된 패킷 프로세싱 파이프라인에 전달하는, 패킷 처리 제어 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 수신된 UPF 패킷의 종류에 대응되는 패킷 프로세싱 파이프라인들 중 유휴 사이클이 가장 높은 패킷 프로세싱 파이프라인을 선택하는, 패킷 처리 제어 장치.
  11. UPF 패킷 처리 제어 장치의 동작 방법으로서,
    복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하는 동작;
    상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하는 동작; 및
    상기 분석 결과에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는 동작을 포함하는 UPF 패킷 처리 제어 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들은 서로 다른 종류의 패킷을 처리하도록 구성되는, 패킷 처리 제어 장치의 동작 방법.
  13. 제11항에 있어서,
    상기 패킷의 종류는, 통신 링크의 방향, 통신 프로토콜의 종류, 통신 프로토콜의 버전, 또는 통신 규칙 중 적어도 하나에 따라 정의되는, 패킷 처리 제어 장치의 동작 방법.
  14. 제11항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들에 의해 UPF 패킷들이 처리되는 상태를 분석하는 동작은,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여,
    해당 패킷 프로세싱 파이프라인의 현재의 패킷 벡터의 크기, 해당 패킷 프로세싱 파이프라인에 현재 할당된 코어 개수, 해당 패킷 프로세싱 파이프라인의 사이클 정보, 해당 패킷 프로세싱 파이프라인이 수신하는 패킷의 수, 또는 상기 UPF에 수신되는 해당 종류의 패킷의 수 중 적어도 하나에 기초하여, 해당 패킷 프로세싱 파이프라인에 의해 UPF 패킷들이 처리되는 상태를 분석하는 동작을 포함하는, 패킷 처리 제어 장치의 동작 방법.
  15. 제11항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는 동작은,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 유휴 사이클이 감소함에 따라, 할당된 코어의 개수를 증가시키는 동작을 포함하는, 패킷 처리 제어 장치의 동작 방법.
  16. 제11항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 패킷 벡터의 크기를 결정하는 동작은, 상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 유휴 사이클이 감소함에 따라, 패킷 벡터의 크기를 증가시키는 동작을 포함하는, 패킷 처리 제어 장치의 동작 방법.
  17. 제16항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대해 프로세싱 코어 개수를 할당하는 동작은,
    상기 복수의 패킷 프로세싱 파이프라인들 각각에 대하여, 패킷 벡터의 크기가 최대치일 때, 유휴 사이클이 감소함에 따라 할당된 코어의 개수를 증가시키는 동작을 포함하는, 패킷 처리 제어 장치의 동작 방법.
  18. 제11항에 있어서,
    상기 복수의 패킷 프로세싱 파이프라인들 각각은, 특정 종류의 패킷을 처리하는 전용 패킷 프로세싱 파이프라인인, 패킷 처리 제어 장치의 동작 방법.
  19. 제11항에 있어서,
    UPF 패킷을 수신하는 동작;
    상기 수신된 UPF 패킷의 종류에 기초하여 상기 복수의 패킷 프로세싱 파이프라인들 중 하나를 선택하는 동작; 및
    상기 수신된 UPF 패킷을 상기 선택된 패킷 프로세싱 파이프라인에 전달하는 동작을 더 포함하는, 패킷 처리 제어 장치의 동작 방법.
  20. 제11항 내지 제19항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020210000443A 2021-01-04 2021-01-04 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치 KR20220098586A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210000443A KR20220098586A (ko) 2021-01-04 2021-01-04 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치
PCT/KR2022/000024 WO2022146121A1 (ko) 2021-01-04 2022-01-03 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치
US18/345,411 US20230353496A1 (en) 2021-01-04 2023-06-30 Vector-based packet processing method and apparatus in user plane function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210000443A KR20220098586A (ko) 2021-01-04 2021-01-04 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220098586A true KR20220098586A (ko) 2022-07-12

Family

ID=82259561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210000443A KR20220098586A (ko) 2021-01-04 2021-01-04 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치

Country Status (3)

Country Link
US (1) US20230353496A1 (ko)
KR (1) KR20220098586A (ko)
WO (1) WO2022146121A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8493979B2 (en) * 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8789065B2 (en) * 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9167501B2 (en) * 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9436732B2 (en) * 2013-03-13 2016-09-06 Futurewei Technologies, Inc. System and method for adaptive vector size selection for vectorized query execution
EP3404533B1 (en) * 2017-05-17 2021-05-05 Samsung Electronics Co., Ltd. Method and apparatus for data processing based on multicore

Also Published As

Publication number Publication date
US20230353496A1 (en) 2023-11-02
WO2022146121A1 (ko) 2022-07-07

Similar Documents

Publication Publication Date Title
WO2021139537A1 (zh) 一种工业物联网中基于功率控制和资源分配的任务卸载方法
Li et al. NOMA-enabled cooperative computation offloading for blockchain-empowered Internet of Things: A learning approach
CN106465409B (zh) 用于调度无线设备间的通信以减少与多小区网络中全双工通信相关联的干扰的系统和方法
US11576119B2 (en) Method and apparatus for power control for network energy optimization
Hou et al. Joint allocation of wireless resource and computing capability in MEC-enabled vehicular network
CN112261674A (zh) 一种基于移动边缘计算及区块链协同赋能的物联网场景的性能优化方法
Ke et al. Deep reinforcement learning-based computation offloading and resource allocation in security-aware mobile edge computing
US20230319585A1 (en) Methods and systems for artificial intelligence based architecture in wireless network
US20230325258A1 (en) Method and apparatus for autoscaling containers in a cloud-native core network
Noh et al. Delay minimization for NOMA-enabled mobile edge computing in industrial Internet of Things
KR102598084B1 (ko) 작업 의존성에 기초하여 컴퓨팅 작업을 서버에 스케줄링하는 방법 및 장치
He et al. Reinforcement learning-based computing and transmission scheduling for LTE-U-enabled IoT
US20230284194A1 (en) Carrier management method, resource allocation method and related devices
Khuntia et al. An efficient Deep reinforcement learning with extended Kalman filter for device‐to‐device communication underlaying cellular network
Huang et al. A DRL-based automated algorithm selection framework for cross-layer QoS-aware scheduling and antenna allocation in massive MIMO systems
Huda et al. Deep reinforcement learning-based computation offloading in uav swarm-enabled edge computing for surveillance applications
Guan et al. Deep reinforcement learning‐based full‐duplex link scheduling in federated learning‐based computing for IoMT
US20220377627A1 (en) Method for mdas server assisted handover optimization in wireless network
KR20220098586A (ko) 사용자 평면 기능에서의 벡터 기반 패킷 처리 방법 및 장치
Saeed et al. Task Reverse Offloading with Deep Reinforcement Learning in Multi-Access Edge Computing
Smirnov et al. Real-time data transmission optimization on 5G remote-controlled units using deep reinforcement learning
US20220400043A1 (en) Method and apparatus for multi-user scheduling in wireless communication system
Chidume et al. Intelligent user-collaborative edge device APC-based MEC 5G IoT for computational offloading and resource allocation
Banez et al. A survey of mean field game applications in wireless networks
Truong et al. Secured Schemes for RF Energy Harvesting Mobile Computing Networks with Multiple Antennas Based on NOMA and Access Points Selection

Legal Events

Date Code Title Description
A201 Request for examination