This invention relates to an apparatus for multi-cell support on a single modem board using a multi-core processor and a single partition symmetric multiprocessing (SMP) configuration. While the invention is particularly directed to the art of mobile telecommunications, and will be thus described with specific reference thereto, it will be appreciated that the invention may have usefulness in other fields and applications.
By way of background, LTE (Long Term Evolution) is a rapidly evolving 3GPP project that aims to improve the UMTS (Universal Mobile Telecommunications System) mobile phone standard to cope with future communication network demands. LTE improves wireless network efficiency/bandwidth, lower costs and enhance services experience. Specifically, LTE makes use of new spectrum opportunities and offer better integration with other open standards. LTE is composed of the LTE RAN (Radio Access Network) (also known as E-UTRAN) along with the EPS (Evolved Packet System, also called Evolved Packet Core).
Communication systems are generally split into two primary functions: data plane and control plane. In previous LTE products, at least two processors were used on the modem board: one to support the control plane functions (non-real time, e.g., Operations, Administration, and Management (or OA&M), and call processing management-related functionalities), and the other to terminate and support the data plane functions (real time, e.g., LTE Layer 2 processing). Both the control and data planes used different operating system (OS) instances, for example, Linux for the control plane and a hard real-time OS such as vXWorks (made and sold by Wind River Systems of Alameda, Calif.) for the data plane core. Typically, one modem board supports one sector or cell. So to support multi-cell (e.g., 3-cells or 6-cells) configurations, it is necessary to provide as many modem boards as the number of cells.
The present invention contemplates a new and improved apparatus that resolves the above-referenced difficulties and others.
With the next generation of LTE modem boards a processor with 8 cores is being used. This will allow the system to support a multi-cell configuration (i.e., support for up to 6 cells) using a single modem board. This will also obviate the need to use two separate processors on the modem board to support the control and data planes. This results in a significant reduction in the number of devices on the board. In addition, it will not be necessary to have separate DDR memory devices for the two processors, among other things. This new design approach will reduce cost because fewer modem boards will need to be plugged into the base station to support a multi-cell configuration. Another advantage of this solution is the reduction in the base station real estate footprint and less overall power consumption for the base station with the use of one modem board as opposed to up to six.
In one embodiment of the present invention, an apparatus for providing multi-cell support in a telecommunications network is provided. The apparatus includes a modem board and a multi-core processor having a plurality of processor cores attached to the modem board. At least one processor core is used to execute all control plane functions and the remaining processor cores are used to execute all data plane functions. Optionally, the multi-core processor may be configured to include a core abstraction layer that hides any core specific details from application software running on the processor cores. Additionally, the multi-core processor may be configured to include a supervisor software entity for fault isolation. In addition, the multi-core processor may be configured to serve at least three cells in the telecommunications network, each cell having a corresponding uplink scheduler and a corresponding downlink scheduler. The multi-core processor may have eight cores, and the first processor core may run a first operating system and the remaining processor cores may run individual instances of a second operating system.
In another embodiment of the present invention, an apparatus for providing multi-cell support in a telecommunications network is provided. The apparatus includes a modem board and a multi-core processor having a plurality of processor cores attached to the modem board. A single partition is defined with all of the processor cores included in it. The single partition is used to execute all control plane functions and all data plane functions. Optionally, the multi-core processor may be configured to include a core abstraction layer that hides any core specific details from application software running on the processor cores in the single partition. Further, the multi-core processor may be configured to serve at least three cells in the telecommunications network, each cell having a corresponding uplink scheduler and a corresponding downlink scheduler. The multi-core processor may comprise eight processor cores, and a single operating system instance may run on all of the cores. The single operating system instance may comprise SMP Linux with PREEEMPT_RT.
In yet another embodiment of the invention, an apparatus for providing multi-cell support with core affinity and core reservation in a telecommunications network is provided. The apparatus includes a modem board and a multi-core processor having a plurality of processor cores attached to the modem board and configured so that all non-real-time threads and processes are bound to processor cores that are dedicated for all control plane activities. Processor cores that are dedicated for all data plane activities will not host or run any threads that are not directly needed for data path implementation or Layer 2 processing. Optionally, the multi-core processor may be configured to include a default affinity mask to control plane cores or a core abstraction layer that hides any core specific details from application software running on the processor ores. A single operating system instance may run on all of the cores.
Further scope of the applicability of the present invention will become apparent from the detailed description provided below. It should be understood, however, that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications will become apparent to those skilled in the art without departing from the range of equivalents.
The present invention exists in the construction, arrangement, and combination of the various parts of the device, and steps of the method, whereby the objects contemplated are attained as hereinafter more fully set forth, specifically pointed out in the claims, and illustrated in the accompanying drawings in which:
Referring now to the drawings wherein the showings are for purposes of illustrating the exemplary embodiments only and not for purposes of limiting the claimed subject matter,
Scalability is a major design consideration for this multi-cell software architecture. Therefore, a configuration that can be easily scaled up or down without major software reconfiguration is needed. With multi-core processors, there are at least two choices of system configurations: a Supervised Asynchronous Multiprocessing (AMP) Configuration (
Supervised Asynchronous Multiprocessing (AMP) Configuration.
In the first embodiment, a partition containing at least one core to support the control plane functionality is defined, and as many partitions containing one or more cores for the data plane as the number of cells that are to be supported are defined. In this configuration, it is generally necessary to provide as many instances of the operating system (OS) as the number of partitions. In this configuration, there is a need to use another software entity called a hypervisor for proper system operation. The hypervisor ensures that one OS instance will not corrupt other partitions. However, the use of a hypervisor adds significantly to the cost, because it is typical for the OS vendor to demand a licensing fee for each instance of use. The use of at least two different types of OS (one for the control plane and the other for the data plane) makes maintainability, as well as cost, a factor of concern. Scalability is another factor of concern when this configuration is used. Reconfiguring the board to support more than 3 cells might not be feasible. Even if feasible, it might require a complex reconfiguration process that would take too much time to be carried out in the field, as a practical matter.
Seven AMP partitions (shown as 38, 40, 42, 44, 46, 48, 50 in the figure), one per each of the remaining seven cores, are for the data plane 52 running a second Operating System (OS2) 54.
All of the Layer 2 (L2) processing is done on the eight cores of the processor. The Data Link Layer is Layer 2 of the seven-layer OSI model of computer networking. The Data Link Layer is the protocol layer which transfers data between adjacent network nodes in a wide area network or between nodes on the same local area network segment. The Data Link Layer provides the functional and procedural means to transfer data between network entities and might provide the means to detect and possibly correct errors that may occur in the Physical Layer. Examples of data link protocols are Ethernet for local area networks (multi-node), the Point-to-Point Protocol (PPP), HDLC and ADCCP for point-to-point (dual-node) connections. In our case L2 refers to the L2 scheduler processing needed for the LTE air interface, which has very tight real time requirements.
All of the Layer 1 (L1) processing is done on the DSPs/FPGAs. A core abstraction layer (CAL) 56 hides the core specific details from the L2 application software.
The exemplary architecture also includes a supervisor software entity, such as a hypervisor 58, to ensure that all these partitions run independently and do not corrupt each other (i.e., to ensure fault isolation). A hypervisor is a software program used in virtualization. It allows several operating systems to run side-by-side on a given piece of hardware. Unlike conventional virtual-computing programs, a hypervisor runs directly on the target hardware. This allows both the guest operating systems and the hypervisor to perform much more efficiently. When running, the hypervisor presents all of the operating systems that run on top of it—the “guests”—with a virtualized version of all the system's hardware. This way, the guests cannot access hardware directly, and so any problems caused by one operating system's programs (or even by the OS itself) are isolated from any other OS. A list of possible hypervisors includes, but is not limited to, the following types: Xen (Citrix), KVM (kernel-based virtual machine), VMware ESX/vmkernel, Microsoft Hyper-V, PowerVM (IBM), Logical Domains/Oracle VM, and Wind River Hypervisor.
In this example, the processor 10 serves three cells (shown as 60, 62, and 64 in the figure). Each cell requires an uplink (UL) scheduler (shown as 66, 70, and 74 in the figure) and a downlink (DL) scheduler (shown as 68, 72, and 76 in the figure). Also included is an RLC/MAC block 78, which is the basic transport unit on the air interface that is used between the mobile and the network. It is used to carry data and RLC/MAC signaling.
A configuration using supervised asynchronous multiprocessing, as described above, offers the advantage of a clear separation between the control plane and the data plane. However, it might have limited scalability, and it might be relatively expensive due to hypervisor license fees. Even though it is possible to support a 3-cell configuration with this approach, it may be difficult to support a 6-cell configuration on an 8-core processor with this configuration.
SMP Configuration.
With reference now to
In this example, the processor 100 serves three cells (shown as 104, 106, and 108 in the figure). Each cell requires an uplink (UL) scheduler (shown as 110, 112, and 114 in the figure) and a downlink (DL) scheduler (shown as 116, 118, and 120 in the figure). Also included is an RLC/MAC block 122, which is the basic transport unit on the air interface that is used between the mobile and the network. It is used to carry data and RLC/MAC signaling. The processor 100 also provides OA&M 124 and BCS/UPS 126. A core abstraction layer (CAL) 128 hides the core specific details from the L2 application software.
In this configuration there is no need to use a hypervisor, since there is only OS instance running (a potential cost saving). Since the same OS is used for both the control and data planes, maintainability is also less problematic. Software does not need to be developed under different OS for the two planes (i.e., control and data). Another advantage of this configuration is scalability. That is, with this configuration, it is possible to support any configuration from a single cell to up to 6-cell support without the need for any reconfiguration.
To meet the real time performance needs of the base station, an OS such as SMP Linux with PREEMPT_RT patch may be used. Of course, it is to be understood that other operating systems may be used. It should also be noted that proprietary real time OS is more expensive to use. Since Linux is open source, the cost of using an SMP Linux with PREEMPT_RT provided by a tier 1 OS supplier such as Wind River or Montavista is significantly less than using any of their proprietary real time OS. These companies provide extensive testing of the open source Linux code, and they provide patch management. Consequently, going to such companies can alleviate concerns about any indemnification issues related to the open source Linux with PREEMPT_RT patch.
Cell recovery is much more complex in this configuration than in the supervised AMP configuration. In the supervised AMP confirmation, cell recovery, or start-up, could be easily done, by rebooting the cell specific data plane partition. Such a process, however, could not be done in an SMP configuration, as all the control and data planes are now under a single partition. A recovery mechanism must be implemented to ensure that the processes and threads associated with the specific cells are spawned or restarted as part of the cell recovery. Shared resources like buffers, etc. are to be tagged such that as part of the cell recovery the shared resources allocated to the specified cell are released properly.
The SMP configuration may tend to lose the deterministic behavior of the supervised AMP configuration. To achieve deterministic behavior in an SMP configuration, the system is preferably implemented in a manner that employs core reservation and core affinity constructs to achieve AMP-like system behavior. This is also desirable to get the best performance out of SMP Lunix with PREEMPT_RT OS, for example. (PREEMPT_RT OS is still not a hard real-time PS such as VxWorks.) Use of lockless zero copy services, such as buffer management services, may also help address any latency issues that are posed by the use of SMP Linux with PREEMPT_RT OS.
The real time process/threads corresponding to a given cell are bound via core reservation and core affinity to the specified cores. For example, Cell 1 and Cell 4's UL Scheduler thread is bound to core 2, and DL scheduler thread is bound to core 3.
Thus,
To summarize, an implementation of the present invention uses all of the processor cores in one partition. This will require the use of only one OS instance, and no need to use a hypervisor. Since it may be difficult for simple Linux to meet all of the hard real-time processing needs, an OS such as SMP Linux with PREEMPT_RT patch is preferred. An open source OS is also used to reduce the cost. The system further incorporates core affinity and CPU reservation capabilities of SMP Linux to define an AMP like system behavior within the SMP configuration, which permits 6-cell or even 9-cell configurations.
It is to be appreciated that in connection with the particular exemplary embodiments presented herein certain structural and/or functional features are described as being incorporated in defined elements and/or components. However, it is contemplated that these features may, to the same or similar benefit, also likewise be incorporated in other elements and/or components where appropriate. It is also to be appreciated that different aspects of the exemplary embodiments may be selectively employed as appropriate to achieve other alternate embodiments suited for desired applications, the other alternate embodiments thereby realizing the respective advantages of the aspects incorporated therein.
It is also to be appreciated that particular elements or components described herein may have their functionality suitably implemented via hardware, software, firmware or a combination thereof. Additionally, it is to be appreciated that certain elements described herein as incorporated together may under suitable circumstances be stand-alone elements or otherwise divided. Similarly, a plurality of particular functions described as being carried out by one particular element may be carried out by a plurality of distinct elements acting independently to carry out individual functions, or certain individual functions may be split-up and carried out by a plurality of distinct elements acting in concert. Alternately, some elements or components otherwise described and/or shown herein as distinct from one another may be physically or functionally combined where appropriate.
In short, the present specification has been set forth with reference to preferred embodiments. Obviously, modifications and alterations will occur to others upon reading and understanding the present specification. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalent thereof. That is to say, it will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications, and also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are similarly intended to be encompassed by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5408464 | Jurkevich | Apr 1995 | A |
5913230 | Richardson | Jun 1999 | A |
6115748 | Hauser et al. | Sep 2000 | A |
6735620 | Blackmore et al. | May 2004 | B1 |
6799200 | Blackmore et al. | Sep 2004 | B1 |
6999432 | Zhang et al. | Feb 2006 | B2 |
7003042 | Morelos-Zaragoza et al. | Feb 2006 | B2 |
7089289 | Blackmore et al. | Aug 2006 | B1 |
7093013 | Hornok, Jr. et al. | Aug 2006 | B1 |
7096034 | Zhang et al. | Aug 2006 | B2 |
7180866 | Chartre et al. | Feb 2007 | B1 |
7206966 | Barr et al. | Apr 2007 | B2 |
7352693 | Seid et al. | Apr 2008 | B2 |
7451456 | Andjelic | Nov 2008 | B2 |
7571440 | Vessey et al. | Aug 2009 | B2 |
7590050 | Foltak | Sep 2009 | B2 |
7603256 | Cheng et al. | Oct 2009 | B2 |
7609652 | Kellerer et al. | Oct 2009 | B2 |
7620753 | Beaman et al. | Nov 2009 | B1 |
7656815 | Kellerer et al. | Feb 2010 | B2 |
7668191 | Steinback et al. | Feb 2010 | B2 |
7831710 | Ing et al. | Nov 2010 | B2 |
7873964 | Huang et al. | Jan 2011 | B2 |
7933197 | Bryant et al. | Apr 2011 | B2 |
7953915 | Ge et al. | May 2011 | B2 |
8024417 | Mehrotra | Sep 2011 | B2 |
8059532 | Riddle et al. | Nov 2011 | B2 |
8072879 | Vasseur et al. | Dec 2011 | B2 |
8099546 | Rostedt | Jan 2012 | B2 |
8271996 | Gould et al. | Sep 2012 | B1 |
8504744 | Khawer et al. | Aug 2013 | B2 |
20020087710 | Aiken et al. | Jul 2002 | A1 |
20030188233 | Lubbers et al. | Oct 2003 | A1 |
20040062246 | Boucher et al. | Apr 2004 | A1 |
20040081080 | Ji et al. | Apr 2004 | A1 |
20040187117 | Orion et al. | Sep 2004 | A1 |
20050008011 | Georgiou et al. | Jan 2005 | A1 |
20050111389 | Dick et al. | May 2005 | A1 |
20060003792 | Gholmieh et al. | Jan 2006 | A1 |
20060041737 | Kumagai | Feb 2006 | A1 |
20060046819 | Nguyen et al. | Mar 2006 | A1 |
20070010281 | Sebire | Jan 2007 | A1 |
20070104204 | Brokenshire et al. | May 2007 | A1 |
20070195723 | Attar et al. | Aug 2007 | A1 |
20070220294 | Lippett | Sep 2007 | A1 |
20080002681 | Bajic et al. | Jan 2008 | A1 |
20080002702 | Bajic et al. | Jan 2008 | A1 |
20080107014 | Huang et al. | May 2008 | A1 |
20080276056 | Giacomoni et al. | Nov 2008 | A1 |
20090055826 | Bernstein et al. | Feb 2009 | A1 |
20090080369 | Uminski et al. | Mar 2009 | A1 |
20090097397 | Moreira Sa de Souza | Apr 2009 | A1 |
20090122756 | Gu et al. | May 2009 | A1 |
20090207726 | Thomson et al. | Aug 2009 | A1 |
20090228890 | Vaitovirta et al. | Sep 2009 | A1 |
20090248934 | Ge et al. | Oct 2009 | A1 |
20100008218 | Dumov et al. | Jan 2010 | A1 |
20100029266 | van Gassel et al. | Feb 2010 | A1 |
20100080116 | Agashe et al. | Apr 2010 | A1 |
20100121975 | Sinha et al. | May 2010 | A1 |
20100157814 | Ha et al. | Jun 2010 | A1 |
20100184432 | Yano et al. | Jul 2010 | A1 |
20100278038 | Stahle et al. | Nov 2010 | A1 |
20100295859 | Stauffer et al. | Nov 2010 | A1 |
20100296428 | Ho | Nov 2010 | A1 |
20100315561 | Cooper et al. | Dec 2010 | A1 |
20100318996 | Harris et al. | Dec 2010 | A1 |
20100322067 | Tenny | Dec 2010 | A1 |
20100322250 | Shetty et al. | Dec 2010 | A1 |
20100331056 | Nasrabadi et al. | Dec 2010 | A1 |
20110044165 | Ni et al. | Feb 2011 | A1 |
20110069650 | Singh et al. | Mar 2011 | A1 |
20110093733 | Kruglick | Apr 2011 | A1 |
20110122884 | Tsirkin | May 2011 | A1 |
20110138387 | Ahn et al. | Jun 2011 | A1 |
20110292824 | Uemura et al. | Dec 2011 | A1 |
20120069728 | Jung et al. | Mar 2012 | A1 |
20120079290 | Kumar et al. | Mar 2012 | A1 |
20120093047 | Khawer et al. | Apr 2012 | A1 |
20120110223 | Khawer et al. | May 2012 | A1 |
20120120965 | Khawer et al. | May 2012 | A1 |
20120131376 | Khawer et al. | May 2012 | A1 |
20120134320 | Khawer et al. | May 2012 | A1 |
20120155398 | Oyman et al. | Jun 2012 | A1 |
20120207011 | Franklin et al. | Aug 2012 | A1 |
20130017854 | Khawer | Jan 2013 | A1 |
20130061231 | Zhang et al. | Mar 2013 | A1 |
20130117305 | Varakin et al. | May 2013 | A1 |
Number | Date | Country |
---|---|---|
1 788 491 | May 2007 | EP |
WO 0163416 | Aug 2001 | WO |
WO 0207464 | Jan 2002 | WO |
WO 2005098623 | Oct 2005 | WO |
WO 2008005793 | Jan 2008 | WO |
Entry |
---|
US 6,014,703, 01/2000, McCrory et al. (withdrawn) |
International Search Report dated Dec. 2, 2011. |
“Emerson Network Power: AMC-9210 AdvancedMC Module Preliminary Data Sheet”, http://www.powerbridge.de, Jun. 1, 2008, pp. 1-3. |
Freescale Semiconductor; QorIQ™ P4080 Communications Processor Product Brief; Sep. 2008; Freescale Semiconductor, Inc.; Rev. 1; pp. 2-5, 14-15, 19-22, 28-29. |
RapidIO Trade Association; RapidIO™ Interconnect Specification; Jun. 2002; RapidIO™ Trade Association; Rev. 1.2; p. II-10. |
Siu, Sam, “An Introduction to the QorIQ™ Data Path Acceleration Architecture (DPAA)”; Jun. 23, 2010; Freescale Semiconductor, Inc; FTF-NET-F0444; pp. 1-21. |
Wang, Shrek; An Introduction to the QorIQ™ Data Path Acceleration Architecture (DPAA); Aug. 2009; Freescale Technology Forum; 1-12. |
Palaniappan, Sathish K., et al., “Efficient data transfer through zero copy”, IBM Corporation, Sep. 2008. |
International Search Report dated Oct. 24, 2012. |
Freescale Semiconductor; QorlQ™ P4080 Communications Processor Product Brief; Sep. 2008; Freescale Semiconductor, P4080PB; Rev. 1, p. 1-33. |
Number | Date | Country | |
---|---|---|---|
20120028636 A1 | Feb 2012 | US |