网络功能虚拟化调度方法、装置以及通信系统与流程

文档序号:12596567阅读:262来源:国知局
网络功能虚拟化调度方法、装置以及通信系统与流程

本发明实施例涉及通信技术领域,尤其涉及一种网络功能虚拟化(NFV,Network Function Virtualization)调度方法、装置以及通信系统。



背景技术:

长期演进(LTE,Long Term Evolution)或增强的长期演进(LTE-A,Long Term Evolution Advanced)系统中,通信协议包括物理(PHY)层,媒体访问控制(MAC,Media Access Control)层,无线链路控制(RLC,Radio Link Control)层以及分组数据会聚协议(PDCP,Packet Data Convergence Protocol)层等。

为了更好地提高系统性能,目前采用NFV技术可以将基站虚拟为x86服务器,其中调度器(scheduler)可以将协议栈的不同层的功能调度给不同的中央处理器核(CPU Core)。

图1是目前系统中对各协议层的功能进行调度的一示意图,如图1所示,调度器会将某一协议层中的具体功能指定给几个CPU核。例如,如图1所示,仅PHY层的功能被指定给核1至M,而其他高层协议层的功能被指定给核M+1至N。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

但是,发明人发现:目前高级CPU已经能够支持超线程(Hyper-threading)和乱序(out-of-order)等,这些技术能够使得两个线程共享相同的计算资源,当一个计算密集型线程和一个非计算密集型线程被调度到同一CPU Core时,CPU能够更高效地工作。而现有NFV技术没有考虑到更高效率的需求,不能更好地利用CPU的处理能力。

本发明实施例提供了一种NFV调度方法、装置以及通信系统。期待对NFV的调度进行改进,进一步提高CPU的处理效率。

根据本发明实施例的第一个方面,提供一种NFV调度方法,应用于LTE/LTE-A系统中的基站,所述NFV调度方法包括:

基站将各协议层的功能分为矢量计算功能和非矢量计算功能;以及

将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

根据本发明实施例的第二个方面,提供一种NFV调度装置,配置于LTE/LTE-A系统中的基站,所述NFV调度装置包括:

功能划分单元,将各协议层的功能分为矢量计算功能和非矢量计算功能;以及

功能调度单元,将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

根据本发明实施例的第三个方面,提供一种通信系统,所述通信系统包括:

基站,将各协议层的功能分为矢量计算功能和非矢量计算功能;以及将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

本发明实施例的有益效果在于:将各协议层的功能分为矢量计算功能和非矢量计算功能;以及将所述矢量计算功能和所述非矢量计算功能调度在同一CPU Core中。由此,可以考虑到对NFV调度更高效率的需求,进一步提高CPU的处理效率。

参照后文的说明和附图,详细公开了本发明实施例的特定实施方式,指明了本发明实施例的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部 分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是目前系统中对各协议层的功能进行调度的一示意图;

图2是本发明实施例1的NFV调度方法的一示意图;

图3是本发明实施例1的PHY层接收和发送的各功能的一示意图;

图4是本发明实施例1的静态调度的一示意图;

图5是本发明实施例1的静态调度的另一示意图;

图6是本发明实施例1的动态调度的一示意图;

图7是本发明实施例1的动态调度的另一示意图;

图8是本发明实施例2的NFV调度装置的一示意图;

图9是本发明实施例2的基站的一构成示意图;

图10是本发明实施例3的通信系统的一示意图。

具体实施方式

参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明实施例的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明实施例包括落入所附权利要求的范围内的全部修改、变型以及等同物。

实施例1

本发明实施例提供一种NFV调度方法,应用于LTE/LTE-A系统中的基站。图2是本发明实施例的NFV调度方法的一示意图,如图2所示,所述调度方法包括:

步骤201,基站将各协议层的功能分为矢量计算功能和非矢量计算功能;以及

步骤202,基站将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

在本实施例中,LTE/LTE-A系统中的基站中,可以包括各个协议层。其中,所述各协议层包括:物理层即PHY层,媒体访问控制层即MAC层,无线链路控制层即RLC层以及分组数据会聚协议层即PDCP层等。

一般来说,高层(例如MAC层、RLC层和PDCP层)的功能的计算量比较小。 例如大部分高层操作是标量计算、判断和存储访问等,这种操作适合于CPU算术逻辑单元(ALU,Algorithm Logic Unit)执行。本实施例中可以将这些功能确定为非矢量计算功能。

对于PHY层,一部分功能是用于信号处理计算的,计算量比较大,本实施例中可以将这些功能确定为矢量计算功能;而另一部分功能计算量比较小,本实施例中可以将这些功能确定为非矢量计算功能。

图3是本发明实施例的PHY层接收和发送的各功能的一示意图,如图3所示,例如,PHY层中的层映射/解映射(map/demap),交织/解交织(interleaving/de-interleaving),加扰/解加扰(scrambling/de-scrambling),速率匹配(rate matching),以及编码(encode)被划分为所述非矢量计算功能;快速傅里叶变换/逆快速傅里叶变换(FFT/IFFT),信道估计(channel estimation),多输入所输出(MIMO)检测,解码(decode)以及预编码(precoding)被划分为所述矢量计算功能。

值得注意的是,以上仅示意性说明了如何将各协议层的功能分为矢量计算功能和非矢量计算功能,但本发明实施例不限于此。以下具体说明如何进行NFV调度。

在一个实施方式中,所述基站静态地将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。其中,所述基站可以在所述NFV调度之前,预先确定所述各协议层的某一功能是所述矢量计算功能还是所述非矢量计算功能。

图4是本发明实施例的静态调度的一示意图,如图4所示,其中PHY层的功能PHY#1至#L,PHY#L+1至#K,PHY#K+1至#M均为矢量计算功能;MAC层的功能MAC#1至#L,RLC层的功能RLC#L+1至#K,PDCP层的功能PDCP#K+1至#M均为非矢量计算功能。

因此,如图4所示,可以将PHY#1和MAC#1调度到同一CPU Core#1中,……,将PHY#L和MAC#L调度到同一CPU Core#L中;将PHY#L+1和RLC#L+1调度到同一CPU Core#L+1中,……,将PHY#K和RLC#K调度到同一CPU Core#K中;将PHY#K+1和PDCP#K+1调度到同一CPU Core#K+1中,……,将PHY#M和PDCP#M调度到同一CPU Core#M中。由此,可以进一步提高CPU的处理效率。

在本实施方式中,可以在NFV调度之前,对各协议层的功能静态进行分析而确定出待调度的每一功能是矢量计算功能还是非矢量计算功能。

图5是本发明实施例的静态调度的另一示意图,示出了两个待调度的功能如何进 行调度的情况。如图5所示,所述调度包括:

步骤501,对待调度的两个功能A和B进行静态分析;

在本实施方式中,可以对功能A和B的源代码进行静态分析,得到例如一些统计信息(例如每CPU周期的矢量指示数量,每CPU周期的存储访问次数,每CPU周期的判断条件数,等等)。

步骤502,得到功能A的度量值;

步骤503,得到功能B的度量值。

根据静态分析得到的统计值,可以获得用于确定例如功能A是不是矢量计算的度量值,以及确定例如功能B是不是非矢量计算的度量值。

步骤504,判断功能A的度量值是否大于预设的第一阈值(TH1);

其中,功能A的度量值可以是例如每CPU周期的矢量指示数量的统计值,TH1可以是相应的阈值。在功能A的度量值大于TH1的情况下,可以确定功能A为矢量计算功能;在功能A的度量值不大于TH1的情况下,可以确定功能A为非矢量计算功能。

步骤505,判断功能B的度量值是否大于预设的第二阈值(TH2);

其中,功能B的度量值可以是例如每CPU周期的存储访问次数的统计值,TH2可以是相应的阈值。在功能B的度量值大于TH2的情况下,可以确定功能B为非矢量计算功能;在功能B的度量值不大于TH2的情况下,可以确定功能B为矢量计算功能。

步骤506,在功能A为矢量计算功能而功能B为非矢量计算功能的情况下,将功能A和B调度到同一CPU Core中。

在本实施方式中,在不是功能A为矢量计算功能而功能B为非矢量计算功能的情况下(例如功能A的度量值小于TH1,或者功能B的度量值小于TH2),调度器可以暂缓调度功能A和B,待出现合适的可以配对调度的功能之后再进行调度。或者也可以在优先级高的情况下,将其中一个功能(例如功能A)调度到CPU Core中而暂缓另一个功能的调度。可以根据实际情况确定具体的调度方式。

值得注意的是,以上仅示意性地对静态调度进行了说明,对于具体的静态调度的度量值,本发明不限于此,可以根据实际情况确定具体的指标。

在另一个实施方式中,所述基站可以动态地将所述矢量计算功能和所述非矢量计 算功能调度在同一中央处理器核中。其中,所述基站在调度过程中可以使用事件检测器(event detector),根据所述各协议层的某一功能所使用的资源确定所述功能是所述矢量计算功能还是所述非矢量计算功能。

图6是本发明实施例的动态调度的一示意图,如图6所示,事件检测器可以动态检测每一CPU Core所发生的事件,例如单指令多数据(SIMD)命令的数目,缓存未命中(Cache missing)而导致的CPU挂起(CPU stall)的数目等等。事件检测器可以读取各开发商(例如Intel)提供的性能监控寄存器,来动态检测各事件。

在本实施方式中,调度器可以基于事件检测器,根据各协议层的某一功能所使用的资源确定所述功能是所述矢量计算功能还是所述非矢量计算功能。然后,动态地更新NFV调度,将矢量计算功能和非矢量计算功能调度在同一CPU Core中。

如图6所示,在开始的调度结果中,CPU Core#1至#M分别只调度一个功能。例如,功能#1被调度到Core#1,……,功能#M给被调度到Core#M。在调度过程中,基于事件检测器检测的结果,调度器可以确定功能#1是矢量计算功能而功能#2是非矢量计算功能,因此对调度进行更新,将功能#1和功能#2调度到同一CPU Core即Core#1中。

图7是本发明实施例的动态调度的另一示意图,示出了两个已调度的功能如何进行更新的情况。如图7所示,所述调度包括:

步骤701,对已调度的两个功能C和D进行事件检测;

在本实施方式中,可以使用事件监测器对功能C和D进行动态分析,得到例如一些统计信息(例如每CPU周期的SIMD数量,每秒CPU挂起次数,等等)。

步骤702,得到已在Core#1中调度的功能C的度量值;

步骤703,得到已在Core#2中调度的功能D的度量值。

根据动态分析得到的统计值,可以获得用于确定例如功能C是不是矢量计算的度量值,以及确定例如功能D是不是非矢量计算的度量值。

步骤704,判断功能C的度量值是否大于预设的第三阈值(TH3);

其中,功能C的度量值可以是例如每CPU周期的SIMD数量的统计值,TH3可以是相应的阈值。例如,在功能C的度量值大于TH3的情况下,可以确定功能C为矢量计算功能;在功能C的度量值不大于TH3的情况下,可以确定功能C为非矢量计算功能。

步骤705,判断功能D的度量值是否大于预设的第四阈值(TH4);

其中,功能D的度量值可以是例如每秒CPU挂起次数的统计值,TH4可以是相应的阈值。例如,在功能D的度量值大于TH4的情况下,可以确定功能D为非矢量计算功能;在功能D的度量值不大于TH2的情况下,可以确定功能D为矢量计算功能。

步骤706,在功能C为矢量计算功能而功能D为非矢量计算功能的情况下,对调度进行更新而将功能C和D调度到同一CPU Core#1中。

其中,原本用于调度的功能D的Core#2成为null,可以用于其他的功能,由此可以进一步提高CPU的调度效率。

在本实施方式中,在不是功能C为矢量计算功能而功能D为非矢量计算功能的情况下(例如功能C的度量值小于TH3,或者功能D的度量值小于TH4),可以不进行调度更新。本发明实施例不限于此,可以根据实际情况确定具体的调度方式。

值得注意的是,以上仅示意性地对动态调度进行了说明,对于具体的动态调度的度量值,本发明不限于此,可以根据实际情况确定具体的指标。

由上述实施例可知,基站将各协议层的功能分为矢量计算功能和非矢量计算功能;以及将所述矢量计算功能和所述非矢量计算功能调度在同一CPU Core中。由此,可以考虑到对NFV调度更高效率的需求,进一步提高CPU的处理效率。

实施例2

本发明实施例提供一种NFV调度装置,配置于LTE/LTE-A系统中的基站。本发明实施例与实施例1相同的内容不再赘述。

图8是本发明实施例的NFV调度装置的一示意图,如图8所示,所述NFV调度装置800包括:

功能划分单元801,将各协议层的功能分为矢量计算功能和非矢量计算功能;

功能调度单元802,将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

在本实施例中,所述各协议层包括:物理即PHY层,媒体访问控制即MAC层,无线链路控制即RLC层以及分组数据会聚协议即PDCP层;其中,所述PHY层中的层映射/解映射,交织/解交织,加扰/解加扰,速率匹配,以及编码可以被划分为所述 非矢量计算功能;快速傅里叶变换即FFT/逆快速傅里叶变换即IFFT,信道估计,多输入所输出即MIMO检测,解码以及预编码可以被划分为所述矢量计算功能。

在本实施例中,所述功能调度单元802可以静态地或者动态地将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

本发明实施例还提供一种基站,配置有如上所述的NFV调度装置800。

图9是本发明实施例的基站的一构成示意图。如图9所示,基站900可以包括:中央处理器(CPU)200和存储器210;存储器210耦合到中央处理器200。其中该存储器210可存储各种数据;此外还存储信息处理的程序,并且在中央处理器200的控制下执行该程序。

其中,基站900可以实现如实施例1所述的NFV调度方法。中央处理器200可以被配置为实现NFV调度装置800的功能;即中央处理器200可以被配置为进行如下控制:将各协议层的功能分为矢量计算功能和非矢量计算功能;将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

此外,如图9所示,基站900还可以包括:收发机220和天线230等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,基站900也并不是必须要包括图9中所示的所有部件;此外基站900还可以包括图9中没有示出的部件,可以参考现有技术。

由上述实施例可知,基站将各协议层的功能分为矢量计算功能和非矢量计算功能;以及将所述矢量计算功能和所述非矢量计算功能调度在同一CPU Core中。由此,可以考虑到对NFV调度更高效率的需求,进一步提高CPU的处理效率。

实施例3

本发明实施例还提供一种通信系统,与实施例1至2相同的内容不再赘述。图10是本发明实施例的通信系统的一示意图,如图10所示,所述通信系统1000包括:基站1001和用户设备1002。

其中,基站1001将各协议层的功能分为矢量计算功能和非矢量计算功能;以及将所述矢量计算功能和所述非矢量计算功能调度在同一中央处理器核中。

本发明实施例还提供一种计算机可读程序,其中当在基站中执行所述程序时,所述程序使得计算机在所述基站中执行如实施例1所述的NFV调度方法。

本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在基站中执行如实施例1所述的NFV调度方法。

本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。

以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1