KR20200076700A - 성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법 - Google Patents
성능 기반 패킷 스케줄러를 제공하기 위한 장치 및 방법 Download PDFInfo
- 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
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/54—Loss aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5033—Allocation 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
Description
도 1은 예시적인 시스템 구성을 도시한다;
도 2는 코어의 작업 항목에 대한 동적 바인딩을 가능하게 하기 위해 사용자 평면의 일부로서 제공되는 스케줄러의 예시적인 개념을 도시한다;
도 3은 방법 실시예를 도시한다; 그리고
도 4는 다른 방법 실시예를 도시한다.
Claims (23)
- 구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 방법. - 청구항 1에 있어서,
상기 사용자 평면은 가상 머신 및 컨테이너 중 하나를 포함하는 방법. - 청구항 1 내지 2 중 어느 한 항에 있어서,
상기 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시(latency) 및 패킷 드롭 중 하나를 포함하는 방법. - 청구항 1 내지 3 중 어느 한 항에 있어서,
상기 작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함하는 방법. - 청구항 1 내지 4 중 어느 한 항에 있어서,
상기 작업 부하 할당을 조정하는 단계는:
추가 코어가 상기 작업 항목에 바인딩되도록 작업 항목을 확장하는 단계; 또는
코어가 상기 작업 항목에서 바인딩 해제되도록 작업 항목을 축소하는 단계인 방법. - 청구항 1 내지 5 중 어느 한 항에 있어서,
상기 작업 부하 할당을 조정하는 단계는 상기 사용자 평면 내의 각각의 작업 항목에 할당되는 코어의 수를 조정하는 단계를 포함하는 방법. - 청구항 1 내지 6 중 어느 한 항에 있어서,
상기 조정은 스케줄링 된 관찰값 수에서 발생하는 것인 방법. - 청구항 1 내지 7 중 어느 한 항에 있어서,
상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 작업 항목에 대한 코어의 바인딩의 조정은 상기 애플리케이션 유형에 적어도 부분적으로 기초하여 수행되는 방법. - 청구항 1 내지 8 중 어느 한 항에 있어서,
상기 구성 파일은 상기 중앙 처리 장치(CPU) 사용률과 관련된 제1 임계값, 상기 레이턴시와 관련된 제2 임계값, 상기 패킷 드롭과 관련된 제3 임계값 및 상기 애플리케이션 유형 중 하나 이상을 포함하는 방법. - 사용자 평면 내의 작업 항목에 대한 코어의 동적 바인딩을 제공하는 방법으로서,
상기 사용자 평면 내의 제1 작업 항목에 제1 개수의 코어를 할당하는 단계;
상기 사용자 평면 내의 제2 작업 항목에 제2 개수의 코어를 할당하는 단계;
구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 상기 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 상기 사용자 평면 내의 상기 제1 작업 항목에 제3 개수의 코어를 할당하고 상기 사용자 평면 내의 상기 제2 작업 항목에 제4 개수의 코어를 할당함으로써 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 방법. - 청구항 10에 있어서,
상기 제1 작업 항목 및 상기 제2 작업 항목은 각각 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능을 포함하는 방법. - 청구항 10 내지 11 중 어느 한 항에 있어서,
상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 제3 개수의 코어의 코어들 및 상기 제4 개수의 코어의 코어들은 적어도 부분적으로 애플리케이션 유형에 기초하여 선택되는 것인 방법. - 청구항 10 내지 12 중 어느 한 항에 있어서,
상기 사용자 평면에서의 스케줄러는 노스-바운드 오케스트레이션(north-bound orchestration) 시스템과 독립적으로 동작하는 방법. - 프로세서; 및
상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 동작을 수행하게 하는 명령을 저장하는 컴퓨터 판독 가능 저장 디바이스를 포함하는 장치로서,
상기 동작은,
구성 파일 내의 적어도 하나의 핵심 성능 지표에 따라 사용자 평면에서 패킷을 주기적으로 관찰하여 관찰값을 생성하는 단계-상기 관찰값은 상기 사용자 평면 내의 리소스의 폐-루프 수요를 나타냄-; 및
상기 사용자 평면의 스케줄러를 통해 그리고 상기 관찰값에 기초하여, 작업 항목에 대한 코어의 바인딩을 조정하는 단계를 포함하는 장치. - 청구항 14에 있어서,
상기 사용자 평면은 가상 머신 및 컨테이너 중 하나를 포함하는 장치. - 청구항 14 내지 15 중 어느 한 항에 있어서,
상기 적어도 하나의 핵심 성능 지표는 중앙 처리 장치(CPU) 사용률, 레이턴시(latency) 및 패킷 드롭 중 하나를 포함하는 장치. - 청구항 14 내지 16 중 어느 한 항에 있어서,
작업 부하 할당은 상기 사용자 평면 내의 패킷 대기열에서 작동하는 개별 스케줄링 가능한 기능인 작업 항목을 포함하는 장치. - 청구항 14 내지 17 중 어느 한 항에 있어서,
상기 작업 부하 할당을 조정하는 단계는:
추가 코어가 상기 작업 항목에 바인딩되도록 작업 항목을 확장하는 단계; 또는
코어가 상기 작업 항목에서 바인딩 해제되도록 작업 항목을 축소하는 단계인 장치. - 청구항 14 내지 18 중 어느 한 항에 있어서,
상기 작업 부하 할당을 조정하는 단계는 상기 사용자 평면 내의 각각의 작업 항목에 할당되는 코어의 수를 조정하는 단계를 포함하는 장치. - 청구항 14 내지 19 중 어느 한 항에 있어서,
상기 조정은 스케줄링 된 관찰값 수에서 발생하는 것인 장치. - 청구항 14 내지 20 중 어느 한 항에 있어서,
상기 관찰값은 애플리케이션 유형을 추가로 포함하고, 상기 작업 항목에 대한 코어의 바인딩의 조정은 상기 애플리케이션 유형에 적어도 부분적으로 기초하여 수행되는 장치. - 프로세서; 및
상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 청구항 10 내지 13 중 어느 한 항의 방법을 수행하게 하는 명령을 저장하는 컴퓨터 판독 가능 저장 디바이스를 포함하는 장치. - 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 청구항 1 내지 13 중 어느 한 항의 방법을 수행하게 하는 명령을 포함하는 컴퓨터 판독 가능 매체.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/786,657 | 2017-10-18 | ||
| US15/786,657 US20190114206A1 (en) | 2017-10-18 | 2017-10-18 | System and method for providing a performance based packet scheduler |
| 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 Ceased 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 (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11075888B2 (en) | 2017-12-04 | 2021-07-27 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
| US11095617B2 (en) | 2017-12-04 | 2021-08-17 | 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 |
| US12107834B2 (en) | 2021-06-07 | 2024-10-01 | VMware LLC | Multi-uplink path quality aware IPsec |
| US12113773B2 (en) | 2021-06-07 | 2024-10-08 | VMware LLC | Dynamic path selection of VPN endpoint |
| 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)
| 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 | 中科创达软件股份有限公司 | 一种进程调度优化方法、进程执行方法及相关装置 |
| EP3278221A1 (en) * | 2015-04-02 | 2018-02-07 | Telefonaktiebolaget LM Ericsson (publ) | Technique for scaling an application having a set of virtual machines |
| CN106155794B (zh) * | 2016-07-21 | 2019-11-19 | 浙江大华技术股份有限公司 | 一种应用于多线程系统中的事件分配方法及装置 |
| US9999057B2 (en) * | 2016-09-01 | 2018-06-12 | Hon Hai Precision Industry Co., Ltd. | Resource allocation method of a wireless communication system and mechanism thereof |
| 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自适应实时调度方法 |
-
2017
- 2017-10-18 US US15/786,657 patent/US20190114206A1/en not_active Abandoned
-
2018
- 2018-10-18 CA CA3079572A patent/CA3079572A1/en active Pending
- 2018-10-18 EP EP18799951.1A patent/EP3698247B1/en active Active
- 2018-10-18 KR KR1020207013886A patent/KR20200076700A/ko not_active Ceased
- 2018-10-18 CN CN201880068118.4A patent/CN111247515A/zh active Pending
- 2018-10-18 WO PCT/US2018/056435 patent/WO2019079545A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| CA3079572A1 (en) | 2019-04-25 |
| EP3698247A1 (en) | 2020-08-26 |
| WO2019079545A1 (en) | 2019-04-25 |
| EP3698247B1 (en) | 2024-08-07 |
| CN111247515A (zh) | 2020-06-05 |
| US20190114206A1 (en) | 2019-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3698247B1 (en) | An apparatus and method for providing a performance based packet scheduler | |
| US10412021B2 (en) | Optimizing placement of virtual machines | |
| US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
| US11681565B2 (en) | Technologies for hierarchical clustering of hardware resources in network function virtualization deployments | |
| US10552161B2 (en) | Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation | |
| 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 | |
| EP3191973B1 (en) | Technologies for proxy-based multi-threaded message passing communication | |
| CN110389816A (zh) | 用于资源调度的方法、装置以及计算机程序产品 | |
| Subramanian et al. | An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud | |
| US20170310583A1 (en) | Segment routing for load balancing | |
| Singh | Scheduling tasks based on branch and bound algorithm in cloud computing environment | |
| US11283723B2 (en) | Technologies for managing single-producer and single consumer rings | |
| Laha et al. | Reducing makespan and enhancing resource usage in cloud computing with esjfp method: A new dynamic approach | |
| CN111506414A (zh) | 资源调度方法、装置、设备、系统及可读存储介质 | |
| Gupta et al. | Load balancing using genetic algorithm in mobile cloud computing | |
| KR101558807B1 (ko) | 호스트 프로세서와 협업 프로세서 간에 협업 처리를 위한 프로세서 스케줄링 방법 및 그 방법을 수행하는 호스트 프로세서 | |
| Gu et al. | Elastic model aggregation with parameter service | |
| CN109101188A (zh) | 一种数据处理方法和装置 | |
| Wu et al. | Efficient algorithms for vm placement in cloud data center | |
| CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
| Ramasamy et al. | Priority queue scheduling approach for resource allocation in containerized clouds | |
| US20240160492A1 (en) | System and method for radio access network baseband workload pool resizing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20200514 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20211001 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230323 Patent event code: PE09021S01D |
|
| E90F | Notification of reason for final refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20230921 Patent event code: PE09021S02D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20231229 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20230921 Comment text: Final Notice of Reason for Refusal Patent event code: PE06011S02I Patent event date: 20230323 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |