KR20200076700A - 성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법 - Google Patents

성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20200076700A
KR20200076700A KR1020207013886A KR20207013886A KR20200076700A KR 20200076700 A KR20200076700 A KR 20200076700A KR 1020207013886 A KR1020207013886 A KR 1020207013886A KR 20207013886 A KR20207013886 A KR 20207013886A KR 20200076700 A KR20200076700 A KR 20200076700A
Authority
KR
South Korea
Prior art keywords
user plane
work item
cores
core
observations
Prior art date
Application number
KR1020207013886A
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 시스코 테크놀러지, 인크.
Publication of KR20200076700A publication Critical patent/KR20200076700A/ko

Links

Images

Classifications

    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/54Loss aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • 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/5033Allocation 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 data affinity

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-를 포함하는 방법이 개시된다. 방법은 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함한다. 코어와 작업 항목 간의 바인딩은 성능을 향상시키기 위해 동적이며 변경 가능하다. 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시(latency) 및 패킷 드롭 중 하나를 포함할 수 있다. 작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함할 수 있다.

Description

성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법
본 개시는 패킷 플로우에 관한 것으로, 특히 컨테이너 또는 가상 머신과 같은 주어진 사용자 평면에서 작업 항목을 코어에 동적으로 매칭시킬 수 있는 핵심 성능 지표 기반 스케줄러에 관한 것이다.
5G 차세대 모바일 코어에서, 사용자 평면(UP)은 낮은 레이턴시(latency) 및 매우 높은 처리량을 가져야 한다. 또한 사용자 평면은 DPI(딥 패킷 검사), TCP(전송 제어 프로토콜) 최적화 또는 그 외의 것이든, 작업 부하(workload)에 따라 CPU(중앙 처리 장치) 리소스를 효율적으로 사용해야 한다. OVS-DPDK(Open vSwitch Data Plane Development Kit) 또는 VPP(vector data processing)와 같은 네트워크 기능 가상화(Network Function Virtualization) 아키텍처의 현재 패킷 포워더는 작업 항목(work item)에 코어를 정적으로 바인딩한다. 컨테이너 또는 가상 머신 내의 사용자 공간 패킷 스케줄링은 프로세스 경계 내에 포함되므로 컨테이너 또는 가상 머신 내의 프로세스에 더 많은 CPU 리소스를 동적으로 할당할 수 없다.
VPP 및 OVS-DPDK와 같은 NFVI(네트워크 기능 가상화 인프라스트럭쳐)의 포워더는 스케일러블(scalable) 패킷 스케줄러를 갖지 않으며 특정 포트에 코어를 정적 할당함으로써 스루풋이 제한된다. L2-L3 또는 L4-L7 처리 작업 항목도 특정 코어에 정적으로 바인딩된다. 이 정적 바인딩의 결과는 CPU 리소스에 고르지 않은 로드 분배이다. 따라서, 정적으로 CPU 리소스를 할당하면 CPU 리소스가 낭비될 수 있다.
본 개시의 상술한 사항 및 다른 장점 및 특징이 구비될 수 있는 방식을 설명하기 위해, 위에서 간략하게 설명된 원리들에 대한 보다 구체적인 설명은 첨부된 도면에 도시된 특정 실시예들을 참조하여 제공될 것이다. 이들 도면은 단지 본 개시의 예시적인 실시예를 도시하고 그 범위를 제한하는 것으로 간주되지 않는다는 것을 이해하고, 본 명세서의 원리는 아래 첨부 도면의 사용을 통해 추가적인 특징 및 세부 사항으로 기술되고 설명된다:
도 1은 예시적인 시스템 구성을 도시한다;
도 2는 코어의 작업 항목에 대한 동적 바인딩을 가능하게 하기 위해 사용자 평면의 일부로서 제공되는 스케줄러의 예시적인 개념을 도시한다;
도 3은 방법 실시예를 도시한다; 그리고
도 4는 다른 방법 실시예를 도시한다.
본 개시의 다양한 실시예들이 아래에서 상세하게 논의된다. 특정 구현들이 논의되지만, 이것은 예시 목적으로만 수행된다는 것을 이해해야 한다. 관련 기술 분야의 통상의 기술자는 본 개시의 사상 및 범위를 벗어나지 않고 다른 구성 요소 및 구성이 사용될 수 있음을 인식할 것이다.
개요
본 개시의 추가적인 특징 및 장점은 다음의 설명에 명시될 것이며, 부분적으로 설명으로부터 명백해지거나 본 명세서에 개시된 원리를 실시함으로써 학습될 수 있다. 본 개시의 특징 및 장점은 첨부된 청구 범위에서 특히 지시된 기구 및 조합에 의해 실현되고 획득될 수 있다. 본 개시의 이들 및 다른 특징은 다음의 설명 및 첨부된 청구 범위로부터 보다 완전하게 명백해지거나 본 명세서에 기재된 원리의 실시에 의해 학습될 수 있다.
구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-를 포함하는 방법이 개시된다. 이 방법은 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함한다. 코어와 작업 항목 간의 바인딩은 성능을 향상시키기 위해 동적이며 변경 가능하다. 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시 및 패킷 드롭 중 하나를 포함할 수 있다. 작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함할 수 있다.
다른 예에서, 사용자 평면 내의 작업 항목에 대한 코어의 동적 바인딩을 제공하는 방법이 개시되어 있다. 이 방법은 사용자 평면 내의 제1 작업 항목에 제1 개수의 코어를 할당하는 단계, 사용자 평면 내의 제2 작업 항목에 제2 개수의 코어를 할당하는 단계, 구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-를 포함한다. 이 방법은 또한 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 상기 사용자 평면 내의 제1 작업 항목에 제3 개수의 코어를 할당하고 상기 사용자 평면 내의 제2 작업 항목에 제4 개수의 코어를 할당함으로써 작업 항목에 대한 코어 바인딩을 조절하는 단계를 포함한다.
상세한 설명
본 개시는 상술한 과제를 해결한다. 본 개시는 시스템, 방법 및 컴퓨터 판독 가능 저장 디바이스 실시예를 제공한다. 먼저 서버, 노드 또는 다른 컴퓨터 시스템을 구성하는 일부 기본 하드웨어 구성 요소를 제공할 수 있는 일반적인 예시 시스템이 도 1에 개시될 것이다.
먼저 서버, 노드 또는 다른 컴퓨터 시스템을 구성하는 일부 기본 하드웨어 구성 요소를 제공할 수 있는 일반적인 예시 시스템이 도 1에 개시될 것이다. 도 1은 시스템의 구성 요소들이 커넥터(105)를 사용하여 서로 전기적으로 통신하는 컴퓨팅 시스템 아키텍처(100)를 도시한다. 예시적인 시스템(100)은 프로세싱 유닛(CPU 또는 프로세서)(110) 및 판독 전용 메모리(ROM)(120) 및 랜덤 액세스 메모리(RAM)(125)와 같은 시스템 메모리(115)를 포함하는 다양한 시스템 구성 요소를 프로세서(110)에 결합하는 시스템 커넥터(105)를 포함한다. 시스템(100)은 프로세서(110)와 직접 연결되거나, 근접하거나 또는 프로세서(110)의 일부로서 통합된, 고속 메모리의 캐시를 포함할 수 있다. 시스템(100)은 프로세서(110)에 의한 빠른 액세스를 위해 메모리(115) 및/또는 저장 디바이스(130)로부터 캐시(112)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시는 데이터를 기다리는 동안의 프로세서(110)의 지연을 피하는 성능 향상을 제공할 수 있다. 이들 및 다른 모듈/서비스는 다양한 동작을 수행하도록 프로세서(110)를 제어하거나 제어하도록 구성될 수 있다. 다른 시스템 메모리(115)도 이용 가능할 수 있다. 메모리(115)는 상이한 성능 특성을 갖는 다수의 상이한 유형의 메모리를 포함할 수 있다. 프로세서(110)는 프로세서(110)를 제어하도록 구성된, 임의의 범용 프로세서 및 저장 디바이스(130)에 저장된 서비스 1(132), 서비스 2(134) 및 서비스 3(136)과 같은 하드웨어 모듈 또는 소프트웨어 모듈/서비스를 포함할 수 있을 뿐만 아니라, 소프트웨어 명령이 실제 프로세서 설계에 통합되는 특수 목적 프로세서도 포함할 수 있다. 프로세서(110)는 본질적으로 다수의 코어 또는 프로세서, 버스(커넥터), 메모리 제어기, 캐시 등을 포함하는 완전히 독립적인 컴퓨팅 시스템일 수 있다. 멀티-코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 디바이스(100)와의 사용자 상호 작용을 가능하게 하기 위해, 입력 디바이스(145)는 음성용 마이크로폰, 제스처 또는 그래픽 입력용 터치 감지 스크린, 키보드, 마우스, 모션 입력, 음성 등과 같은 임의의 수의 입력 메커니즘을 나타낼 수 있다. 출력 디바이스(135)는 또한 당업자에게 알려진 다수의 출력 메커니즘 중 하나 이상일 수 있다. 일부 예에서, 멀티 모달 시스템은 사용자가 컴퓨팅 디바이스(100)와 통신하기 위해 다수 유형의 입력을 제공할 수 있게 한다. 통신 인터페이스(140)는 일반적으로 사용자 입력 및 시스템 출력을 제어 및 관리할 수 있다. 특정 하드웨어 구성에서 작동하는 것에 대한 제한이 없으며, 따라서 본 명세서에서의 기본 특징은 개선된 하드웨어 또는 펌웨어 구성이 개발되어도 쉽게 대체될 수 있다.
저장 디바이스(130)는 비-휘발성 메모리이고 자기 카세트, 플래시 메모리 카드, 솔리드 스테이트 메모리 디바이스, 디지털 다용도 디스크(DVD), 카트리지, 랜덤 액세스 메모리(RAMs)(125), 판독 전용 메모리(ROM)(120) 및 이들의 하이브리드와 같이 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 하드 디스크 또는 다른 유형의 컴퓨터 판독 가능 매체일 수 있다.
저장 디바이스(130)는 프로세서(110)를 제어하기 위한 소프트웨어 서비스(132, 134, 136)를 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈/서비스가 고려된다. 저장 디바이스(130)는 시스템 커넥터(105)에 연결될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은 기능을 수행하기 위해, 프로세서(110), 커넥터(105), 디스플레이(135) 등과 같은, 필요한 하드웨어 구성 요소와 관련되어 컴퓨터 판독 가능 매체에 저장된 소프트웨어 구성 요소를 포함할 수 있다.
도 2는 예시적인 구성(200)을 도시하며, 구성은 예를 들어 5G 차세대 모바일 코어의 사용자 평면에서 가상 머신 또는 컨테이너 내에서 실행되는 포워더를 위한 패킷 스케줄러를 제공한다. 5G의 목표는 광대역 모바일 통신 사용자의 고밀도 제공, 디바이스간 통신 지원, 초신뢰성(ultra-reliable) 제공이다. 다른 목표로는 수만 명의 사용자에 대해 초당 수십 메가 비트의 데이터 전송 속도, 대도시 지역에 대해 초당 100Mb의 데이터 전송 속도, 같은 사무실에 있는 작업자에게 초당 1Gb의 동시 전송, 무선 센서에 대한 수십만 개의 동시 연결, 4G 네트워크와 비교할 때 향상된 스펙트럼 효율, 커버리지 개선, 신호 효율 개선 및 LTE 표준에 비해 지연 시간 감소가 포함된다. 일 양태에서, 본 개시는 임의의 사용자 평면에서 임의의 가상 머신 또는 컨테이너 내에서 실행되고 5G 차세대 모바일 코어로 제한되지 않는 포워더에 대한 패킷 스케줄러에 관한 것이다.
8 개의 코어 세트가 도 2에서 피처(202)로서 도시되어 있다. 코어 0은 스케줄러를 실행하는 것으로 도시되어 있고 코어 1 내지 5는 작업 항목 1을 처리하고 있다. 코어 6 및 7은 작업 항목 2를 처리한다. 피처(202)는 처음에 작업 항목 1이 코어 세트에 할당되거나 바인딩되고 작업 항목 2가 코어 세트에 할당되거나 바인딩되는 사용자 평면에서의 가상 머신 또는 컨테이너의 상태를 나타낼 수 있다. 본 명세서에 개시된 개념은 코어와 작업 항목 사이의 동적 바인딩을 가능하게 하는 접근법을 확인한다. 작업 항목은 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능으로 정의할 수 있다. 작업 항목은 지정된 사용자 평면(예를 들어, 컨테이너 또는 가상 머신)의 단일 프로세스 내에서 또는 여러 프로세스에서 실행될 수 있다. 스케줄러(204)는 다수의 핵심 성능 지표와 관련된 데이터를 포함하는 구성 파일(212)에 액세스 할 것이다. 예를 들어, 핵심 성능 지표는 CPU 사용률(208), 패킷 드롭(206), 레이턴시 정보(210) 및 이용 가능한 다른 성능 정보 중 하나 이상을 포함할 수 있다. 각각의 핵심 성능 지표는 구성 파일(212) 내에 임계값을 포함할 수 있다. 이들 임계값은 관리자에 의해 수동으로 개별적으로 설정될 수 있거나 시스템 또는 네트워크로부터의 피드백에 기초하여 설정될 수 있다. 예를 들어, 다른 가상 엔티티와 무관하게, 가상 머신 또는 컨테이너 자체 내의 성능에 관하거나, 또는 해당 가상 머신 또는 컨테이너뿐만 아니라 다른 가상 머신 또는 컨테이너 내의 성능의 조합에 관한 피드백이 제공될 수 있다. 스케줄러(204)는 구성 파일(212) 내의 임의의 하나 이상의 데이터를 임의의 조합으로 이용할 수 있다.
스케줄러(204)는 매 1초 간격처럼 고정된 또는 동적 간격으로 핵심 성능 지표를 주기적으로 모니터링하고, 구성 파일(212)의 데이터에 따라 특정 시간에 작업 항목을 확장(214)할 것인지 또는 작업 항목을 축소(216)할 것인지를 결정한다. 관찰 간격은 설정 가능하며, 일련의 관찰에 기초하여 작업 항목을 확장 또는 축소 할 때 결정된다. 간격은 동적이거나 정적일 수도 있다. 예를 들어, 시스템은 매 1 초로 관찰 간격을 설정하고 5 회 관찰 또는 5 초마다 결정을 내릴 수 있다. 일정 기간 동안 높은 CPU 사용량 또는 예정된 CPU 사용량 증가와 같은, 작업 부하와 관련된 데이터를 고려하여 더 짧은 간격으로 관찰이 발생할 수 있다. 사용자 평면 내 및/또는 사용자 평면 외부의 데이터에 기초한 피드백은 관찰 간격뿐만 아니라 작업 항목의 확장 또는 축소 여부에 대한 결정 간격을 동적으로 설정하는 데 사용될 수 있다. 일 양태에서, 물리적 또는 가상화된 포워딩 노드 내의 작업 부하 할당 및/또는 리소스를 조정하는 것은 리소스의 폐-루프 수요에 기초할 수 있다. 다시 말해서, 리소스에 대한 폐-루프 수요는 물리적 또는 가상화된 특정 사용자 평면 환경 내의 리소스에 대한 수요를 포함한다.
도 2는 제1 시간에서 코어와 작업 항목(202) 간의 초기 바인딩 및 제2 시간에서 구성 파일(212)의 데이터 및 관찰값들에 기초하여 스케줄러 결정(204)이 이루어진 후의 예를 도시한 것으로, 제2 시간은 상기 제1 시간보다 늦을 수 있다. 바인딩(218)이 제2 시간에 변경되었다는 것을 주목한다. 이제 작업 항목 1이 코어 1 내지 3에 할당되거나 바인드되어 축소되었다. 작업 항목 2는 제1 시간(202)의 2 개의 코어에서 제2 시간(218)의 코어 4 내지 7로 확장되었다. 물론, 도 2는 작업 부하의 코어로의 바인딩이 조정될 수 있는 방법의 비-제한적인 예를 도시한다.
본 개시의 다른 양태에서, 코어와 작업 항목 간의 바인딩 결과가 변경되지 않거나, 작업 항목의 확장 또는 작업 항목의 축소의 결과를 가지는 의사 결정 프로세스는, 작업 항목을 확장할 수 있는 리소스를 결정하기 위해 애플리케이션 유형을 추가로 고려할 수 있다. 예를 들어, 도 2에서 여러 유형의 코어가 있고 코어 2 및 3이 유형 1이고 코어 4 및 5가 유형 2 인 것으로 가정한다. 일부 경우에, 각각의 코어로 흐르는 패킷을 생성하는 애플리케이션은 특정 유형의 코어와 같은 특정 유형의 리소스에 대한 선호도(affinity)를 가질 것이다. 이러한 시나리오에서, 스케줄러(204)는 스케줄링 결정(204)이 확장(214) 또는 축소(216) 결정을 포함할 뿐만 아니라 특정 리소스 유형에 대한 해당 애플리케이션의 선호도에 따라 애플리케이션과 연관된 작업 항목을 특정 코어에 할당하여 효율성을 향상시키거나 애플리케이션 유형을 리소스 유형과 매칭시키도록 애플리케이션에 대한 정보를 포함할 수 있다. 애플리케이션 유형을 리소스와 매칭시킴으로써, 시스템은 성능을 향상시키고 작업 항목과 코어와 같은 리소스 사이의 미스매치를 피할 수 있다. 애플리케이션 유형은 코어가 모두 유사한 유형인 경우 작업 항목에 대한 코어 바인딩 간의 동적 조정에 영향을 줄 수 있다. 경우에 따라 어느 애플리케이션 유형을 더 많은 리소스가 필요하거나 더 필요할 것으로 예상될 수 있으므로 추가 코어(또는 다른 컴퓨팅 리소스)가 해당 애플리케이션 유형에 따라 작업 항목에 바인딩 될 수 있다.
일 양태에서, 스케줄러(204)는 사용자 평면, 컨테이너 또는 가상 머신 내에 자체 포함된 것으로 간주될 수 있다. 이는 스케줄러(204)가 코어를 갖는 작업 항목의 재 할당을 위해 노스-바운드 오케스트레이션(north-bound orchestration) 시스템과 같은 외부 시스템과의 통신을 필요로 하지 않음을 의미할 수 있다. 다른 양태에서, 스케줄러(204)는 재할당 결정에 노스-바운드 오케스트레이션 시스템으로부터의 데이터를 통합할 수 있다. 또한, 다른 양태에서, 사용자 평면, 컨테이너 또는 가상 머신에 이용 가능한 코어의 수는 핵심 성능 지표 및 구성 임계값의 분석에 기초하여 추가적인 리소스를 포함하도록 확장될 수 있다.
도 3은 방법 실시예를 도시한다. 이 방법은 구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-(302)를 포함한다. 사용자 평면은 5G 사용자 평면 기기, 가상 머신 또는 컨테이너 일 수 있다. 이 방법은 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함한다(304). CPU 사용률, 레이턴시 및 패킷 드롭 중 하나 이상을 포함할 수 있는 핵심 성능 지표가 적어도 하나 있다. 핵심 성능 지표는 레이턴시, CPU 사용률, 메모리 사용률 등 중 하나 이상과 관련된 예측 또는 예상 성능, 메모리 사용률, 작업 부하 특성과 관련된 데이터와 같은 리소스의 성능 또는 잠재적 또는 예측된 리소스 사용 특성을 나타내는 임의의 다른 데이터일 수 있다. 작업 부하 할당은 사용자 평면 내의 패킷 대기열에서 작동하는 개별적으로 스케줄링 가능한 기능인 작업 항목을 포함할 수 있다.
지표를 모니터링하는 주기는 또한 정적, 가변 또는 일부 이벤트에 기초하여 트리거될 수 있다. 예를 들어, 컴퓨팅 환경을 사용하기 위해 대량의 작업 부하를 스케줄링 해야하는 경우, 확장 또는 축소 결정을 위해 지표의 모니터링 빈도를 증가시킬 수 있고 따라서 정확도를 높일 수 있다. 데이터 포인트 중 하나에 대한 관찰값이 급증하면 작업 항목의 스케일링이 트리거 될 수도 있다. 또한, 시스템은 임의의 주어진 리소스 또는 리소스 그룹의 예상된 조절(throttling)에 앞서 모니터링 빈도 또는 관찰 레벨을 스케줄링 할 수 있다.
일 양태에서, 작업 부하 할당을 조정하는 단계는 추가 코어가 작업 항목에 바인딩되도록 작업 항목을 확장하는 단계 또는 코어가 작업 항목에 바인딩되지 않도록 작업 항목을 축소하는 단계 중 하나 이상을 포함한다. 이러한 시나리오에서는 한 작업 항목 세트를 확장하면서 다른 작업 항목 세트를 축소 할 수 있다. 작업 부하 할당 조정에는 사용자 평면 내의 각 작업 항목에 할당되는 코어 수를 조정하는 것이 포함될 수 있다. 조정은 또한 타이밍 측면에서 정적 또는 동적일 수 있는 스케줄링 된 관찰값 수에서 발생할 수 있다. 코어가 참조되지만 조정은 메모리, 대역폭 등과 같은 다른 유형의 컴퓨팅 리소스와 관련될 수도 있다.
관찰은 애플리케이션 유형을 추가로 포함할 수 있으며, 작업 항목에 대한 코어의 바인딩 조정은 애플리케이션 유형에 적어도 부분적으로 기초하여 수행된다. 이와 관련하여 코어의 바인딩 조정은 특정 애플리케이션 유형과 관련된 작업 항목을 사용자 평면 내의 특정 코어 또는 리소스에 할당하는 것을 포함할 수 있다. 구성 파일은 CPU 사용률과 관련된 제1 임계값, 레이턴시와 관련된 제2 임계값, 패킷 드롭과 관련된 제3 임계값 및 애플리케이션 유형 중 하나 이상을 포함할 수 있다. 구성 파일에서 임의의 개별 데이터 유형에 대한 임계값은 사용자 평면 및/또는 사용자 평면 외부로부터의 피드백 정보에 기초하여 정적으로 설정되거나 동적일 수 있다. 관리자는 모든 데이터 유형에 대한 임계값을 설정할 수도 있다.
도 4는 다른 방법 실시예를 도시한다. 사용자 평면 내의 작업 항목에 코어의 동적 바인딩을 제공하는 방법이 개시되며, 사용자 평면 내의 제1 작업 항목에 대한 제1 개수의 코어를 할당하는 단계(402), 사용자 평면 내의 제2 작업 항목에 제2 개수의 코어를 할당하는 단계(404) 및 구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 사용자 평면 내의 리소스의 폐-루프 요구를 나타냄-(406)를 포함한다. 다른 양태에서, 관찰값은 전술한 바와 같은 성능 지표의 분석뿐만 아니라 애플리케이션 유형 또는 작업 부하 특성의 분석 또는 평가를 포함할 수 있다. 이러한 시나리오에서, 일부 작업 부하 또는 애플리케이션 유형은 특정 유형의 운영 체제, 하드웨어, 가상 머신 또는 애플리케이션을 실행하는 데 사용될 기타 컴퓨팅 리소스에 맞게 프로그래밍 될 수 있거나 이에 대한 선호도가 있음에 유의해야 한다. 방법은 또한 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 사용자 평면 내의 제1 작업 항목에 제3 개수의 코어를 할당하고 사용자 평면 내의 제2 작업 항목에 제4 개수의 코어를 할당함으로써 작업 항목에 대한 코어의 바인딩을 조정하는 단계(408)를 포함한다.
확장된 시나리오에서, 조정에 고려되는 관찰값은 핵심 지표에 대한 데이터뿐만 아니라 애플리케이션 유형 또는 작업 부하 특성에 대한 데이터를 포함한다. 따라서, 스케줄러에 의해 수행되는 조정은 지표 및/또는 애플리케이션 유형/작업 부하 특성을 고려하고 그에 따라 작업 항목에 코어를 할당할 수 있다. 경우에 따라, 코어의 특성이 다른 애플리케이션 유형 또는 작업 부하 특성보다, 특정 애플리케이션 유형 또는 작업 부하 특성과 매칭될 수 있다. 일 양태에서, 애플리케이션 또는 작업 부하는 미리 그 스케줄러에 선호도를 알릴 수 있고, 스케줄러 알고리즘에 대한 조정이 작업 항목에 대한 코어 지정을 세밀화하고 개선하기 위해 발생할 수 있다. 또한, 애플리케이션 또는 작업 부하는 예를 들어 네트워크 집약적이거나 데이터베이스 집약적이거나 CPU 집약적인 작업 항목과 관련된 데이터와 같이, 작업 부하 또는 애플리케이션과 관련된 개별 작업 항목의 특성을 스케줄러로 전송할 수 있다. 다음으로 이러한 데이터를 사용하여 할당 프로세스를 다시 세밀화하기 위해 할당 알고리즘을 조정할 수 있다.
제1 작업 항목 및 제2 작업 항목은 각각 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능을 포함할 수 있다. 관찰값은 애플리케이션 유형을 추가로 포함할 수 있고, 제3 개수의 코어의 코어들 및 제4 개수의 코어의 코어들은 적어도 부분적으로 애플리케이션 유형에 기초하여 선택된다. 사용자 평면에서의 스케줄러는 독립적으로 또는 적어도 부분적으로 노스-바운드 오케스트레이션 시스템과 협력하여 동작할 수 있다.
일부 실시예에서 컴퓨터 판독 가능 저장 디바이스, 매체 및/또는 메모리는 비트 스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다. 그러나, 언급될 때, 비-일시적 컴퓨터 판독 가능 저장 매체는 에너지, 캐리어 신호, 전자기파 및 신호 자체와 같은 매체를 명백하게 배제한다.
전술한 예에 따른 방법은 저장되거나 컴퓨터 판독 가능 매체로부터 다른 방식으로 이용 가능한 컴퓨터 실행 가능 명령을 사용하여 구현될 수 있다. 이러한 명령은 범용 컴퓨터, 특수 목적 컴퓨터 또는, 특정 기능이나 기능 그룹을 수행하기 위한 특수 목적 처리 디바이스를 야기하거나 달리 구성하는 명령 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스의 일부는 네트워크를 통해 액세스 할 수 있다. 컴퓨터 실행 가능 명령은 예를 들어, 바이너리, 어셈블리 언어와 같은 중간 포맷 명령어, 펌웨어 또는 소스 코드일 수 있다. 설명된 예에 따른 방법 동안 생성된 명령, 사용되는 정보 및/또는 명령을 저장하는데 사용될 수 있는 컴퓨터 판독 가능 매체의 예는 자기 또는 광 디스크, 플래시 메모리, 비-휘발성 메모리가 제공된 USB 디바이스, 네트워크 저장 디바이스 등을 포함한다.
이들 개시에 따른 방법을 구현하는 디바이스는 하드웨어, 펌웨어 및/또는 소프트웨어를 포함할 수 있고, 다양한 폼 팩터(form factor)를 취할 수 있다. 이러한 폼 팩터의 일반적인 예로는 랩톱, 스마트 폰, 소형 폼 팩터 개인용 컴퓨터, 개인용 디지털 단말기(PDA), 랙 마운트 디바이스, 독립형 디바이스 등이 있다. 본 명세서에 기술된 기능은 또한 주변 장치 또는 애드-인(add-in) 카드에 구현될 수 있다. 이러한 기능은 또한 다른 예로서, 상이한 칩들의 회로 보드 또는 단일 디바이스에서 실행되는 상이한 프로세스들에서 구현될 수도 있다.
명령, 명령을 전달하기 위한 매체, 명령을 실행하기 위한 컴퓨팅 리소스, 및 이러한 컴퓨팅 리소스를 지원하기 위한 다른 구조는 본 개시에 기술된 기능을 제공하기 위한 수단이다.
첨부된 청구 범위의 범주 내에서 양태를 설명하기 위해 다양한 예 및 다른 정보가 사용되었지만, 통상의 기술자가 본 예시를 사용하여 광범위한 구현을 도출 할 수 있기 때문에, 본 예에서의 특정 특징 또는 구성에 기초하여 청구 범위의 제한이 암시되어서는 안된다.  또한, 일부 항목은 구조적 특징 및/또는 방법 단계의 예에 특정한 표현으로 설명되었지만, 첨부된 청구 범위에 정의된 항목은 이러한 설명된 특징 또는 행위에 반드시 제한되는 것은 아니라는 점을 이해해야 한다. 예를 들어, 이러한 기능은 본 명세서에서 식별된 것과 다른 구성 요소로 상이하게 분배되거나 수행될 수 있다. 오히려, 설명된 특징 및 단계는 첨부된 청구 범위의 범위 내에서 시스템 및 방법의 구성 요소의 예로서 개시된다. 또한, 집합 중 "적어도 하나"를 언급하는 청구 범위의 표현은 집합의 하나의 요소 또는 집합의 다수 요소가 청구 범위를 만족한다는 것을 나타낸다.
일 실시예 또는 예시를 참조하는 본 명세서의 특징 또는 구성은 본 명세서의 다른 실시예 또는 예로 구현되거나, 이와 조합될 수 있음을 이해해야 한다.  즉, 특정 기능 또는 구성을 설명하기 위해 본 명세서에서 사용된 것으로서, "실시예(embodiment)", "변형(variation)", "양태(aspect)", "예시(example)", "구성(configuration)", "구현(implementation)", "경우(case)", 및 실시예를 의미할 수 있는 임의의 다른 용어와 같은 용어는 관련된 특징들 또는 구성들 중 임의의 것을 특정 또는 개별의 실시예 또는 실시예들로 제한하려는 의도는 아니며, 그러한 특징 또는 구성이 다른 실시예, 변형, 양태, 예, 구성, 구현, 경우 등을 참조하여 설명된 특징 또는 구성과 결합될 수 없음을 제안하도록 해석되어서는 안된다. 다시 말해, 특정 예를 참조하여 본 명세서에 설명된 특징들(예를 들어, 실시예, 변형, 양상, 구성, 구현, 경우 등)은 다른 예를 참조하여 설명된 특징들과 결합될 수 있다. 정확하게, 당업자는 본 명세서에 설명된 다양한 실시예 또는 예, 및 그들의 관련 특징이 서로 조합될 수 있음을 쉽게 인식할 것이다.
"양태"와 같은 문구는 그러한 양태가 본 기술에 필수적이거나 그러한 양태가 본 기술의 모든 구성에 적용된다는 것을 의미하지는 않는다. 한 양태와 관련된 개시는 모든 구성, 또는 하나 이상의 구성에 적용될 수 있다. 양태와 같은 문구는 하나 이상의 양태를 지칭할 수 있으며 그 역도 마찬가지다. "구성"과 같은 문구가 그러한 구성이 본 기술에 필수적이거나 그러한 구성이 본 기술의 모든 구성에 적용된다는 것을 암시하지는 않는다. 구성에 관한 개시는 모든 구성, 또는 하나 이상의 구성에 적용될 수 있다. 구성과 같은 문구는 하나 이상의 구성을 지칭할 수 있으며 그 반대도 마찬가지다. "예시적인(exemplary)"이라는 단어는 본 명세서에서 "예 또는 예시로서 제공하는"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인"것으로 설명된 임의의 양태 또는 설계는 다른 양태 또는 설계보다 바람직하거나 유리한 것으로 해석될 필요는 없다.
또한, 집합 중 "적어도 하나"를 언급하는 청구 범위 표현은 집합의 하나의 요소 또는 집합의 다수의 요소가 청구 범위를 만족한다는 것을 나타낸다. 예를 들어, "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나"를 언급하는 청구 범위 표현은 A 하나, B 하나, C 하나, A 및 B 같이, A 및 C 같이, B 및 C 같이 또는 A, B 및 C 같이를 의미한다.

