CN111316237A - 用于实时虚拟网络功能编排的方法、装置和系统 - Google Patents
用于实时虚拟网络功能编排的方法、装置和系统 Download PDFInfo
- Publication number
- CN111316237A CN111316237A CN201780096470.4A CN201780096470A CN111316237A CN 111316237 A CN111316237 A CN 111316237A CN 201780096470 A CN201780096470 A CN 201780096470A CN 111316237 A CN111316237 A CN 111316237A
- Authority
- CN
- China
- Prior art keywords
- cpu
- vnf
- shared pool
- real
- cpuset
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及用于实时云基础设施中的实时虚拟网络功能编排的方法、装置和系统。所述方法包括以下步骤:更新并报告CPU核心RT性能;发送CPU和NUMA信息;基于CPU共享池信息响应把IRQ从RT CPUset移动到非RT CPUset,并且报告IRQ清空完成;基于CPU共享池信息响应把系统任务和OS后台进程移动到非RT CPUset,并且报告系统任务清空完成;基于CPU共享池信息响应清空已知的不确定性来源,并且报告不确定性来源清空完成。所述方法和装置的实现方式的改进之处在于,在NFV的支持下,边缘云可以加速新服务部署并且实现不同服务之间的资源共享,从而允许运营商提供更少的资源。
Description
技术领域
本发明涉及一种用于实时云架构中的实时虚拟网络功能编排的方法、装置和系统。
背景技术
近年来,移动行业正朝着IT化和云化的方向演进。云RAN和网络功能虚拟化(NFV)的底层想法是尽可能使用通用处理器(GPP)来进行无线电接入网(RAN)和CN处理。这可以利用IT行业的规模经济性并且利用标准IT虚拟化技术把许多网络装备类型合并到可以位于数据中心中的行业标准服务器上(例如x86架构)。在NFV的支持下,移动网络功能与硬件解耦,从而加速了新服务部署并且实现了不同服务之间的资源共享,并且还利用了云基础设施所提供的优点。
现今的移动RANC采用先进的技术和算法来提供高网络容量,从而需要高处理能力来应对PHY和MAC层处理,有可能使用硬件加速器来卸载其中一些PHY计算密集功能,比如Turbo解码器。举例来说,当前的实时VNF通常存在下面的问题:
1、实时VNF的编排没有被涵盖在传统的云编排器中。
一个x86 CPU核心可以负担多个虚拟VNF。在实际的系统中,由一台机器所寄存的VNF的数目可以远大于一台机器上的CPU核心的数目。因此,VNF必须共享CPU核心。此外,由于VNF生命周期,由一台机器所寄存的VNF的数目会随时间变化。当VNF被实例化时,建议由编排器决定将把VNF放置在哪一台机器上。一些编排器已经被开发来部署云应用。OpenStack Heat是被用于例如web服务器、数据库等IT应用的部署的一类编排器。NFV Tacker被用来部署虚拟CPE、CE和PE服务之类的VNF。所有前述VNF都是非实时服务。也就是说,传统的编码器和操作系统仅专注于向VNF分配计算资源,包括CPU时间和存储器。它们并不非常在乎服务的实时(RT)性能。
2、VNF的实时性能可能受到许多方面的影响
在实时服务/VNF被部署在云环境中的情况下,需要一种支持实时VNF(RT VNF)的部署的新型编排器。基于实际的测试,I/O操作可能会极大地影响实时性能(系统的实时性能可以通过事件发生的时间与事件被服务的时间之间的间隔来测量)。如果网络适配器I/O中断线程与实时应用共享相同的CPU核心,则该应用的实时性能可能会被严重降低,并且网络吞吐量也将被减少。在表1中给出了与网络适配器中断线程共享CPU核心的应用的实时性能。其中的结果是对于以936Mbps的速率发送分组的网络适配器所获得的。从表1可以知道实时性能无法满足L2 VNF要求,因为大于15μs的等待时间是不可接受的。
表1
对于编排RT VNF的编排器,其编排策略必须不同于作为非RT应用的传统VNF的编排。对于CPU核心的使用必须被仔细规划,并且用于RT VNF的CPU核心必须与寄存I/O中断线程的核心隔离。也就是说,建议使得RT VNF的放置处于可以支持RT VNF部署的新的编排器的控制之下。在新的RT VNF的实例化之后,建议满足已有的RT VNF和新部署的RT VNF全部二者的RT性能约束。
3、传统的嵌入式RT系统和RAN、RT性能监测机制是不必要的
由于这些系统运行在不涉及新VNF实例化、编排和资源共享/合并的专用硬件器件上,因此一旦系统被调节到工作良好,则RT约束总是得到满足,并且RT性能监测是不必要的。
在云环境中,由服务器所寄存的VNF的数目会随时间变化,VNF的处理负荷也会随时间变化,并且资源共享池中的CPU核心的处理能力可能是不同的,因此需要RT性能监测机制。
发明内容
在一个实施例中,本发明的一个方面涉及一种用于实时虚拟网络功能编排的方法、装置和系统,所述方法包括以下步骤:
-报告VNF RT性能;
-基于VNF RT性能更新并报告CPU核心RT性能;
-当OS引导完成时,发送CPU和NUMA信息;
-当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RTCPUset,并且报告IRQ清空完成;
-当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RTCPUset,并且报告系统任务清空完成;
-当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源(indeterminism source),并且报告不确定性来源清空完成。
在另一个实施例中,本发明的一个方面涉及一种用于实时虚拟网络功能编排的方法,所述方法包括以下步骤:
-基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息的步骤;
-修改CPUset并且发送CPU更新命令的步骤;
-接收RT VNF部署请求并且选择目标计算节点和目标CPU的步骤。
在另一个实施例中,本发明的一个方面涉及一种运行在计算节点上的用于实时虚拟网络功能编排的装置,所述装置包括以下模块:
-用于报告VNF RT性能的模块;
-用于基于VNF RT性能更新并报告CPU核心RT性能的模块;
-用于当OS引导完成时发送CPU和NUMA信息的模块;
-用于当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RTCPUset并且报告IRQ清空完成的模块;
-用于当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RT CPUset并且报告系统任务清空完成的模块;
-用于当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源并且报告不确定性来源清空完成的模块。
在另一个实施例中,本发明的一个方面涉及一种运行在RT云基础设施上的用于实时虚拟网络功能编排的装置,所述装置包括以下模块:
-用于基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息的模块;
-用于修改CPUset并且发送CPU更新命令的模块;
-用于接收RT VNF部署请求并且选择目标计算节点和目标CPU的模块。
因此,本发明的实现方式的改进之处在于,在NFV的支持下,边缘云可以加速新服务部署并且实现不同服务之间的资源共享,从而允许运营商提供更少的资源。预期的RT云基础设施能够支持RT VNF部署并且满足针对RAN处理的关键RT约束。
附图说明
图1是示出本发明的用于实时虚拟网络功能编排的方法的流程图。
图2是示出本发明的用于实时虚拟网络功能编排的方法的另一幅流程图。
图3是示出实时边缘云基础设施架构的方框图。
图4是示出实时VNF编排器软件架构的方框图。
图5是示出用于实时虚拟网络功能编排的实施例的方法的流程图。
图6是示出计算资源共享池和CPU使用规划的方框图。
图7是示出VNF编排器功能之间的交互的流程图。
图8是示出本发明的运行在计算节点上的用于实时虚拟网络功能编排的装置的方框图。
图9是示出本发明的运行在RT云基础设施上的用于实时虚拟网络功能编排的装置的方框图。
具体实施方式
现在将参照前面简要描述的附图来详细讨论本发明。在后面的描述中阐述了许多具体细节以说明申请人的用于实践本发明的最佳模式并且使得本领域技术人员能够制作和使用本发明。但是本领域技术人员将认识到,可以在没有许多这些具体细节的情况下实践本发明。此外,为了避免不必要地模糊本发明,并没有具体描述众所周知的机器和方法步骤。除非另行表明,否则相同的部件和方法步骤由相同的附图标记指代。
参照图1,用于实时虚拟网络功能编排的方法的一个实施例包括:
在步骤100处,基于VNF RT性能更新并报告CPU核心RT性能;
在步骤110处,当OS引导完成时,发送CPU和NUMA信息;
在步骤120处,当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RT CPUset,并且报告IRQ清空完成;
在步骤130处,当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RT CPUset,并且报告系统任务清空完成;
在步骤140处,当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源,并且报告不确定性来源清空完成。
可选的,所述用于实时虚拟网络功能编排的方法还包括:
基于CPUset更新命令重新安排IRQ、系统任务和不确定性来源的步骤。
可选的,所述用于实时虚拟网络功能编排的方法还包括:
基于VNF实例化请求而实例化VNF的步骤。
参照图2,用于实时虚拟网络功能编排的方法的一个实施例包括:
在步骤200处,基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息;
在步骤210处,修改CPUset并且发送CPU更新命令;
在步骤220处,接收RT VNF部署请求并且选择目标计算节点和目标CPU。
基于用于实现动态点选择的方法的该实施例,本发明的改进之处在于,在NFV的支持下,边缘云可以加速新服务部署并且实现不同服务之间的资源共享,从而允许运营商提供更少的资源。预期的RT云基础设施能够支持RT VNF部署并且满足针对RAN处理的关键RT约束。
在另一个实施例中,将详细描述用于实时虚拟网络功能编排的实施例的方法。
该实施例专注于两个方面:
1、实时云基础设施的构造:该实施例明确地区分实时云基础设施与传统IT云基础设施。传统云基础设施是针对具有较差RT性能的例如web服务器和数据库服务器之类的IT应用而建立的。为了保证RT VNF的RT性能,建议底层基础设施能够原生地支持RT任务。这需要云中的计算节点安装有实时操作系统(RTOS),并且建议由具有良好RT性能的虚拟化平台来管理云资源。
2、在有RTOS和RT管理程序的情况下仍然不足以支持RT VNF,因为太多方面可能会影响Linux RT性能。该实施例提出一种非常不同于传统编排器的用于RT VNF部署的新型编排器。所提出的编排器包括几项功能:CPU使用规划和CPU隔离,RT性能中的不确定性来源的管理,系统任务和IRQ的管理等等。此外还该出了基于VNF RT性能测量的RT VNF编排机制。
从前面的讨论可以知道,不存在用于实时VNF编排的可用编排器。为了实现云基础设施中的RAN处理并且满足实时约束,需要构造实时云基础设施,并且对于RT VNF在RT云中的部署需要一种新型的编排器。
在NFV的支持下,边缘云可以加速新服务部署并且实现不同服务之间的资源共享,从而允许运营商提供更少的资源。但是在基于IT服务器的边缘云中实施RAN功能仍然非常具有挑战性。虽然在云环境中VNF之间的资源共享可以改进资源利用,但是结果可能会降低实时性能。如何保证RAN功能RT性能并且让运营商利用云计算是一个折中。
对于传统RAN,运行在专用硬件器件上的系统是具有固定数目的RT进程/线程的相对静态的系统,并且最大处理负荷是可预测的。该系统不涉及动态VNF实例化、编排和资源共享/合并。一旦系统被调节到工作良好,则RT约束总是得到满足,并且RT性能监测是不必要的。对于云RAN,VNF可以被动态地部署或摧毁,因为一台机器中的CPU核心的有限数目远小于由一台机器所寄存的VNF的数目。因此,这些VNF必须彼此共享CPU核心。在这种情况下,保证所有VNF都满足其RT性能是更具挑战性的。
正如在背景技术部分中所讨论的那样,移动行业正朝着IT化和云化的方向演进,以便尽可能使用GPP(例如x86架构)来进行RAN和CN处理。这可以利用IT行业的规模经济性并且利用云基础设施所带来的优点。由于较差的RT性能,传统IT云所使用的通用操作系统和虚拟化平台无法支持RAN处理。
建议建立具有系统视图的RT云基础设施。所提出的基于GPP的RT云基础设施包括以下关键技术:
1、用于云中的计算节点的实时操作系统(RTOS):我们使用安装有PREEMPT_RT补丁的Linux作为用于云计算节点的RTOS。PREEMPT_RT是用于Linux内核的官方补丁,其使得Linux获得实时能力。两种方法可用于PREEMPT_RT补丁安装,包括内核重编译或者用于RT内核的预先建立的rpm/deb包的直接安装。
2、实时虚拟化技术/管理程序:在我们的解决方案中采用了作为一种轻量型管理程序的Linux容器类型的虚拟化技术。Linux容器实现了接近原生的RT性能。在实际的系统中,Docker容器可以被用作虚拟化平台,因为其比Libvirt容器和OpenVZ更加成熟。
3、用于RT VNF编排的一种新型编排器:这一新的编排器包括几项功能,比如CPU隔离、系统任务管理、IRQ管理、RT VNF编排等等。CPU隔离技术对于RT性能改进非常重要。云中的CPU被划分到三个共享池中以避免非实时(非RT)VNF与RT VNF竞争资源。所提出的编排器与传统编排器的一个显著差异在于,所提出的编排器在每个CPU的基础上监测资源使用和VNF性能并且部署VNF,并且决定建议把新的VNF放置到哪一台机器的哪一个CPU核心上。传统编排器在每个寄主的基础上监测资源使用和系统性能,其仅仅选择目标机器而不是目标CPU,并且对于任务调度扮演主要角色的是本地操作系统。显而易见的是,所提出的编排器以更细的粒度来调度资源和任务。这是因为通过结合系统任务和IRQ管理仔细规划CPU使用可以显著改进VNF的RT性能。所提出的编排器与传统编排器的另一个重要差异在于,所提出的编排器的编排策略是基于VNF的RT性能测量和CPU利用全部二者,所提出的编排器的主要任务是保证新开发的RT VNF和每一个现有的VNF的RT约束在这些VNF共享CPU核心时都得到满足。决定将把VNF放置在哪一个CPU核心上的是所提出的编排器而不是本地OS。在传统编排器的情境中没有RT性能概念,传统编排策略主要考虑无法被应用于RT VNF编排的CPU和存储器使用。
从硬件的角度来看,所提出的RT云基础设施使用与传统IT云相同的通用硬件平台,不同之处在于某些硬件配置可能是不同的。
前面所讨论的所有三项关键技术对于RT云基础设施都是不可或缺的,但是传统IT云则不需要。图3描绘出所提出的RT云基础设施架构。图4给出了用于作为RT云基础设施的一个重要部分的所提出的RT VNF编排器的软件架构。
虽然作为操作系统和虚拟化平台介绍了ROTS和Linux容器,但是仍然不足以使得计算节点实现良好的RT性能。对于GPP服务器,即使应用负荷非常低,也总是存在持续运行在机器上的大量守护进程和系统任务,并且其中的许多是可能会降低系统RT性能的关键任务。此外,对于大量外围设备的管理也会降低系统RT性能。这就是IT服务器的RT性能比嵌入式系统更具挑战性的原因。在构造基于GPP的RT云基础设施时,并不是把这些技术简单地堆叠在一起。建议编排器考虑到会影响VNF RT性能的所有方面,并且必须遵守关于如何使用云基础设施的一些策略。
Linux的RT性能是一个非常复杂的话题,因此把影响Linux RT性能的各方面总结如下。
-更低的负荷有助于改进RT性能,超负荷可以被避免。根据我们的观察,如果VNF与I/O中断线程共享CPU核心,则尽管CPU核心具有低负荷,VNF的RT性能仍然很差。引入不可预测的等待时间的是I/O中断。
-处理器的能力也可能会影响RT性能,强大的处理器有助于改进RT性能,但是尽管其具有强大的处理器,系统的RT性能也不一定会得到满足。这正是需要RTOS的原因。
-任务调度策略和任务优先级:Linux提供了一些针对RT应用的调度策略,比如SCHED_FIFO、SCHED_RR和SCHED_DEADLINE。还可以为RT应用设定高于非RT应用的优先级。
-内核可抢占性:在安装了PREMPT_RT补丁的情况下,Linux内核提供几种RT模式,比如可抢占内核(低等待时间桌面)、可抢占内核(基本RT)、完全可抢占内核(RT)。完全可抢占内核对于RT VNF编排是优选的。
-任务切换开销:频繁的任务切换可能会引入开销并且降低RT性能。
-OS后台进程和系统任务:有大量OS后台进程和系统任务运行在Linux系统上。为了避免与RT VNF的资源竞争,可以把这些后台进程和系统任务与RT VNF隔离。
-硬件中断请求(IRQ)、软件IRQ和系统定时器是引入不可预测的等待时间的不确定性来源。这些来源可以由编排器管理。
-Linux内核所引入的CPU负荷平衡器总是尝试在所有可用的CPU上均匀地分配任务。这对于RT VNF编排是成问题的,因为非RT任务可能会被移动到用于RT VNF的CPU核心,并且RT任务可能会被移动到用于非RT任务的CPU核心。这就增加了RT性能中的不确定性。
针对前述问题,本发明提供了包括在所提出的编排器中的用于调谐计算节点和VNF编排的RT性能的功能。
图5示出了一种用于实时虚拟网络功能编排的方法,包括以下步骤:
在步骤500处,基于VNF RT性能更新并报告CPU核心RT性能。
VNF性能管理代理收集每一个计算节点的本地资源使用,特别专注于由VNF发送的RT性能报告。更新后的RT性能和CPU利用随后被转发到VNF管理器。
在步骤510处,当OS引导完成时,发送CPU和NUMA信息。
当在云中添加新的计算节点时,本地CPU共享池管理代理把CPU核心数目和NUMA节点数目报告到CPU共享池管理器。
在步骤520处,基于CPU和NUMA信息更新CPU共享池,并且同步CPU共享池信息。
由于OS后台进程、系统任务和非RT VNF可能会与RT VNF竞争CPU时间并且对RT性能引入不确定的影响,因此可以将这些进程彼此隔离。在该实施例中,其被归类到用于RAN处理的三种进程中:RT进程、非RT进程和DPDK进程。GPP计算资源也被划分到对应于这三种进程的三种群组/共享池中。
-用于RT VNF的CPU共享池:MAC调度器是包括下行链路和上行链路调度器实体的RT VNF。利用特定的机制来监测运行在这种CPU共享池中的RT VNF的RT性能。
-用于非RT VNF的CPU共享池:并非所有的RAN VNF都要求高RT性能。举例来说,RRC的定时器事件通常处于数十毫秒的量级。与PHY和MAC处理相比,这种进程可以被视为非RTVNF。在实际的系统中,后台进程和系统任务也可以被放置在该共享池中。存在用于非RT进程的专用CPU共享池的原因是RT进程通常具有比非RT进程更高的优先级。在RT VNF与非RTVNF共享CPU的情况下,如果RT VNF的负荷较高,则可以对非RT VNF进行节流。
-用于DPDK进程的CPU共享池:DPDK被广泛使用在作为用于快速分组处理的驱动程序和库的集合的产品中。DPDK需要用于分组接收和处理的专用CPU核心,以便实现高吞吐量。因此,存在用于DPDK进程/线程的专用CPU共享池。
CPU共享池管理器负责维护所有的CPU共享池,增加或减少共享池中的CPU核心,这是因为机器可能会被按需通电/断电,并且可用的CPU核心会随着时间变化。CPU共享池管理器具有CPU核心的使用的全局视图。如图6中所示,每一种共享池跨越多个计算节点。对于共享池中的机器的每一个CPU核心存在一个条目。当VNF管理器需要部署一个VNF时,其根据将要部署的VNF的类型向CPU共享池管理器要求用于RT VNF或非RT VNF的可用机器列表。
当接收到CPU核心数目和NUMA节点数目时,CPU共享池管理器把新的计算节点的CPU核心划分到不同的共享池中。CPU共享池管理器为其他网络单元提供核心信息以便促进开启计算节点的RT性能。
在步骤530处,当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RT CPUset,并且报告IRQ清空完成。
虽然不确定性来源管理代理禁用了IRQ负荷平衡,但是这无法防止一些IRQ在系统引导期间被初始地放置在RT CPUset中的CPU上,这对RT性能具有严重的负面影响。这些IRQ可以由用于非RT或后台进程的CPUset应对。IRQ管理代理负责把这些IRQ从RT CPUset移动到非RT CPUset。可以使用/proc文件系统来控制这些IRQ的亲和性。假设CPU0和CPU1是用于非RT任务,则默认的亲和性首先被设定到CPU0或CPU1,以便确保新的中断不会由RT CPU应对。集合{CPU1,CPU0}被表示成设定到3的比特掩码(0000,0011B)。
#echo 3>/proc/irq/default_smp_affinity
随后把IRQ移动到非RT CPUset
#echo 3>/proc/irq/<irq>/smp_affinity
在文件/proc/interrupts中可以找到所有活跃的IRQ。在移动IRQ时,建议IRQ管理代理首先查询CPU共享池管理器以获得对应于该计算节点上的非RT任务的CPU索引。
在步骤540处,当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RT CPUset,并且报告系统任务清空完成。
对于寄存RT任务的计算节点,尽管有对于不确定性来源的管理,在系统被引导之后有些时候仍然可以在RT CPUset中的CPU上观察到系统任务。系统任务管理代理负责把系统任务从RT CPUset中的CPU移动到非RT CPUset中的CPU或者移动到后台进程CPUset(如果其存在的话)中的CPU。运行以下命令以移动系统任务。
#echo pid_of_task>/sys/fs/cgroup/cpuset/nonrt/tasks
这些系统任务的进程ID可以在伪文件/sys/fs/cgroup/cpuset/rt/tasks中找到。
在步骤550处,当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源,并且报告不确定性来源清空完成。
对于Linux系统,存在许多会在RT性能中引入不确定性的来源。不确定性来源管理代理负责配置或修改Linux系统参数,从而使其RT属性变得更具确定性。下面将简要描述不确定性来源管理代理的主要管理工作:
-禁用CPU负荷平衡器并且定义CPUset:在默认设定中,Linux的任务调度器可以自由迁移任务以便在可用的CPU之间均匀地分配处理负荷。这对于吞吐量可能是很好的,但是可能会破坏RT性能。关闭自动负荷平衡并且向CPU静态地指派任务可以增加确定性。至少三种方法可以被用来向特定的CPU指派任务,包括sched_setaffinity()系统调用、taskset命令和CPUset机制。举例来说,当VNF管理器选择了一个计算机点上的适当的CPU核心来放置RT VNF时,目标CPU核心的ID作为自变量被传递到VNF,随后VNF可以使用sched_setaffinity()把RT线程固定到给定的CPU核心。还可以使用Linux内核CPUset机制来控制进程的处理器放置和存储器放置。在实践中,可以定义至少3个CPUset。一个用于RT VNF,一个用于DPDK进程,另一个用于非RT VNF。默认地在所有CPU上进行负荷平衡,除了使用内核引导时间“isolcpus”选项被标记隔离的那些之外。通过在文件grub.cfg中设定“isolcpus”选项,可以把用于RT VNF和DPDK的CPU核心与用于非RT VNF、后台进程和系统任务的CPU核心隔离。对用于RT VNF和DPDK的CPU共享池中的CPU的使用最好处于所提出的RT VNF管理器而不是OS调度器的控制之下。这可以通过把伪文件cpuset.sched_load_balance设定到0而实现,其禁用已定义的CPUset中的被允许的CPU上的自动负荷平衡(根CPUset中的负荷平衡也可以被禁用)。此外,为了避免非RT任务使用RT CPUset,需要通过把RT cpuset的伪文件cpuset.cpu_exclusive设定到1而使得RT CPUset中的CPU是独占的。建议把通过“isolcpus”选项所标记的本地CPU核心与CPU共享池管理器同步,从而使得CPU共享池管理器具有CPU核心使用的全局视图。
-NUMA存储器节点的管理:在NUMA系统中,CPU对其自身的存储器节点的访问要比其他存储器节点更快。RT CPUset和非RT CPUset需要与其自身的存储器节点相关联。在有多于两个NUMA存储器节点的情况下,如果被指派给RT VNF的CPU核心属于不同的NUMA节点,则最好为RT任务创建多个CPUset,并且每一个RT CPUset与其自身的存储器节点相关联。这有助于改进RT VNF的RT性能。建议本地定义的CPUset与CPU共享池管理器同步。下面的命令把NUMA节点2与RT CPUset相关联,并且使得NUMA节点2是RT CPUset所独占的。
#echo 2>/sys/fs/cgroup/cpuset/rt/cpuset.mems
#echo 1>/sys/fs/cgroup/cpuset/rt/cpuset.mem_exclusive
-IRQ亲和性的管理:Linux默认地启用在系统中的所有CPU上均匀地分配IRQ的中断请求(IRQ)负荷平衡服务。如果一个IRQ在当前正执行实时VNF的CPU上被服务,则该CPU必须切换上下文,这在与高速缓存错失相组合时可能会导致数十毫秒的等待时间。通过停止该服务(IRQ平衡),则允许我们控制将在哪一个CPU上运行中断。在实际的系统中,我们可以配置smp_affinity文件中的掩码并且指派特定的IRQ(例如来自SCSI控制器或以太网卡的中断)由特定的CPU应对。CPU可以从非RT CPU共享池中进行选择。
-禁用CPU频率缩放:Linux默认地启用动态CPU频率缩放以便降低功率消耗。但是这种技术可能会影响系统的RT属性。对于CentOS,两种方法可以被用来禁用CPU频率缩放。1、编辑/etc/default/grub以包括GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"一行,并且运行grub2-mkconfig-o/boot/grub/grub.cfg。2、在没有CPU频率缩放选项的情况下重新编译Linux内核。
-RT节流机制的管理:为了防止被调度为SCHED_FIFO或SCHED_RR的RT应用消耗掉所有的CPU能力,Linux内核使用RT节流机制来限制RT任务所能消耗的CPU能力的数量。用于这一机制的默认设定时RT任务可以消耗一台机器的最高95%的CPU能力。这可以通过把新的数字写入到以下文件来改变:
/proc/sys/kernel/sched_rt_runtime_us
以及
/proc/sys/kernel/sched_rt_period_us
-禁用存储器过量使用:Linux内核默认地允许应用分配比系统中实际可用的更多的存储器。存储器过量使用的想法是提供更加高效的存储器使用,前提是假设进程通常会要求比其实际将需要的更多的存储器。过量使用意味着如果进程尝试利用多于可用的存储器则存在风险。如果这种情况发生,则内核调用Out-Of-Memory Killer以扫描过任务列表,并且选择将要杀死的任务以回收存储器。在这种情况下,整个系统可能变得在很长时间内是没有响应的,这对于RT VNF是不可接受的。可以通过下面的命令禁用存储器过量使用:
#echo 2>/proc/sys/vm/overcommit_memory
-卸载RCU回调:Ready-Copy-Update(RCU)系统是用于内核内部的相互排除的无锁机制,其改进了线程之间的数据共享。作为实施RCU操作的结果,默认地作为软IRQ进行的回调在CPU上被排队,以便在可以安全地去除存储器的某一未来时刻实施。这样对应用增加了不可预测的等待时间。可以使用“rcu_nocbs”和“rcu_nocb_poll”内核引导参数来卸载RCU回调。为了从用于运行RCU回调的候选当中去除一个或多个CPU,在“rcu_nocbs”内核参数中规定CPU的列表,例如“rcu_nocbs=4-6”意味着RCU回调将不会在CPU4、CPU5和CPU6上进行。
-设定TSC引导参数:时间标记计数器时用于产生时间标记的每一个CPU的计数器。由于计数器可能会漂移一个比特,因此Linux将周期性地检查其是否是同步的。通过利用引导参数“TSC=reliable”向Linux告知计数器是可靠的,Linux将不再实施周期性同步。这样就改进了Linux RT性能。
-去除vmstat定时器:vmstat定时器被用于收集虚拟存储器统计信息。以在文件/proc/sys/vm/stat_interval中按秒规定的间隔更新所述统计信息。通过把一个较大的数值写入到该文件可以减少抖动的数量。但是这样将不会解决最坏情况等待时间的问题。3.12或更新版本的Linux内核去除了周期性统计信息收集,并且用只在有实际活动需要被监测的情况下才触发的解决方案来替代。
1.-BDI写回亲和性:由于块I/O可能对RT性能具有严重的负面影响,因此建议将其移动到非RT CPUset。需要两个步骤:
对于写回线程禁用NUMA亲和性
#echo 0>/sys/bus/workqueue/devices/writeback/numa
假设CPU0和CPU1处于非RT CPUset中,将亲和性设定到CPUset
#echo 3>/sys/bus/workqueue/devices/writeback/cpumask
-禁用机器检查:x86架构具有针对校正后的机器检查错误的周期性检查。周期性机器检查需要会导致抖动的定时器。在RT CPU上可以禁用周期性检查。对于RT CPUset中的每一个CPU进行以下操作:
#echo 0>/sys/devices/system/machinecheck/machinecheck<cpu>/check_interval
#echo 0>/sys/devices/system/machinecheck/machinecheck2/check_interval
#echo 0>/sys/devices/system/machinecheck/machinecheck3/check_interval
-禁用看门狗:看门狗定时器被用来检测并且从软件故障恢复。其需要定期的定时器中断,从而是抖动来源。这一中断可以被去除,代价是更少的错误检测。可以在编译时间或者在运行时间如下禁用看门狗:
#echo 0>/proc/sys/kernel/watchdog
-增大到盘的冲刷时间:为了使得脏存储器页面的写回发生得没有默认情况那么频繁,我们可以进行以下操作:
#echo 1500>/proc/sys/vm/dirty_writeback_centisecs
-网络队列亲和性:如果应用需要发送或接收网络通信量,则在特定的CPU上针对网络协议创建一些定时器。如果仅在非RT应用上需要网络通信量,则可以如下设定网络队列亲和性以改进RT属性:
#echo<NRT cpus mask>>/sys/class/net/<ethernet interface>/queues/<queue>/<x/r>ps_cpus
所有前面的管理和配置修改可以由不确定性来源管理代理以自动的方式进行。为了确保内核引导参数修改生效,计算节点需要重启。
在步骤560处,接收RT VNF部署请求并且选择目标计算节点和目标CPU。
在实际的系统中,对于给定类型的VNF,最大处理负荷通常是已知的,其可以被用来估计新的VNF是否可以被容纳在CPU核心上。VNF管理器可以使用以下步骤来选择目标CPU核心。
-从用于RT VNF的CPU共享池中选择具有更好RT性能的CPU核心的一个集合;
-获得由该集合中的每一个CPU核心所寄存的VNF的类型和数目;
-根据VNF的类型和数目计算该集合中的每一个CPU核心上的潜在最大处理负荷;
-假设新的VNF被部署在其上,重新计算该集合中的每一个CPU核心上的潜在最大处理负荷;
-从该集合中选择可以容纳新的VNF的最大处理负荷并且具有更高边际的CPU核心的一个子集;
-从该子集中选择具有最佳RT性能的CPU核心以作为目标CPU。
一旦选择了目标CPU核心,该目标CPU核心的ID将被传递到目标计算节点。新的VNF将在本地VNF性能管理代理的控制下在目标CPU核心上被实例化。
两个时间标记计数器Trep与Texp之间的差被用来测量RT性能。对于具有多个线程的VNF,只有一个线程需要测量中断等待时间。时间标记Tlocal与Trep和Texp不同,它是从本地计算机点的系统时钟而不是从PCIe设备获得的。对于具有多个线程的VNF,建议由负责获得Trep的线程获得Tlocal。两个邻接的Tlocal之间的差(Tlocal2-Tlocal1)也可以被用来监测RT性能。如果该差逼近一毫秒,则意味着该CPU核心上的处理负荷非常高,并且建议不再接受新的VNF。
图7示出了所提出的编排器的这些功能之间的交互。RT VNF周期性地向本地VNF性能管理代理报告其RT性能。性能管理代理总结这些报告并且提取出对应于每一个CPU核心的RT性能(例如由某个CPU核心寄存的VNF的最差RT性能),并且报告到RT VNF管理器。在计算节点引导完成之后,本地CPU共享池管理代理向CPU共享池管理器报告本地CPU和NUMA信息,CPU共享池管理器决定分别将把哪些CPU添加到RT CPUset、非RT CPUset和DPDKCPUset,随后IRQ管理代理向CPU共享池管理器发送请求以获得本地CPUset信息,并且随后把IRQ从RT CPUset移动到非RT CPUset。系统任务管理代理向CPU共享池管理器发送请求,并且根据所接收到的CPUset信息把系统任务和后台进程移动到非RT CPUset。基于CPUset信息,不确定性来源管理代理改变IRQ亲和性、RCU回调亲和性、BDI写回亲和性等等。一旦本地CPUset在特定条件下被CPU共享池管理器改变,所有这些代理都需要根据新的CPUset重新安排亲和性。当需要部署新的RT VNF时,RT VNF管理器选择目标计算节点和目标CPU,并且向本地性能管理代理发送编排参数。在性能管理代理的控制下,VNF在目标CPU核心上被实例化。
该实施例描述了如何选择目标机器和目标CPU。这仅仅是关于编排策略的一个实例。本发明提出由编排器监测VNF RT性能,并且根据如何使用所测量的RT性能,编排策略可以是不同的。
图8示出了运行在计算节点上的用于实时虚拟网络功能编排的装置的一个实施例,包括以下模块:
用于基于VNF RT性能更新并报告CPU核心RT性能的模块(更新和报告模块800);
用于当OS引导完成时发送CPU和NUMA信息的模块(发送模块810);
用于当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RTCPUset并且报告IRQ清空完成的模块(IRQ移动模块820);
用于当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RT CPUset并且报告系统任务清空完成的模块(系统任务移动模块830);
用于当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源并且报告不确定性来源清空完成的模块(清空模块840)。
可选的,所述装置包括:
用于基于CPUset更新命令重新安排IRQ的模块;
用于基于CPUset更新命令重新安排系统任务的模块;以及
用于基于CPUset更新命令重新安排不确定性来源的模块。
可选的,所述装置包括:
用于基于VNF实例化请求而实例化VNF的模块。
图9示出了运行在RT云基础设施上的用于实时虚拟网络功能编排的装置的一个实施例,包括以下模块:
用于基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息的模块(更新模块900);
用于修改CPUset并且发送CPU更新命令的模块(修改模块910);
用于接收RT VNF部署请求并且选择目标计算节点和目标CPU的模块(接收和选择模块920)。
可选的,所述装置包括:
用于基于CPU共享池信息请求而发送CPU共享池信息响应的模块。
可选的,所述装置包括:
用于发送CPU更新命令的模块。
可选的,所述装置包括:
用于发送VNF实例化请求的模块。
前面提到的运行在计算节点上的用于实时虚拟网络功能编排的装置和运行在RT云基础设施上的用于实时虚拟网络功能编排的装置中所包含的每一个模块的具体实施方式功能已经在前面的方法实施例中进行了描述,在这里不再重复。
应当提到的是,在本发明的该实施例中,每一个模块是根据逻辑功能而划分的,但是并不限于前述内容,只要可以实现相应的功能即可。此外,每一个功能模块的具体名称仅仅是出于使其易于区别的目的,而不是被用来限制本发明的保护范围。
应当提到的是,本发明不限于前文中所描述的实施例,而是扩展到符合其想法的所有实施例。在此部分中所描述的替换方案或选项直接源自前面的技术步骤的描述。它们对于例如微电池之类的说明性应用来说是有效的,但是也可以转换到其他微电子组件。除非另行提到,否则描述在每一个部分中所给出的实例的步骤是基于事先所提到的相同原理。
Claims (18)
1.一种用于实时虚拟网络功能编排的方法,包括以下步骤:
基于VNF RT性能更新并报告CPU核心RT性能的步骤;
当OS引导完成时发送CPU和NUMA信息的步骤;
当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RT CPUset并且报告IRQ清空完成的步骤;
当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RTCPUset并且报告系统任务清空完成的步骤;
当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源并且报告不确定性来源清空完成的步骤。
2.根据权利要求1所述的方法,其中,所述方法包括:
基于CPUset更新命令重新安排IRQ、系统任务和不确定性来源的步骤。
3.根据权利要求1所述的方法,其中,所述方法包括:
基于VNF实例化请求而实例化VNF的步骤。
4.一种用于实时虚拟网络功能编排的方法,包括以下步骤:
基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息的步骤;
修改CPUset并且发送CPU更新命令的步骤;
接收RT VNF部署请求并且选择目标计算节点和目标CPU的步骤。
5.根据权利要求4所述的方法,其中,所述方法包括:
基于CPU共享池信息请求而发送CPU共享池信息响应的步骤。
6.根据权利要求4所述的方法,其中,所述方法包括:
发送CPU更新命令的步骤。
7.根据权利要求4所述的方法,其中,所述方法包括:
发送VNF实例化请求的步骤。
8.一种运行在计算节点上的用于实时虚拟网络功能编排的装置,包括:
用于基于VNF RT性能更新并报告CPU核心RT性能的模块;
用于当OS引导完成时发送CPU和NUMA信息的模块;
用于当OS引导完成时基于CPU共享池信息响应把IRQ从RT CPUset移动到非RT CPUset并且报告IRQ清空完成的模块;
用于当OS引导完成时基于CPU共享池信息响应把系统任务和OS后台进程移动到非RTCPUset并且报告系统任务清空完成的模块;
用于当OS引导完成时基于CPU共享池信息响应清空已知的不确定性来源并且报告不确定性来源清空完成的模块。
9.根据权利要求8所述的装置,其中,所述装置包括:
用于基于CPUset更新命令重新安排IRQ的模块;
用于基于CPUset更新命令重新安排系统任务的模块;以及
用于基于CPUset更新命令重新安排不确定性来源的模块。
10.根据权利要求8所述的装置,其中,所述装置包括:
用于基于VNF实例化请求而实例化VNF的模块。
11.一种运行在RT云基础设施上的用于实时虚拟网络功能编排的装置,包括:
用于基于CPU和NUMA信息更新CPU共享池并且同步CPU共享池信息的模块;
用于修改CPUset并且发送CPU更新命令的模块;
用于接收RT VNF部署请求并且选择目标计算节点和目标CPU的模块。
12.根据权利要求11所述的装置,其中,所述装置包括:
用于基于CPU共享池信息请求而发送CPU共享池信息响应的模块。
13.根据权利要求11所述的装置,其中,所述装置包括:
用于发送CPU更新命令的模块。
14.根据权利要求11所述的装置,其中,所述装置包括:
用于发送VNF实例化请求的模块。
15.一种用于实时虚拟网络功能编排的系统,包括:来自权利要求8到10的所述运行在计算节点上的用于实时虚拟网络功能编排的装置,以及来自权利要求11到14的所述运行在RT云基础设施上的用于实时虚拟网络功能编排的装置。
16.一种存储计算机代码的计算机可读存储介质,当所述计算机代码被执行时,权利要求1到3或权利要求4到7的方法被执行。
17.一种计算机程序产品,当所述计算机程序产品被执行时,权利要求1到3或权利要求4到7的方法被执行。
18.一种计算机产品,包括:
一个或多个处理器;
存储一个或多个计算机程序的存储装置;
当所述一个或多个计算机程序由所述一个或多个处理器执行时,所述一个或多个处理器实施权利要求1到3或权利要求4到7的方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/108653 WO2019084793A1 (en) | 2017-10-31 | 2017-10-31 | A method, apparatus and system for real-time virtual network function orchestration |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111316237A true CN111316237A (zh) | 2020-06-19 |
| CN111316237B CN111316237B (zh) | 2024-03-15 |
Family
ID=66332822
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201780096470.4A Active CN111316237B (zh) | 2017-10-31 | 2017-10-31 | 用于实时虚拟网络功能编排的方法、装置和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11625258B2 (zh) |
| EP (1) | EP3704575A4 (zh) |
| CN (1) | CN111316237B (zh) |
| WO (1) | WO2019084793A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112579253A (zh) * | 2020-12-02 | 2021-03-30 | 科东(广州)软件科技有限公司 | 一种管理容器的方法及系统 |
| CN113419820A (zh) * | 2021-07-02 | 2021-09-21 | 广州市品高软件股份有限公司 | 实时虚拟机的部署方法和云平台 |
| CN117909065A (zh) * | 2023-12-28 | 2024-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种嵌入式容器操作系统的确定性调度方法 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3582582B1 (en) * | 2018-06-15 | 2020-09-09 | Deutsche Telekom AG | Techniques for controlling computational resources of a radio access network |
| JP6839140B2 (ja) * | 2018-07-30 | 2021-03-03 | 日本電信電話株式会社 | 制御装置、および、制御方法 |
| US11579908B2 (en) | 2018-12-18 | 2023-02-14 | Vmware, Inc. | Containerized workload scheduling |
| US12271749B2 (en) * | 2019-04-25 | 2025-04-08 | VMware LLC | Containerized workload scheduling |
| CN111745651B (zh) * | 2020-06-15 | 2022-04-05 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作系统结构及其运作方法 |
| KR102381185B1 (ko) * | 2020-11-27 | 2022-03-31 | 주식회사 알티스트 | 쿠버네티스에서 저지연 서비스용 전담코어 설정 방법 |
| CN112653758B (zh) * | 2020-12-21 | 2023-04-07 | 北京百度网讯科技有限公司 | 边缘节点的更新方法、装置、设备和介质 |
| CN114281717A (zh) * | 2021-11-30 | 2022-04-05 | 郑州云海信息技术有限公司 | 一种缓存配置方法、装置、设备及存储介质 |
| CN114531285A (zh) * | 2022-04-01 | 2022-05-24 | 杭州立思辰安科科技有限公司 | 一种防火墙多核架构智能检测方法 |
| US11909656B1 (en) * | 2023-01-17 | 2024-02-20 | Nokia Solutions And Networks Oy | In-network decision for end-server-based network function acceleration |
| WO2025120356A1 (en) * | 2023-12-06 | 2025-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods to enhance cpu isolation for critical applications |
| WO2025120357A1 (en) * | 2023-12-06 | 2025-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods to dynamically isolate cpus assigned to critical applications |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100138828A1 (en) * | 2008-12-01 | 2010-06-03 | Vincent Hanquez | Systems and Methods for Facilitating Virtualization of a Heterogeneous Processor Pool |
| CN104601492A (zh) * | 2014-12-29 | 2015-05-06 | 上海华为技术有限公司 | 一种nfv架构下进行业务流控的方法及装置 |
| CN104615480A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于numa高性能网络处理器负载的虚拟处理器调度方法 |
| CN105429780A (zh) * | 2015-10-30 | 2016-03-23 | 南京优速网络科技有限公司 | 一种虚拟化网络服务业务自动生成和动态监控的方法 |
| CN105471649A (zh) * | 2015-12-03 | 2016-04-06 | 深圳市金立通信设备有限公司 | 一种虚拟网络性能的监控系统及方法、相关设备 |
| CN105912396A (zh) * | 2015-02-20 | 2016-08-31 | 英特尔公司 | 用于动态地分配可配置计算资源的资源的技术 |
| US20170024231A1 (en) * | 2015-07-23 | 2017-01-26 | Red Hat, Inc. | Configuration of a computer system for real-time response from a virtual machine |
| US20170244647A1 (en) * | 2014-11-07 | 2017-08-24 | Huawei Technologies Co., Ltd. | Method for Managing Hardward Resource, Method for Querying Location of Hardware Resource, and Related Apparatus |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
| EP2235630A1 (en) * | 2007-12-12 | 2010-10-06 | Nxp B.V. | Data processing system and method of interrupt handling |
| CN103577266B (zh) * | 2012-07-31 | 2017-06-23 | 国际商业机器公司 | 用于对现场可编程门阵列资源进行分配的方法及系统 |
| CN103699428A (zh) * | 2013-12-20 | 2014-04-02 | 华为技术有限公司 | 一种虚拟网卡中断亲和性绑定的方法和计算机设备 |
| US10265848B2 (en) * | 2014-07-08 | 2019-04-23 | Beihang University | Robotic hybrid system application framework based on multi-core processor architecture |
| CN105634782B (zh) * | 2014-11-06 | 2019-03-01 | 华为技术有限公司 | 一种实例化vnf的方法及网元管理设备 |
| CN106533723B (zh) * | 2015-09-11 | 2020-10-23 | 南京中兴软件有限责任公司 | 虚拟资源调度方法、装置及系统 |
| EP3357193B1 (en) * | 2015-09-30 | 2020-10-21 | Intel IP Corporation | Devices and methods of using network function virtualization and virtualized resources performance data to improve performance |
| US9977690B2 (en) * | 2016-05-23 | 2018-05-22 | Red Hat Israel, Ltd. | Hypervisor-visible guest thread management |
| CN107967117B (zh) * | 2016-10-20 | 2020-10-20 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、读取、清理方法、装置及云存储系统 |
| CN108540982B (zh) | 2017-03-06 | 2021-10-22 | 上海诺基亚贝尔股份有限公司 | 用于虚拟基站的通信方法和设备 |
| US10735275B2 (en) * | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
| CN109257240B (zh) | 2017-07-12 | 2021-02-23 | 上海诺基亚贝尔股份有限公司 | 一种监测虚拟化网络功能单元性能的方法和装置 |
| CA3066929A1 (en) * | 2017-09-15 | 2019-03-21 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for resource allocation, terminal device and network device |
| US11210126B2 (en) * | 2019-02-15 | 2021-12-28 | Cisco Technology, Inc. | Virtual infrastructure manager enhancements for remote edge cloud deployments |
| US11113115B2 (en) * | 2019-08-28 | 2021-09-07 | Adva Optical Networking Se | Dynamic resource optimization |
-
2017
- 2017-10-31 EP EP17930793.9A patent/EP3704575A4/en not_active Withdrawn
- 2017-10-31 WO PCT/CN2017/108653 patent/WO2019084793A1/en not_active Ceased
- 2017-10-31 CN CN201780096470.4A patent/CN111316237B/zh active Active
- 2017-10-31 US US16/760,117 patent/US11625258B2/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100138828A1 (en) * | 2008-12-01 | 2010-06-03 | Vincent Hanquez | Systems and Methods for Facilitating Virtualization of a Heterogeneous Processor Pool |
| US20170244647A1 (en) * | 2014-11-07 | 2017-08-24 | Huawei Technologies Co., Ltd. | Method for Managing Hardward Resource, Method for Querying Location of Hardware Resource, and Related Apparatus |
| CN104601492A (zh) * | 2014-12-29 | 2015-05-06 | 上海华为技术有限公司 | 一种nfv架构下进行业务流控的方法及装置 |
| CN104615480A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于numa高性能网络处理器负载的虚拟处理器调度方法 |
| CN105912396A (zh) * | 2015-02-20 | 2016-08-31 | 英特尔公司 | 用于动态地分配可配置计算资源的资源的技术 |
| US20170024231A1 (en) * | 2015-07-23 | 2017-01-26 | Red Hat, Inc. | Configuration of a computer system for real-time response from a virtual machine |
| CN105429780A (zh) * | 2015-10-30 | 2016-03-23 | 南京优速网络科技有限公司 | 一种虚拟化网络服务业务自动生成和动态监控的方法 |
| CN105471649A (zh) * | 2015-12-03 | 2016-04-06 | 深圳市金立通信设备有限公司 | 一种虚拟网络性能的监控系统及方法、相关设备 |
Non-Patent Citations (1)
| Title |
|---|
| 葛虎;: "基于Linux容器实现NFV平台的研究" * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112579253A (zh) * | 2020-12-02 | 2021-03-30 | 科东(广州)软件科技有限公司 | 一种管理容器的方法及系统 |
| CN112579253B (zh) * | 2020-12-02 | 2021-10-19 | 科东(广州)软件科技有限公司 | 一种管理容器的方法及系统 |
| CN113419820A (zh) * | 2021-07-02 | 2021-09-21 | 广州市品高软件股份有限公司 | 实时虚拟机的部署方法和云平台 |
| CN113419820B (zh) * | 2021-07-02 | 2024-08-20 | 广州市品高软件股份有限公司 | 实时虚拟机的部署方法和云平台 |
| CN117909065A (zh) * | 2023-12-28 | 2024-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种嵌入式容器操作系统的确定性调度方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11625258B2 (en) | 2023-04-11 |
| US20200334065A1 (en) | 2020-10-22 |
| CN111316237B (zh) | 2024-03-15 |
| WO2019084793A1 (en) | 2019-05-09 |
| EP3704575A4 (en) | 2021-08-25 |
| EP3704575A1 (en) | 2020-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111316237B (zh) | 用于实时虚拟网络功能编排的方法、装置和系统 | |
| Humphries et al. | ghost: Fast & flexible user-space delegation of linux scheduling | |
| US12118391B2 (en) | System and method for low latency node local scheduling in distributed resource management | |
| US20190370053A1 (en) | Dynamic virtual machine sizing | |
| US7512826B2 (en) | Method, apparatus, and product for an efficient virtualized time base in a scaleable multi-processor computer | |
| US7945908B1 (en) | Method and system for improving the accuracy of timing and process accounting within virtual machines | |
| US11714668B2 (en) | Supporting quality-of-service for virtual machines based on operational events | |
| US20050251806A1 (en) | Enhancement of real-time operating system functionality using a hypervisor | |
| CN103744716B (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
| Cheng et al. | vscale: Automatic and efficient processor scaling for smp virtual machines | |
| CN105955796A (zh) | 一种云平台上高性能并行应用的调度方法及系统 | |
| US10691495B2 (en) | Virtual processor allocation with execution guarantee | |
| CN111324432A (zh) | 处理器调度方法、装置、服务器及存储介质 | |
| Suo et al. | Preserving i/o prioritization in virtualized oses | |
| Monaco et al. | Shared resource orchestration extensions for kubernetes to support real-time cloud containers | |
| Cheng et al. | Offloading interrupt load balancing from smp virtual machines to the hypervisor | |
| Li et al. | Predictable communication and migration in the Quest-V separation kernel | |
| Nicodemus et al. | Managing vertical memory elasticity in containers | |
| Parikh et al. | Performance parameters of RTOSs; comparison of open source RTOSs and benchmarking techniques | |
| Li et al. | Quest-V: A virtualized multikernel for high-confidence systems | |
| Groesbrink | Virtual machine migration as a fault tolerance technique for embedded real-time systems | |
| López-Huguet et al. | Vertical elasticity on marathon and chronos mesos frameworks | |
| KR101334842B1 (ko) | 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법 | |
| Abeni et al. | Period Estimation for Linux-based Edge Computing Virtualization with Strong Temporal Isolation | |
| Monaco et al. | Extensions for shared resource orchestration in Kubernetes to support RT-cloud containers |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |