CN103154897A - 用于电信网络应用的核抽象层 - Google Patents

用于电信网络应用的核抽象层 Download PDF

Info

Publication number
CN103154897A
CN103154897A CN2011800488382A CN201180048838A CN103154897A CN 103154897 A CN103154897 A CN 103154897A CN 2011800488382 A CN2011800488382 A CN 2011800488382A CN 201180048838 A CN201180048838 A CN 201180048838A CN 103154897 A CN103154897 A CN 103154897A
Authority
CN
China
Prior art keywords
module
dpaa
buffer
core
abstraction
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
Application number
CN2011800488382A
Other languages
English (en)
Other versions
CN103154897B (zh
Inventor
M·R·加沃尔
L·索
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN103154897A publication Critical patent/CN103154897A/zh
Application granted granted Critical
Publication of CN103154897B publication Critical patent/CN103154897B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/54Interprogram communication
    • 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/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1221Wireless traffic scheduling based on age of data to be sent

Abstract

向基于多核处理器的调制解调器板的中间件层引入一种新的子系统,核抽象层(CAL)。该新的模块为多核FSL P4080处理器及其DPAA提供了抽象。为了部署该调制解调器板,CAL将向LTE L2应用提供诸如零拷贝无锁(lock free)缓冲器管理方案的各种服务,并且提供对于新的背板以太网驱动(BED)接口的支持,用于将RLC SDU传送到用于多小区配置的控制器板以及从该控制器板接收RLC SDU。

Description

用于电信网络应用的核抽象层
背景技术
本发明涉及使用多核处理器的在单调制解调器板上用于多小区支持的核抽象层。尽管本发明特别指向移动电信领域,因此特别参照其进行了描述,但应当了解,本发明还可应用于其他领域和应用。
通过背景技术可知,LTE(长期演进)是一种快速演进的3GPP项目,其旨在对UMTS(通用移动电信系统)移动电话标准进行改进以应对未来通信网络的要求。LTE提高了无线网络的效率和带宽,降低了成本并且增强了服务体验。具体地讲,LTE利用了新的频谱机会并且提供了与其他开放标准更好的集成。LTE一般包括LTE RAN(无线电接入网络)(也称为E-UTRAN)与EPS(演进的分组系统,也叫演进的分组核心)。
通信系统一般被分为两个主要功能:数据面功能以及控制面功能。在先前的LTE产品中,至少两个处理器用在调制解调器板上:一个支持控制面功能(非实时的,例如操作、经营和管理(或者OA&M)以及呼叫处理管理相关的功能性),另一个终结以及支持数据面功能(实时的,例如LTE层2的处理)。控制面和数据面两者都使用不同的操作系统(OS)实例,例如用于控制面的Linux以及用于数据面核的诸如vXWorks(由加利福尼亚Alameda的Wind River System制造并销售)的实时OS。通常,一个调制解调器板支持一个扇区或小区。所以为了支持多小区(例如3小区或6小区)配置,有必要提供与小区数量一样多的调制解调器板。
需要位于应用层和硬件层之间并使应用层从低级硬件相关的功能性分离的中间件抽象层。
发明内容
在处理环境中,中间件层通常将所有的硬件具体实现细节对应用层进行掩藏。向基于多核处理器的调制解调器板的中间件层引入一种新的子系统—核抽象层(CAL)。该新的模块为多核处理器及其数据路径加速架构(DPAA)提供了抽象。为了部署该调制解调器板,CAL将向LTE L2应用提供诸如零拷贝无锁(lock free)缓冲器管理方案的各种服务,并且提供对于新的背板以太网驱动(BED)接口的支持,用于将无线电链路控制(RLC)服务数据单元(SDU)传送到用于多小区配置的控制器板以及从该控制器板接收RLC SDU。
软件便携性是CAL的主要目标。其还使应用层与促进对应用、中间件及平台层服务进行并行软件开发的低级平台服务分离。因而,其将会相对容易地迁移到具有或多或少的核或者甚至是多核处理器的不同厂商的处理器,而对应用层软件影响很小或没有影响。
在本发明的一方面提供一种用于在电信网络中提供多小区支持的装置。该装置包括调制解调器板和多核处理器。处理器一般包括:依附在调制解调器板的多个处理器核和核抽象层,在多个处理器核中,至少一个处理器核用来执行所有控制面功能,剩余处理器核用来执行所有数据面功能;所述核抽象层将任何核具体细节都对运行在单个分区的处理器核上的应用软件隐藏。核抽象层包括各种模块。初始化模块向一个或多个帧管理器加载网络配置数据以及静态解析、分类和分配(PCD)规则,并且基于一组配置文件建立核抽象层框架。缓冲器模块可以为一个或多个层2应用提供无锁缓冲器管理服务。消息模块可以向层2软件提供向另一板发送用户面数据或从另一板接收用户面数据的零拷贝和无锁(lock-less)消息服务。PCD模块提供由帧管理器用于将入站帧路由到适当的核的PCD规则和配置。数据路径加速架构(DPAA)跟踪模块提供用于在DPAA驱动模块中开启和禁用跟踪的跟踪能力。
在本发明的另一方面提供一种用于在电信网络中提供多小区支持的装置。该装置包括:调制解调器板和多核处理器,多核处理器具有依附在调制解调器板的多个处理器核和核抽象层,在多个处理器核中,单个分区利用包括于其中的所有处理器核定义,以及其中单个分区用来执行所有控制面功能和所有数据面功能;所述核抽象层将任何核具体细节都对运行在单个分区的处理器核上的应用软件隐藏。核抽象层包括各种模块。初始化模块向一个或多个帧管理器加载网络配置数据以及静态解析、分类和分配(PCD)规则,并且基于一组配置文件建立核抽象层框架。缓冲器模块可以为一个或多个层2应用提供无锁缓冲器管理服务。消息模块可以向层2软件提供向另一板发送用户面数据或从另一板接收用户面数据的零拷贝以及无锁消息服务。PCD模块提供由帧管理器用于将入站帧路由到适当的核的PCD规则和配置。数据路径加速架构(DPAA)跟踪模块提供用于在DPAA驱动模块中开启和禁用跟踪的跟踪能力。
还在本发明的另一方面提供一种用于多核处理器的核抽象层。核抽象层包括各种模块。初始化模块向一个或多个帧管理器加载网络配置数据以及静态解析、分类和分配(PCD)规则,并且基于一组配置文件建立核抽象层框架。缓冲器模块可以为一个或多个层2应用提供无锁缓冲器管理服务。消息模块可以向层2软件提供向另一板发送用户面数据或从另一板接收用户面数据的零拷贝和无锁消息服务。PCD模块提供由帧管理器用于将入站帧路由到适当的核的PCD规则和配置。数据路径加速架构(DPAA)跟踪模块提供用于在DPAA驱动模块中开启和禁用跟踪的跟踪能力。
本发明适用性的进一步的范围将从以下提供的详细描述中变得明显。然而应当理解,由于在本发明范围和精神内的各种变化和修改对那些本领域技术人员而言是显而易见的,因此在指出本发明优选实施例的同时,仅通过说明的方式给出详细的描述和具体的示例。
附图说明
本发明存在于结构、布置以及设备的各种零件和方法步骤的结合中,由此获得如下文中更全面阐述的、尤其是在权利要求中被指出,并在附图中进行图示的预期目标。附图中:
图1图示了根据本发明多方面的平台架构的一个实施例;
图2图示了根据本发明多方面的平台架构的替代性的实施例,以及
图3图示了根据本发明多方面的用于实现核抽象层的典型架构。
具体实施方式
现在参照附图,其中示出的附图仅用于图示示例性实施例的目的而非用于限制所要求保护主题的目的,图1提供了可以结合当前描述的实施例的系统的视图。该平台架构一般用在调制解调器板上,但是应当理解,其可以用在其他应用中。在此情况下,提供了具有八个核(如图中12、14、16、18、20、22、24及26所示)的多核处理器10。然而应当了解,多核处理器10可以具有任意数量的核。在此示例中,第一分区28用于运行第一操作系统(OS1)32的控制面30。第一分区28还包括操作、经营和管理(OA&M)34以及BCS/UPS36。BCS/UPS36是用于向诸如OA&M实体的应用软件提供硬件的抽象的中间件层。余下7个核的每一个对应一个AMP分区(如图中38、40、42、44、46、48、50所示),7个AMP分区用于数据面52,该7个AMP分区的每个都运行第二操作系统(OS2)54。
所有的层2(L2)处理通常都在处理器的7个核上执行。层2是计算机联网的7层OSI模型的数据链路层。数据链路层是将数据在广域网的相邻网络节点间或在相同的局域网段的节点间传输的协议层。数据链路层提供了将数据在网络实体间传输的功能上和程序上的手段,并且可能提供可发生在物理层的错误检测并可能纠正错误的手段。数据链路协议的示例为用于局域网(多节点)的以太网、点对点协议(PPP)、用于点到点(双节点)连接的HDLC和ADCCP。在此情况,L2一般是指具有非常严格的实时要求的LTE空中接口所需的L2调度器处理。
所有的层1(L1)处理通常都在DSP和FPGA上得到执行。尤其是,核抽象层(CAL)56将核具体细节对L2应用软件隐藏。
典型构架可以进一步包括诸如系统管理程序(hypervisor)58的监控软件实体,用来确保所有的这些分区独立运行并且不会彼此破坏(例如,确保故障隔离)。系统管理程序是用在虚拟化中的软件程序。其允许几个操作系统在给定的硬件片上并行的运行。不像传统的虚拟计算程序,系统管理程序直接运行在目标硬件上。这允许访客操作系统和系统管理程序两者都更加有效地执行。可能的系统管理程序的列表包括但不限于下面的类型:Xen(Citrix)、KVM(基于内核的虚拟机)、VMware ESX/vmkernel、MicrosoftHyper-V、PowerVM(IBM)、Logical Domains/Oracle VM以及Wind RiverHypervisor。
在此示例中,处理器10服务于3个小区(如图中60、62和64所示)。每个小区都需要上行链路(UL)调度器(如图中66、70和74所示)以及下行链路(DL)调度器(如图中68、72和76所示)。
人们公知,无线电链路控制(RLC)层用来在跨LTE接口发送和接收的分组帧上进行分段、组合和纠错。无线电链路控制和媒体访问控制(RLC/MAC)软件被用在GPRS(2.5G)无线栈。其提供了在移动站和基站控制器(BSC)间的确认和非确认数据传输。就此而言,处理器10进一步包括RLC/MAC块78,该RLC/MAC块78是在移动设备和网络间使用的空中接口上的基本的传输单元。其用来携带数据和RLC/MAC信令。
现在参照图2,示出了替代性的平台架构10。该架构一般用在调制解调器板上,但是应当理解,其还可用在其他应用上。在该实施例中,一个分区被其中全部8个核来定义。然而应当了解,多核处理器100可以具有任何数量的核。利用该实施例,从而可能使用运行在所有核(例如,8个核)上的单个SMP OS实例102。由于控制和数据面当前在一个OS实例之下,需要注意确保数据面上的问题将不会同样地击垮控制面。
在此示例中,处理器100服务于3个小区(如图中104、106和108所示)。每个小区需要上行链路(UL)调度器(如图中110、112和114所示)以及下行链路(DL)调度器(如图中116、118和120所示)。还包括RLC/MAC块122,其为用在移动设备和网络之间的空中接口上的基本的传输单元。其用于携带数据和RLC/MAC信令。处理器100还提供OA&M124以及BCS/UPS126。
如在第一实施例中,处理器100包括核抽象层(CAL)128,其将核具体细节对L2应用软件隐藏。
为了满足基站的实时性能需要,可以使用诸如具有PREEMPT_RT补丁的SMP Linux的OS。当然,应当理解,还可以使用其他操作系统。SMP配置可能易于丧失所监视的AMP配置的确定性行为。为了在SMP配置中达到确定性行为,系统优选地以采用核预留(core reservation)和核关联(core affinity)构造以达到如AMP的系统行为的方式实现。例如,还希望从具有PREEMPT_RT OS的SMP Linux中得到最佳性能。无锁零拷贝服务(例如缓冲器管理)以及消息服务的使用还有助于解决使用具有PREEMPT_RT OS的SMP Linux所引起的任何的延迟问题。
图1和2中所示出的核抽象层(56、128)的主要功能之一是以利用多核平台的所有能力的各种服务提供诸如L2处理的高级应用。因而将核抽象层设计成达到几个目标。第一,其应当支持BED(背板以太网驱动器)基于DPAA的接口,同时对高级应用软件(例如,L2软件)隐藏DPAA和多核具体实现。第二,其应当利用P4080的DPAA硬件组件来在入站和出站两个方向为用户面数据提供加速数据路径。第三,其应当提供尽可能多的灵活性以便容易地适应配置变化(例如,没有要求代码变化)。CAL配置的一个示例为用于缓冲器池、入站帧队列和出站帧队列的DPAA资源配置。
现在参照图3,示出了达到这些及其他目标的典型架构300。就此而言,核抽象层(CAL)301在用户空间中包括各种模块,这些模块包括核抽象层初始化(CALInit)模块302,核抽象层缓冲器(CALBuf)模块304,核抽象层消息(CALMsg)模块306,核抽象层解析、分类和分配(CALPcdFmc)模块308以及核抽象层DPAA跟踪(CALDpaaTrace)模块310。CAL301还可以包括内核空间(kernel-space)模块,即核抽象层DPAA驱动(CALDpaaDriver)312。
架构300进一步包括诸如Linux Preempt RT的适当的操作系统314。操作系统314依次支持各种驱动,例如前述CALDPaa驱动312、至少一个帧管理器(FMan)驱动316、至少一个缓冲器管理器(BMan)驱动318,以及至少一个队列管理器(QMan)驱动320。
如图3所示,架构300可以适当地包括P4080CoreNet构造322,其为适用于可扩展的片上网络的互联架构,用于将多电源架构处理核连接至高速缓冲存储器、单机高速缓冲存储器以及存储器子系统。
P4080处理器包括新数据路径加速架构(DPAA)的实现。因此,架构300可以进一步包括P4080DPAA324。DPAA324被设计为优化诸如负荷扩散和资源(包括网络接口和硬件加速器)共享的多核网络处理。如图所示,DPAA324一般分别包括诸如BMan326和QMan328以及第一Fman330和第二Fman332的各种管理器。
CALInit模块302通常向帧管理器330和332加载LTE网络配置和任意静态PCD规则,并且基于一组配置文件建立CAL框架。CALInit模块302与FMC(FMan配置工具)(没有示出)或任意数量的FMan API(没有示出)对接以配置FMan PCD,并与CALDpaa driver312对接以加载和建立CAL配置(例如,用户面DPA资源)。如本文中用到的,术语API(或应用编程接口)是指由软件程序实现的接口,其使得能够与其他软件交互。其促进不同软件程序间的交互,类似于用户接口促进用户和计算机间的交互的方式。API由应用程序、库以及操作系统实现以确定它们的词汇表(vocabularies)及调用惯例(calling conventions),并且用来访问它们的服务。API可以包括例程的规范、数据结构、目标类以及用来在消费者和API实现者间通信的协议。
CALInit模块302还经由LEC(Linux错误收集器)服务提供调试机制,收集各种CAL和DPAA资源状态和统计并倾倒至LEC的快照文件以用于事后调查(postmortem investigation)。
人们公知,在无线多接入通信系统中,发射机和接收机可以使用多层通信栈进行通信。所述层可以包括例如物理层、媒体访问(MAC)层、无线电链路控制(RLC)层、协议层(例如,分组数据汇聚协议(PDCP)层)、应用层等。RLC层从PDCP层接收服务数据单元(SDU),并且将SDU组合或分段到RLC协议数据单元(PDU)以向MAC层传送。
相应地,CALBuf模块304为L2应用提供在RLC SDU处理中使用的无锁缓冲器管理服务。如本领域所公知的,非阻塞(non-blocking)算法确保竞争共享资源的线程不会使其执行通过相互排斥而无限延迟。如果要确保系统范围的进展,则非阻塞算法是无锁的(或免锁的)。CALBuf模块304还支持缓冲器池统计数据(例如,池消耗状态、消耗计数、池可用性状态、池分配错误计数等)的查询。CALBuf模块304与CALDpaa驱动312对接以实现所述服务。CALBuf模块304提供在多核环境下对适当的系统操作尤其关键的无锁缓冲器管理方案,其中由非实时时间处理采用的锁可能对等待释放该锁的实时处理造成延迟问题。
CALMsg模块306提供经由DPAA接收(入站)RLC SDU和发送(出站)RLC SDU的服务。CALMsg模块306还支持Tx/Rx以太网接口统计数据(例如,接收或传送的FD的数量、丢弃的FD的数量、各种类型的坏FDs等)的查询。CALMsg模块306与DPAA驱动312对接以实现所述服务。CALMsg模块306向LTE L2应用提供在不使用协议栈的情况下发送或接收TCP/UDP IP分组的零拷贝无锁消息服务。需要确保应用软件将不会遭遇无限延迟峰值,其可损坏具有非常严格的实时处理要求的LTE系统的适当系统行为。
CALPcdFmc模块308提供由每个FMan(330、332)用于将入站帧路由到适当的核的解析、分类和分配(PDC)规则以及配置。
CALDPaaTrace模块310提供用于在CALDpaaDriver312中开启和禁用跟踪的跟踪能力。CALDPaaTrace模块310与CALDpaa驱动312对接以实现这样的服务。
CALDpaaDriver312是CAL301的内核空间(kernel-space)组件,而且该驱动使用Bman和Qman API帮助实现和提供缓冲器管理服务和消息服务。CALDpaaDriver312负责:管理用于用户面数据分配的DPAA资源(缓冲器池和帧队列);经由诸如打开、释放、用于初始化的i-o(输入/输出)控制(ioctl)、缓冲器管理以及消息服务的各种文件操作,向其他CAL模块提供用户空间接口;执行内核-用户空间(K-U)的缓冲器映射;提供DPAA缓冲器池以及接收机和发射机的统计数据;以及实现用于管理环形缓冲器的服务。应当注意,环形缓冲器表示CAL的L2软件队列并且用来存储去往特定的L2DLT的FD。CALMsg模块306为L2提供从环获得缓冲器描述符的API。
除了CALDpaaDriver312之外,以上描述的所有CAL组件一般为平台中间件(在用户空间下运行)。CALDpaaDriver312是运行在内核空间的自定义驱动,并且其被设计为实现和提供CAL用户空间中间件所需的服务—尤其是依赖于P4080DPAA硬件组件的那些服务。
CALInit模块302负责提供各种功能性。对于启动中的主核(mastercore),CALInit模块302建立CAL框架以支持“快速路径”处理。这个步骤可以包括初始化CALDpaaDriver312,CALDpaaDriver312转而将:(a)创建处理用户面数据所需的各种DPAA资源(例如,缓冲器池、FQ或帧队列),以及(b)创建经由DPAA支持缓冲器管理和消息服务所需的CAL基础设施(例如维护缓冲器池配置、FQ以及在入站FQ和DLT IP地址间的关联性的内部表等)。CALInit模块302还加载LTE FMC的(静态)PCD规则和网络配置。
对于启动中的主核和用户面核(其中L2DLT和L2上行链路调度器线程被绑定),CALInit模块302利用LEC执行、注册和关联CAL301。当进程异常终止(例如,产生了LEC关键错误)时,其向LEC的快照任务提供了要调用的例程。该例程收集包括缓冲器池统计和Tx/Rx以太网接口统计的各种CAL和DPAA数据,并将该数据倾倒至LEC的快照文件以用于调试目的。
CALBuf模块304提供缓冲器管理服务来排他性地用于“快速路径”数据处理。CALBuf模块304向L2应用提供用户空间API。CALBuf模块304与CALDpaaDriver312协作,向由CALDpaa驱动312所创建却被Bman326所管理的缓冲器提供零拷贝和无锁缓冲器管理服务。
CALBuf模块304实现和提供支持以下服务的API,其中:
1.获取缓冲器,其中给定缓冲器大小;
2.获取给定数量的给定大小的缓冲器,然后返回可用缓冲器的列表,直到所请求数量的缓冲器;
3.释放指定的缓冲器;
4.释放缓冲器的列表;以及
5.查询缓冲器池统计。
CALMsg模块306向L2软件提供向另一板(即eCCM)发送用户面数据和从另一板(即eCCM)接收用户面数据的消息服务。CALMsg模块306一般与CALDpaaDriver312对接以经由DPAA提供无锁零拷贝消息服务。该特征允许L2应用软件在不使用协议栈的情况下发送和接收TCP/UDP IP分组,以避免无限的分组延迟时延。
CALMsg模块306实现和提供支持各种服务的API,例如在以下段落中所描述的。
一个可能的服务是为(L2)应用实体注册CALMsg服务,由此实体可以经由“快速路径”接收进入分组。在此注册过程期间,创建CAL的L2软件队列(环形缓冲器)以维护所接收的去往实体的缓冲器描述符。还在该注册期间,CALMsg模块306创建到IP地址的入站FQ和环ID之间的关联,以用于之后在其他处理(例如,当帧到达FQ时,确定将缓冲器描述符推送到哪个环形缓冲器)中进行参考,执行相关缓冲器池的内核到用户空间的映射,以及为应用实体配置PCD规则(如果还没有经由静态规则配置)。而且,在注册过程开始时,CAL301实现防御策略用于确保当线程崩溃时由应用所获得的所有缓冲器被适当的释放。
第二服务是获得去往应用实体的帧。期望返回的缓冲器地址会指出由以太网报头开始的有效载荷的开头。
第三服务是在被配置成处理用户面数据的以太网接口(例如,eth0)上经由DPAA向外部实体发送消息。期望L2填充所有所需的报头(以太网、IP、UDP);并且硬件将被适当地配置以生成和填充IP校验和以及UDP校验和。
第四服务是查询接收机和发射机端口统计数据。
第五服务是从CALMsg模块306注销应用实体。一旦应用实体被注销,其将不再能够经由“快速路径”接收分组。作为注销过程的一部分,CAL将释放由应用软件所获得的所有缓冲器。在使用CALMsg模块306经由快速路径来接收帧的情况下,相关联的环形缓冲器以及PCD规则也将被移除。
CALPcdFmc模块308至少提供CAL301可以用来初始化和配置FMan(330、332)的PCD组件的网络接口配置文件和解析、分类和分配(PCD)规则。FMan的PCD组件需要被配置成允许进入帧到适当的核的分配。
以下描述的是可以用于以示例性架构定义LTE PCD规则(静态地或动态地)的策略的示例。
就用户空间分配而言,具有IP和UDP报头的到达用户空间以太网接口(eth0)的所有帧将通过粗分类(由Fman)。这可以通过提供适当的PCD规则(动态地或者静态地)来达到。精确匹配分配方案可以用来将整个或部分目的地IP地址(取决于目的地IP地址的哪一部分可以被静态定义)匹配到特定的核。默认地,任何未被匹配的帧将排队进入被分配到控制面核(例如,core0)的FQ。
就默认分配而言,到达控制面以太网接口(eth1)或调试以太网接口(eth2)的所有帧将分配到控制面核(例如,core0)。
如何以及何时在Fman中定义和配置PCD规则取决于是否可在平台初始化期间预定义和配置PCD策略。由于L2(下行链路)线程的IP地址及其到各种核的绑定不能预先确定,所以不可能在板启动和初始化期间为入站(下行链路)用户面路径定义Fman的PCD规则。因此,需要在小区被配置后,在运行时定义用于用户面数据路径的PCD规则。当下行链路调度器(DLT)注册到CALMsg模块306时,DLT IP地址以及线程所绑定的核通常为已知的。另一方面,用于控制面和调试业务的派发规则为直接的并且不依赖于任何变量。因此,可在初始化期间静态地定义和配置用于控制面和调试面业务的PCD规则。
当初始化(FSL)以太网驱动时,可以预先定义和配置用于控制面以太网接口以及用于调试以太网接口的PCD规则。对于用户面以太网接口,需要在DLT利用已知的IP地址和绑定核开启后在运行时间定义和配置PCD规则。
CALDPaaTrace模块310提供在CALDPaa驱动312和各种P4080DPAA组件(驱动)上开启或禁用跟踪和调试的各种服务。这些服务例如包括:(1)开启和禁用CALDPaa驱动跟踪;(2)开启和禁用Bman跟踪(将来);(3)开启和禁用Qman跟踪(将来);以及(4)开启和禁用Fman跟踪(将来)。
存在可以使用CAL301的各种场景。例如,CAL301可以在初始化时(即在平台的开启期间)支持主核:
1.通过加载CAL配置数据(例如DPAA资源配置)以及对CALDpaa驱动312进行初始化,建立CAL的框架;
2.如果有网络接口配置和静态PCD规则的话,加载LTE FMC的网络接口配置和静态PCD规则。
CAL301还可以在初始化时支持用户空间进程。在该情况下,当CAL301被加载和初始化时,CAL301将其自身注册到LEC或与LEC关联,向LEC的快照任务提供例程以在该进程终结时运行。该例程将收集与Bman所管理的缓冲器池和Tx/Rx以太网接口相关的各种统计数据,并将数据倾倒至LEC快照文件以用于事后调查(postmortem investigation)。
CAL301还可以支持分组发送(即L2ULU软件处理):
1.ULU(上行链路调度器)将其自身注册到CALMsg306,从而其可以经由DPAA发送分组。
2.ULU使用CALBuf服务分配缓冲器。
3.ULU利用具有所有所需报头(以太网/IP/UDP)和有效载荷的将发送的数据填充缓冲器。
4.ULU使用CALMsg服务经由DPAA向目的地实体发送消息。
CAL301还可以支持分组接收(即L2DLT软件处理):
1.DLT(下行链路调度器)将其自身注册到CALMsg306,从而其可以经由DPAA接收分组。
2.在某个ΔT时间(即1毫秒)之后,DLT使用CALMsg服务读出去往其的帧。
3.对于DLT所读出的每个帧,DLT处理该帧并使用CALBuf服务将该缓冲器释放回CAL301或Bman326。
假设对于导致删除小区的所有场景,L2DLT和ULU线程将在其终结前执行必要的清理。作为清理的一部分,L2DLT和ULU线程应将其自身从CAL301注销。作为注销过程的一部分,CAL301需要执行诸如释放应用所获得(直接经由CALBuf服务获得或者由FMAN330或332隐式获得)的所有缓冲器的一些清理工作,并且删除相关联的环形缓冲器以及移除PCD规则(仅与快速路径的接收机相关)。
ULU和DLT可以使用CALMsg服务将其自身从CAL301注销。
在L2DLT或者L2ULU线程异常终止(例如,崩溃)的情况下,CAL301可以提供调试机制,由此经由LEC的服务收集并倾倒诸如缓冲器池统计和Tx/Rx以太网接口统计的各种CAL和DPAA资源。
上面的描述仅提供了本发明特定实施例的公开,而不旨在限制其等同物。同样地,本发明不限于仅上面描述的实施例。而且,认为本领域技术人员能够构思落入本发明范围内的替代性的实施例。

Claims (10)

1.一种多核处理器中的核抽象层,其包括:
初始化模块,向一个或多个帧管理器加载网络配置数据以及静态解析、分类和分配(PCD)规则,并且基于一组配置文件建立核抽象层框架;
缓冲器模块,为一个或多个层2应用提供无锁缓冲器管理服务;
消息模块,向层2软件提供向另一板发送用户面数据或从另一板接收用户面数据的零拷贝和无锁消息服务;
PCD模块,提供由帧管理器用于将入站帧路由到适当的核的PCD规则和配置;以及
数据路径加速架构(DPAA)跟踪模块,提供用于在DPAA驱动模块中开启和禁用跟踪的跟踪能力。
2.根据权利要求1所述的核抽象层,其中缓冲器模块实现并提供支持一个或多个以下服务的无锁应用编程接口,所述服务包括:
获取缓冲器;
获取给定数量的给定大小的缓冲器,然后返回可用缓冲器的列表直到所请求数量的缓冲器;
释放指定的缓冲器;
释放缓冲器的列表;以及
查询缓冲器池统计。
3.根据权利要求1所述的核抽象层,其中所述初始化模块、所述缓冲器模块、所述消息模块、所述PCD模块以及所述DPAA跟踪模块在用户空间下工作。
4.根据权利要求1所述的核抽象层,其中所述DPAA驱动模块在内核空间下工作。
5.根据权利要求1所述的核抽象层,其中所述DPAA驱动模块操作为提供一个或多个以下功能:
管理用于用户面数据分配的包括缓冲器池和帧队列的DPAA资源;
经由诸如打开、释放、用于初始化的i-o控制、缓冲器管理以及消息服务的文件操作,向其他CAL模块提供用户空间接口;
执行内核到用户空间的缓冲器映射;
提供DPAA缓冲器池以及接收机和发射机的统计数据;以及
实现用于管理环形缓冲器的服务。
6.一种用于在电信网络中提供多小区支持的装置,所述装置包括:
调制解调器板;以及
多核处理器,其包括依附在调制解调器板的多个处理器核和核抽象层,在多个处理器核中,单个分区利用包括于其中的所有处理器核定义,以及其中单个分区用来执行所有控制面功能和所有数据面功能;所述核抽象层将任何核具体细节都对运行在单个分区的处理器核上的应用软件隐藏,
其中核抽象层包括一个或多个以下模块:
初始化模块,向一个或多个帧管理器加载网络配置数据以及静态解析、分类和分配(PCD)规则,并且基于一组配置文件建立核抽象层框架;
缓冲器模块,为一个或多个层2应用提供无锁缓冲器管理服务;
消息模块,向层2软件提供向另一板发送用户面数据或从另一板接收用户面数据的零拷贝以及无锁消息服务;
PCD模块,提供由帧管理器用于将入站帧路由到适当的核的PCD规则和配置;
数据路径加速架构(DPAA)跟踪模块,提供用于在DPAA驱动模块中开启和禁用跟踪的跟踪能力。
7.根据权利要求6所述的装置,其中所述初始化模块、所述缓冲器模块、所述消息模块、所述PCD模块以及所述DPAA跟踪模块在用户空间下工作。
8.根据权利要求6所述的装置,其中所述DPAA驱动模块在内核空间下工作。
9.根据权利要求8所述的装置,其中所述DPAA驱动模块操作为提供一个或多个以下功能:
管理用于用户面数据分配的包括缓冲器池和帧队列的DPAA资源;
经由诸如打开、释放、用于初始化的i-o控制、缓冲器管理以及消息服务的文件操作,向其他CAL模块提供用户空间接口;
执行内核到用户空间的缓冲器映射;
提供DPAA缓冲器池以及接收机和发射机的统计数据;以及
实现用于管理环形缓冲器的服务。
10.根据权利要求6所述的装置,其中多核处理器被配置成服务于电信网络中的至少3个小区,每个小区具有相应的上行链路调度器和相应的下行链路调度器。
CN201180048838.2A 2010-10-14 2011-09-29 用于电信网络应用的核抽象层 Expired - Fee Related CN103154897B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/904,322 US20120093047A1 (en) 2010-10-14 2010-10-14 Core abstraction layer for telecommunication network applications
US12/904,322 2010-10-14
PCT/US2011/053804 WO2012050939A1 (en) 2010-10-14 2011-09-29 Core abstraction layer for telecommunication network applications

Publications (2)

Publication Number Publication Date
CN103154897A true CN103154897A (zh) 2013-06-12
CN103154897B CN103154897B (zh) 2016-08-03

Family

ID=45218140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180048838.2A Expired - Fee Related CN103154897B (zh) 2010-10-14 2011-09-29 用于电信网络应用的核抽象层

Country Status (6)

Country Link
US (1) US20120093047A1 (zh)
EP (1) EP2628081A1 (zh)
JP (1) JP5759006B2 (zh)
KR (1) KR101636308B1 (zh)
CN (1) CN103154897B (zh)
WO (1) WO2012050939A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533800A (zh) * 2016-12-16 2017-03-22 深圳市有方科技股份有限公司 一种实现终端网络适配的方法及rndis设备
CN106851667A (zh) * 2017-01-19 2017-06-13 京信通信系统(广州)有限公司 一种针对空口协议数据面的数据处理方法及装置
CN110753008A (zh) * 2018-07-24 2020-02-04 普天信息技术有限公司 基于dpaa的网络数据处理装置和方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054415A (ko) * 2009-11-17 2011-05-25 삼성전자주식회사 화면 표시 방법 및 장치
US8634302B2 (en) * 2010-07-30 2014-01-21 Alcatel Lucent Apparatus for multi-cell support in a network
US8504744B2 (en) 2010-10-28 2013-08-06 Alcatel Lucent Lock-less buffer management scheme for telecommunication network applications
US8737417B2 (en) 2010-11-12 2014-05-27 Alcatel Lucent Lock-less and zero copy messaging scheme for telecommunication network applications
US8730790B2 (en) 2010-11-19 2014-05-20 Alcatel Lucent Method and system for cell recovery in telecommunication networks
US8861434B2 (en) 2010-11-29 2014-10-14 Alcatel Lucent Method and system for improved multi-cell support on a single modem board
US9357482B2 (en) 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations
US10212101B2 (en) 2014-01-14 2019-02-19 Nant Holdings Ip, Llc Low level provisioning of network fabrics
US9917728B2 (en) * 2014-01-14 2018-03-13 Nant Holdings Ip, Llc Software-based fabric enablement
WO2015187965A1 (en) * 2014-06-05 2015-12-10 Huawei Technologies Co., Ltd System and method for real time virtualization
US20190114206A1 (en) * 2017-10-18 2019-04-18 Cisco Technology, Inc. System and method for providing a performance based packet scheduler
US11687400B2 (en) * 2018-12-12 2023-06-27 Insitu Inc., A Subsidiary Of The Boeing Company Method and system for controlling auxiliary systems of unmanned system
KR102420481B1 (ko) * 2019-12-10 2022-07-14 디노플러스 (주) 적응형 데이터 계측 가속화 기술을 이용한 저지연 클라우드 서비스제공장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545800A (zh) * 2001-08-22 2004-11-10 提维股份有限公司 多媒体信号处理系统
CN101071524A (zh) * 2006-05-13 2007-11-14 石河子开发区兆赫科技发展有限责任公司 电网载波集抄系统的actpis中间件及其所构成的电网载波集抄系统
US20080002681A1 (en) * 2006-06-30 2008-01-03 Symbol Technologies, Inc. Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL)
US7620753B1 (en) * 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115748A (en) * 1995-07-19 2000-09-05 Fujitsu Network Communications, Inc. Prioritized access to shared buffers
US6175914B1 (en) * 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
US6799200B1 (en) * 2000-07-18 2004-09-28 International Business Machines Corporaiton Mechanisms for efficient message passing with copy avoidance in a distributed system
US7089289B1 (en) * 2000-07-18 2006-08-08 International Business Machines Corporation Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US6735620B1 (en) * 2000-07-18 2004-05-11 International Business Machines Corporation Efficient protocol for retransmit logic in reliable zero copy message transport
JP2002050996A (ja) * 2000-07-31 2002-02-15 Sony Corp 整数倍相互関係を有するブロック長を用いて符号化された信号を通信伝送路を介して送信する通信システム
US7096034B2 (en) * 2001-10-01 2006-08-22 Microsoft Corporation System and method for reducing power consumption for wireless communications by mobile devices
JP2003271404A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd マルチプロセッサシステム
GB2411254B (en) * 2002-11-18 2006-06-28 Advanced Risc Mach Ltd Monitoring control for multi-domain processors
US7810124B2 (en) * 2003-01-28 2010-10-05 Thomson Licensing Robust mode staggercasting fast channel change
US7996839B2 (en) * 2003-07-16 2011-08-09 Hewlett-Packard Development Company, L.P. Heterogeneous processor core systems for improved throughput
EP1678920B1 (en) * 2003-10-15 2007-04-18 NTT DoCoMo, Inc. Apparatus and method for controlling an operation of a plurality of communication layers in a layered communication scenario
AU2003274013A1 (en) * 2003-10-15 2005-05-11 Ntt Docomo, Inc Apparatus and method for controlling an operation of a plurality of communication layers
US7206966B2 (en) * 2003-10-22 2007-04-17 Hewlett-Packard Development Company, L.P. Fault-tolerant multi-core microprocessing
US7474653B2 (en) * 2003-12-05 2009-01-06 Hewlett-Packard Development Company, L.P. Decision cache using multi-key lookup
US7370326B2 (en) * 2004-04-02 2008-05-06 Emulex Design & Manufacturing Corporation Prerequisite-based scheduler
US8644246B2 (en) * 2005-07-05 2014-02-04 Nokia Corporation Scheduling information at serving cell change
US20070113229A1 (en) * 2005-11-16 2007-05-17 Alcatel Thread aware distributed software system for a multi-processor
DE602005007620D1 (de) * 2005-12-14 2008-07-31 Ntt Docomo Inc Vorrichtung und Verfahren zur Bestimmung der Übertragungspolitik für mehrere und verschiedenartige Anwendungen
US7562258B2 (en) * 2006-02-09 2009-07-14 Arm Limited Generation of trace elements within a data processing apparatus
EP2005691A4 (en) * 2006-03-28 2013-02-20 Radisys Canada Inc MULTIMEDIA PROCESSING IN PARALLEL MULTI-DATA DATA PROCESSING ARCHITECTURES
EP2035928A2 (en) * 2006-06-30 2009-03-18 Symbol Technologies, Inc. Systems and methods for processing data packets using a multi-core abstraction layer (mcal)
US7493477B2 (en) * 2006-06-30 2009-02-17 Intel Corporation Method and apparatus for disabling a processor core based on a number of executions of an application exceeding a threshold
CN101106490B (zh) * 2006-07-11 2012-01-04 华为技术有限公司 预置流分类器的建立方法及其系统和用户终端
US20100296428A1 (en) * 2007-09-28 2010-11-25 Pin-Han Ho A robust system and method for wireless data multicasting using superposition modulation
US8453121B2 (en) * 2007-10-25 2013-05-28 International Business Machines Corporation Managing the tracing of the execution of a computer program
ES2659870T3 (es) * 2008-04-22 2018-03-19 Nokia Technologies Oy Agrupamiento de células para distribución de información de célula vecina eficiente
US7966519B1 (en) * 2008-04-30 2011-06-21 Hewlett-Packard Development Company, L.P. Reconfiguration in a multi-core processor system with configurable isolation
US8024417B2 (en) * 2008-06-04 2011-09-20 Microsoft Corporation Simple flow control protocol over RDMA
US20100029266A1 (en) * 2008-07-02 2010-02-04 Nokia Corporation System and methods for quality of experience reporting
US8191134B1 (en) * 2008-09-29 2012-05-29 Sonicwall, Inc. Lockless distributed IPsec processing
US8271996B1 (en) * 2008-09-29 2012-09-18 Emc Corporation Event queues
WO2010047545A2 (ko) * 2008-10-22 2010-04-29 엘지전자 주식회사 광대역 지원을 위한 다중 캐리어 결합 상황에서 효과적인 초기 접속 방식
KR101546780B1 (ko) * 2008-12-18 2015-08-25 삼성전자주식회사 광대역 무선통신 망에서 서비스 플로우 변경 시 오류 처리를 위한 장치 및 방법
US8099546B2 (en) * 2009-06-09 2012-01-17 Red Hat, Inc. Mechanism for a lockless ring buffer in overwrite mode
US8413153B2 (en) * 2009-06-12 2013-04-02 Freescale Semiconductor Inc. Methods and systems for sharing common job information
US8291430B2 (en) * 2009-07-10 2012-10-16 International Business Machines Corporation Optimizing system performance using spare cores in a virtualized environment
US8737262B2 (en) * 2009-11-24 2014-05-27 Red Hat Israel, Ltd. Zero copy transmission with raw packets
US8675577B2 (en) * 2010-12-20 2014-03-18 Intel Corporation Signaling techniques for a multimedia-aware radio and network adaptation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545800A (zh) * 2001-08-22 2004-11-10 提维股份有限公司 多媒体信号处理系统
US7620753B1 (en) * 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer
CN101071524A (zh) * 2006-05-13 2007-11-14 石河子开发区兆赫科技发展有限责任公司 电网载波集抄系统的actpis中间件及其所构成的电网载波集抄系统
US20080002681A1 (en) * 2006-06-30 2008-01-03 Symbol Technologies, Inc. Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FREESCALE SEMICONDUCTOR: "《QorIQTM P4080 Communications Processor Product Brief》", 30 September 2008 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533800A (zh) * 2016-12-16 2017-03-22 深圳市有方科技股份有限公司 一种实现终端网络适配的方法及rndis设备
CN106533800B (zh) * 2016-12-16 2019-12-06 深圳市有方科技股份有限公司 一种实现终端网络适配的方法及rndis设备
CN106851667A (zh) * 2017-01-19 2017-06-13 京信通信系统(广州)有限公司 一种针对空口协议数据面的数据处理方法及装置
WO2018133625A1 (zh) * 2017-01-19 2018-07-26 京信通信系统(中国)有限公司 一种针对空口协议数据面的数据处理方法及装置
CN106851667B (zh) * 2017-01-19 2019-07-02 京信通信系统(中国)有限公司 一种针对空口协议数据面的数据处理方法及装置
CN110753008A (zh) * 2018-07-24 2020-02-04 普天信息技术有限公司 基于dpaa的网络数据处理装置和方法