Claims (23)

  1. 구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
    상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 사용자 평면은 가상 머신 및 컨테이너 중 하나를 포함하는 방법.
  3. 청구항 1 내지 2 중 어느 한 항에 있어서,
    상기 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시(latency) 및 패킷 드롭 중 하나를 포함하는 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서,
    상기 작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함하는 방법.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서,
    상기 작업 부하 할당을 조정하는 단계는:
    추가 코어가 상기 작업 항목에 바인딩되도록 작업 항목을 확장하는 단계; 또는
    코어가 상기 작업 항목에서 바인딩 해제되도록 작업 항목을 축소하는 단계인 방법.
  6. 청구항 1 내지 5 중 어느 한 항에 있어서,
    상기 작업 부하 할당을 조정하는 단계는 상기 사용자 평면 내의 각각의 작업 항목에 할당되는 코어의 수를 조정하는 단계를 포함하는 방법.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서,
    상기 조정은 스케줄링 된 관찰값 수에서 발생하는 것인 방법.
  8. 청구항 1 내지 7 중 어느 한 항에 있어서,
    상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 작업 항목에 대한 코어의 바인딩의 조정은 상기 애플리케이션 유형에 적어도 부분적으로 기초하여 수행되는 방법.
  9. 청구항 1 내지 8 중 어느 한 항에 있어서,
    상기 구성 파일은 상기 중앙 처리 장치(CPU) 사용률과 관련된 제1 임계값, 상기 레이턴시와 관련된 제2 임계값, 상기 패킷 드롭과 관련된 제3 임계값 및 상기 애플리케이션 유형 중 하나 이상을 포함하는 방법.
  10. 사용자 평면 내의 작업 항목에 대한 코어의 동적 바인딩을 제공하는 방법으로서,
    상기 사용자 평면 내의 제1 작업 항목에 제1 개수의 코어를 할당하는 단계;
    상기 사용자 평면 내의 제2 작업 항목에 제2 개수의 코어를 할당하는 단계;
    구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 상기 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
    상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 상기 사용자 평면 내의 상기 제1 작업 항목에 제3 개수의 코어를 할당하고 상기 사용자 평면 내의 상기 제2 작업 항목에 제4 개수의 코어를 할당함으로써 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 방법.
  11. 청구항 10에 있어서,
    상기 제1 작업 항목 및 상기 제2 작업 항목은 각각 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능을 포함하는 방법.
  12. 청구항 10 내지 11 중 어느 한 항에 있어서,
    상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 제3 개수의 코어의 코어들 및 상기 제4 개수의 코어의 코어들은 적어도 부분적으로 애플리케이션 유형에 기초하여 선택되는 것인 방법.
  13. 청구항 10 내지 12 중 어느 한 항에 있어서,
    상기 사용자 평면에서의 스케줄러는 노스-바운드 오케스트레이션(north-bound orchestration) 시스템과 독립적으로 동작하는 방법.
  14. 프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 동작을 수행하게 하는 명령을 저장하는 컴퓨터 판독 가능 저장 디바이스를 포함하는 장치로서,
    상기 동작은,
    구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
    상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 장치.
  15. 청구항 14에 있어서,
    상기 사용자 평면은 가상 머신 및 컨테이너 중 하나를 포함하는 장치.
  16. 청구항 14 내지 15 중 어느 한 항에 있어서,
    상기 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시(latency) 및 패킷 드롭 중 하나를 포함하는 장치.
  17. 청구항 14 내지 16 중 어느 한 항에 있어서,
    작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함하는 장치.
  18. 청구항 14 내지 17 중 어느 한 항에 있어서,
    상기 작업 부하 할당을 조정하는 단계는:
    추가 코어가 상기 작업 항목에 바인딩되도록 작업 항목을 확장하는 단계; 또는
    코어가 상기 작업 항목에서 바인딩 해제되도록 작업 항목을 축소하는 단계인 장치.
  19. 청구항 14 내지 18 중 어느 한 항에 있어서,
    상기 작업 부하 할당을 조정하는 단계는 상기 사용자 평면 내의 각각의 작업 항목에 할당되는 코어의 수를 조정하는 단계를 포함하는 장치.
  20. 청구항 14 내지 19 중 어느 한 항에 있어서,
    상기 조정은 스케줄링 된 관찰값 수에서 발생하는 것인 장치.
  21. 청구항 14 내지 20 중 어느 한 항에 있어서,
    상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 작업 항목에 대한 코어의 바인딩의 조정은 상기 애플리케이션 유형에 적어도 부분적으로 기초하여 수행되는 장치.
  22. 프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 청구항 10 내지 13 중 어느 한 항의 방법을 수행하게 하는 명령을 저장하는 컴퓨터 판독 가능 저장 디바이스를 포함하는 장치.
  23. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 청구항 1 내지 13 중 어느 한 항의 방법을 수행하게 하는 명령을 포함하는 컴퓨터 판독 가능 매체.
KR1020207013886A 2017-10-18 2018-10-18 성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법 KR20200076700A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/786,657 US20190114206A1 (en) 2017-10-18 2017-10-18 System and method for providing a performance based packet scheduler
US15/786,657 2017-10-18
PCT/US2018/056435 WO2019079545A1 (en) 2017-10-18 2018-10-18 APPARATUS AND METHOD FOR PACKET ORDER PROVIDING BASED ON PERFORMANCE

Publications (1)

Publication Number Publication Date
KR20200076700A true KR20200076700A (ko) 2020-06-29

Family

ID=64184222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207013886A KR20200076700A (ko) 2017-10-18 2018-10-18 성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US20190114206A1 (ko)
EP (1) EP3698247B1 (ko)
KR (1) KR20200076700A (ko)
CN (1) CN111247515A (ko)
CA (1) CA3079572A1 (ko)
WO (1) WO2019079545A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095617B2 (en) 2017-12-04 2021-08-17 Nicira, Inc. Scaling gateway to gateway traffic using flow hash
US11075888B2 (en) 2017-12-04 2021-07-27 Nicira, Inc. Scaling gateway to gateway traffic using flow hash
US11347561B1 (en) * 2018-04-30 2022-05-31 Vmware, Inc. Core to resource mapping and resource to core mapping
US11431565B2 (en) * 2018-10-15 2022-08-30 Intel Corporation Dynamic traffic-aware interface queue switching among processor cores
US11277343B2 (en) 2019-07-17 2022-03-15 Vmware, Inc. Using VTI teaming to achieve load balance and redundancy
US11513842B2 (en) * 2019-10-03 2022-11-29 International Business Machines Corporation Performance biased resource scheduling based on runtime performance
US11509638B2 (en) 2019-12-16 2022-11-22 Vmware, Inc. Receive-side processing for encapsulated encrypted packets
TWI756974B (zh) 2020-12-09 2022-03-01 財團法人工業技術研究院 機器學習系統及其資源配置方法
EP4295230A1 (en) * 2021-02-18 2023-12-27 Telefonaktiebolaget LM Ericsson (publ) A non-intrusive method for resource and energy efficient user plane implementations
US11863514B2 (en) 2022-01-14 2024-01-02 Vmware, Inc. Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs
US11956213B2 (en) 2022-05-18 2024-04-09 VMware LLC Using firewall policies to map data messages to secure tunnels

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271030A1 (en) * 2007-04-30 2008-10-30 Dan Herington Kernel-Based Workload Management
WO2010138658A1 (en) * 2009-05-29 2010-12-02 Perceptive Software, Inc. Workflow management system and method
US8774023B2 (en) * 2010-09-22 2014-07-08 At&T Intellectual Property I, Lp Method and system for detecting changes in network performance
US20120093047A1 (en) * 2010-10-14 2012-04-19 Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) Core abstraction layer for telecommunication network applications
US8789065B2 (en) * 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
SE537197C2 (sv) * 2012-10-05 2015-03-03 Elastisys Ab Metod, nod och datorprogram för möjliggörande av automatiskanpassning av resursenheter
US9367357B2 (en) * 2013-01-18 2016-06-14 Nec Corporation Simultaneous scheduling of processes and offloading computation on many-core coprocessors
US9635103B2 (en) * 2014-09-11 2017-04-25 Amazon Technologies, Inc. Dynamic virtual resource request rate control for utilizing physical resources
US10534542B2 (en) * 2014-09-30 2020-01-14 Hewlett Packard Enterprise Development Lp Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
CN104536822B (zh) * 2014-12-31 2018-03-23 中科创达软件股份有限公司 一种进程调度优化方法、进程执行方法及相关装置
US20180046477A1 (en) * 2015-04-02 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Technique For Scaling An Application Having A Set Of Virtual Machines
CN106155794B (zh) * 2016-07-21 2019-11-19 浙江大华技术股份有限公司 一种应用于多线程系统中的事件分配方法及装置
CN107801249B (zh) * 2016-09-01 2020-02-25 鸿海精密工业股份有限公司 无线通信系统的资源分配方法及其设备和系统
US10474505B2 (en) * 2016-09-02 2019-11-12 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods of managing computational resources
CN107122233B (zh) * 2017-03-27 2020-08-28 西安电子科技大学 一种面向tsn业务的多vcpu自适应实时调度方法

Also Published As

Publication number Publication date
EP3698247A1 (en) 2020-08-26
WO2019079545A1 (en) 2019-04-25
CA3079572A1 (en) 2019-04-25
US20190114206A1 (en) 2019-04-18
CN111247515A (zh) 2020-06-05
EP3698247B1 (en) 2024-08-07

Similar Documents

Publication Publication Date Title
KR20200076700A (ko) 성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법
US10412021B2 (en) Optimizing placement of virtual machines
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US10552161B2 (en) Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation
US11681565B2 (en) Technologies for hierarchical clustering of hardware resources in network function virtualization deployments
US9342376B2 (en) Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment
US10382267B2 (en) Managing servers with quality of service assurances
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
US8626955B2 (en) Directing packets to a processor unit
CN111406250A (zh) 无服务器计算环境中的使用经预取的数据的配设
EP3191973B1 (en) Technologies for proxy-based multi-threaded message passing communication
Subramanian et al. An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud
CN110166507B (zh) 多资源调度方法和装置
US20170310583A1 (en) Segment routing for load balancing
Mosleh et al. Adaptive Cost‐Based Task Scheduling in Cloud Environment
Filiposka et al. Community-based VM placement framework
Komarasamy et al. A novel approach for Dynamic Load Balancing with effective Bin Packing and VM Reconfiguration in cloud
Singh Scheduling tasks based on branch and bound algorithm in cloud computing environment
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
US11283723B2 (en) Technologies for managing single-producer and single consumer rings
CN111506414A (zh) 资源调度方法、装置、设备、系统及可读存储介质
Aliyu et al. An Analytical Queuing Model Based on SDN for IoT Traffic in 5G
Pasdar et al. Data-aware scheduling of scientific workflows in hybrid clouds
KR101558807B1 (ko) 호스트 프로세서와 협업 프로세서 간에 협업 처리를 위한 프로세서 스케줄링 방법 및 그 방법을 수행하는 호스트 프로세서
Wu et al. Efficient algorithms for vm placement in cloud data center

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application