Also Published As

Publication number Publication date
KR20130056333A (ko) 2013-05-29
JP2014501054A (ja) 2014-01-16
JP5759006B2 (ja) 2015-08-05
US20120093047A1 (en) 2012-04-19
KR101636308B1 (ko) 2016-07-05
EP2628081A1 (en) 2013-08-21
CN103154897B (zh) 2016-08-03
WO2012050939A1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
CN103154897B (zh) 用于电信网络应用的核抽象层
JP5726320B2 (ja) 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム
US7788411B2 (en) Method and system for automatically reflecting hardware resource allocation modifications
TWI451339B (zh) 通信網路應用之無鎖及零拷貝發訊方法與設備
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN103229535B (zh) 电信网络中用于单元恢复的方法和系统
CN101741912A (zh) 一种处理计算任务的方法、网络设备及分布式网络系统
CN103109272A (zh) 用于电信网络中的多小区支持的装置
US10708198B1 (en) Methods and apparatus to reduce packet flooding and duplicate packets in a multi-fabric virtual network
Nagendra et al. MMLite: A scalable and resource efficient control plane for next generation cellular packet core
JP2011203810A (ja) サーバ、計算機システム及び仮想計算機管理方法
Kundu et al. Hardware acceleration for open radio access networks: A contemporary overview
CN113098705B (zh) 网络业务的生命周期管理的授权方法及装置
CN110875823B (zh) 一种业务面的数据处理系统及方法
WO2023059414A1 (en) Cloud radio access network agnostic to hyperscale cloud hardware
Zeng et al. CONTC: A Traffic Control System for Container Overlay Networks
WO2017088504A1 (zh) 一种虚拟化基站共享传输资源的方法及装置
CN116962263A (zh) 一种消息的接收、发送方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803

Termination date: 20170929

CF01 Termination of patent right due to non-payment of annual fee