There are many reasons motivating the usage of Linux Kernel as the operating system of choice for telecom platforms. However, the vanilla Linux Kernel is not really tailored to run on carrier-grade platforms, or meeting telecom requirements in various areas such as reliability, security, and scalability. To help the advancement of Linux in the telecom space, the Open Source Development Labs (OSDL) started a working group called the Carrier Grade Linux (CGL) working group. Its mission is to specify and help implement an open source platform that is highly available, secure, scalable, and easily maintained—suitable for carrier-grade systems.
The CGL working group includes network equipment providers, system integrators, platform providers, and Linux distributors. All members contribute to the requirement definition and current requirement projects or work on new open source projects to meet the requirements. Many of these members have contributed technology previously missing from the Linux Kernel to make it a more viable option for telecom platforms. Two distributors already provide distributions based on CGL requirement definitions. Several telecom-related companies are deploying CGL or at least evaluating or experimenting with it.
In general terms, Linux is gaining penetration in the telecom space, previously dominated by proprietary operating systems. Linux is also gaining some technologies opened up by contributors wanting to see Linux powering telecom platforms. If you are a Linux advocate, you may be excited by the idea that Linux is going places it never has been before. Some colleagues might even be excited to see this pushing Linux one step ahead in world domination.
|Linux/Unix System Administration Certification -- Would you like to polish your system administration skills online and receive credit from the University of Illinois? Learn how to administer Linux/Unix systems and gain real experience with a root access account. The four-course series covers the Unix file system, networking, Unix services, and scripting. It's all at the O'Reilly Learning Lab.|
Many of the CGL member companies are releasing code to open source and making some of their (usually) proprietary technologies "open" to ease their transitions from closed platforms to open platforms that use Linux. If you are a network equipment provider or a mobile operator, you might experience some advantages with deploying Linux because of the openness it provides. However, this is a complex process and it requires a lot of collaborative work from all the people involved.
In this article, I will introduce the new wave of migrating towards open platforms. Next, I will briefly describe some of the essential characteristics of telecom applications; it is important to understand the requirements imposed at the kernel level. I will then mention some of the advantages driving the migration from proprietary operating systems to Linux. The rest of the article is focused on OSDL, the Carrier Grade Linux working group, the CGL architecture, CGL specifications, and CGL Kernel. We conclude with a look at the upcoming CGL version 3.0.
Historically, communication and data service networks were built on proprietary platforms that had to meet very specific availability, reliability, performance, and service response time requirements. However, these proprietary platforms are closed systems, expensive to develop, and often lack support for the current and upcoming standards.
Today, the communications industry is moving away from proprietary systems towards open and standardized systems, starting from the hardware, moving to the operating system, and going one level higher with standardized high availability middleware. Communications service providers have the challenge of meet their needs cost-effectively for new architectures, new services, and increased bandwidth, while maintaining systems that are highly available, scalable, secure, reliable, and easy to maintain and upgrade.
The trend is to deliver next generation and multimedia communication services that use open standard carrier-grade platforms, using commercial off-the-shelf software and hardware components. Making the transition to packet-based, converged, multi-service IP networks requires a carrier-grade infrastructure based on interoperable hardware and software building blocks, management middleware and applications, and which is implemented with standard interfaces. The motivation behind this trend is simple; businesses expect that open platforms will to reduce the cost and risks of developing and delivering rich communications services; they will enable faster time to market and ensure portability and interoperability between various components from different providers.
We use the term "carrier grade" often throughout this article. Carrier grade is a term for public network telecommunications products that require a reliability percentage up to 5 or 6 nines. Carrier Class servers usually require 5 nines, or 99.999 percent uptime, while Carrier Class switches usually need 6 nines, or 99.9999 percent uptime.
Three key industry consortia are helping push this trend by defining hardware and software high-availability specifications to telecom platforms. These consortia are the PCI Industrial Computer Manufacturers Group, the Open Source Development Labs, and the Service Availability Forum.
Of these groups, the OSDL Carrier Grade Linux (CGL) working group defines specifications for an operating system with carrier-grade characteristics and tools to support the software development for carrier-grade systems.
Telecom platforms require the highest availability and scalability in existing and future IP multimedia networks. They must offer extremely high reliability, with linearly scalable capacity and real-time characteristics. Examples of such platforms include the home location register (HLR), network resource gateway (NRG), media gateway control function (MGCF), new multimedia servers, and authentication, authorization and accounting (AAA) servers. These nodes, typically located in the center of a network, must provide superior in-service performance and be allowed to grow in capacity. They include central databases containing essential user data, traffic data, and charging data.
As such, telecom platforms have very strict requirements. We will mention the most important requirements that are in line with this article to illustrate the high expectations in some areas from the operating system:
Highly available: these platforms are meant to provide non-stop services. The allowable 30 seconds of down time per year includes operation and maintenance, rebooting, and software and kernel upgrades.
Online operating system and application upgrade: Since these systems must operate round the clock without any system interruption or disturbance, there must exist some mechanisms to upgrade the kernel and the running applications to newer versions without any system interruption.
Highly scalable: These platforms are expected to be very scalable: any additions in hardware and resources should produce relative additions in performance. For example, if we double the number of processors, we expect almost to double the throughput of the system. Otherwise, the costs of transactions will increase as you scale up your system.
Highly reliable: The platform must support redundancy software and hardware mechanisms to prevent any single point of failure.
High performance: The platform should be able to manage millions of subscribers, handling thousands of transactions per second per node while maintaining a certain level of performance.
These are the five basic requirements that need support at the operating system level.
In this section, we will briefly describe the key reasons motivating the use of Linux on carrier-grade systems instead of continuing with proprietary operating systems. These motivations include:
Cost: Linux is available free of charge in the form of a downloadable package from the Internet.
Availability of source code: With Linux, you gain full access to the source code allowing you to tailor the kernel to your needs.
Ability to add and contribute to the kernel: With Linux, you have the ability to contribute your own code to the kernel.
Open development process, as shown in Figure 1: The development process of the kernel is open to anyone to participate and contribute. The process is based on the concept of "release early, release often".
Peer review and testing resources: With access to the source code, people using a wide variety of platforms, operating systems, and compiler combinations can compile, link, and run the code on their systems to test for portability, compatibility, and bugs.
Vendor independent: With Linux, you no longer have to be locked into a specific vendor. Linux is supported on multiple platforms.
High innovation rate: New features are usually implemented on Linux before they are available on commercial or proprietary systems.
Other contributing factors include Linux support for a broad range of processors and peripherals, the availability of commercial support, its high performance networking, and the proven record of being a stable, and reliable server platform.
Figure 1. Open Development Process
OSDL is a nonprofit organization founded in 2000 to accelerate the growth and adoption of Linux in the enterprise. It is sponsored and supported by a several IT and telecom industry leaders and provides state-of the-art computing and test facilities in the United States and Japan to developers around the world.
The OSDL has three working groups. The Data Center working group came together in August 2002 to develop the roadmap for Linux platform software that supports commercial software products and corporate IT requirements. This should enable developers to create Linux-based solutions for the data center market segment.
The Carrier Grade Linux (CGL) working group was established in January 2002 with the goal of enhancing the Linux operating system to achieve an open source platform that is highly available, secure, scalable, and easily maintained, suitable for carrier-grade systems. This article will focus on the activities conducted in this working group.
The Desktop Linux working group is the latest initiative from OSDL. They announced this group during LinuxWorld Conference & Expo on January 20, 2004. The working group will focus on greater use of Linux on desktops throughout the enterprise. The goal of this initiative is to create a forum to study a range of desktop usage models and to recommend improvements to encourage broader Linux adoption.
CGL working group is a forum of industry leaders to support and accelerate the development of Linux functionality for telecommunication applications. The key participants include network equipment providers (Alcatel, Cisco, Ericsson, Fujitsu, Hitachi, Nokia, NTT Group), system integrators (HP, IBM, Sun), platform providers (Intel, Force Computers), Linux distributors (MontaVista, Miracle Linux, SuSE, Turbolinux), and independent contributors.
The CGL charter is available online (PDF). The working group has the vision that Linux-based open standards platforms for carrier-grade infrastructure equipment can deliver next-generation and multimedia communication services. To achieve this vision, the working group works to define the requirements and architecture for the Carrier Grade Linux platform, to develop a roadmap for the platform, to promote development of a stable platform upon which to deploy commercial components and services. The group has identified three main categories of application areas onto which they expect the majority of applications implemented on CGL platforms to fall. These application areas are gateways, signaling servers, and management servers.
In the course of achieving this strategy, the OSDL CGL working group, as part of creating the requirement definitions, is also identifying existing open source projects that support the roadmap and implement required components and interfaces of the platform. When there is no open source project to support a certain requirement, the group launches (or supports the launch of) new open source projects to implement missing components and interfaces of the platform. One such project is the OSDL Cluster project.
The CGL working group consists of three distinct subgroups:
The specifications subgroup defines requirements that lead to enhancements in the Linux operating system that are useful for carrier-grade implementations and applications. The group collects requirements from participants and categorizes and prioritizes the requirements to allow reasonable work to proceed on implementations. The group also interacts with other standards bodies, open source communities, developers, and distributions to ensure that the requirements identify useful enhancements in such a way that they can be adopted into the base Linux Kernel.
The Proof-of-Concept subgroup solicits, consolidates, approves, and generates documents covering the design of Carrier Grade Linux features and technology relevant to Carrier Grade Linux. It drives the implementation and integration of core Carrier Grade enhancements to Linux as identified and prioritized by the requirements document. The group is also responsible for ensuring the integrated enhancements pass the Carrier Grade Linux validation test suite and for establishing and leading an open source umbrella project to coordinate implementation and integration activities for Carrier Grade Linux enhancements.
The validation subgroup defines standard test environments for developing validation suites. It coordinates the development of validation suites to ensure proper coverage of all of the Carrier Grade Linux requirements. This group also develops an open source project CG-Linux validation suite.
The CGL Working Group scope covers two areas, as Figure 2 illustrates:
Carrier Grade Linux: CGL enhancements to the operating system relate to various requirements listed in later sections such as availability and scalability. Enhancements may also be made to hardware interfaces, interfaces to the user level or application code, and interfaces to development and debugging tools. In some cases, user-level libraries need changes to access the kernel services.
Software Development Tools: These tools include debuggers and analyzers.
Figure 2. Scope of OSDL CGL Working Group
On October 9, 2003, OSDL announced the availability of the OSDL Carrier Grade Linux Requirements Definition version 2.0 (CGL 2.0). This latest requirement definition for next-generation, carrier-grade Linux offers major advances in security, high availability, and clustering.
The specifications focus on high availability, performance and reliability, and service availability, and they promote portability (consistent interfaces and functionality) and ease of programming for telecom developers looking to implement Linux in an equipment design. The specifications will ensure that companies have choices for Carrier Grade Linux that all meet the specifications, support a rich set of high availability features, and have consistent interfaces and functionality.
The requirement definition version 2.0 (PDF) introduced new and enhanced features to support Linux as a carrier-grade platform. The CGL requirement definition divides the requirements in main categories, described briefly below:
Clustering: The clustering requirements support the use of multiple carrier-server systems to support higher levels of service, availability through redundant resources and recovery capabilities, and to provide a horizontally scaled environment supporting increased throughput.
Security: The security requirements aim at maintaining a certain level of security while not endangering the goals of high availability, performance, and scalability. The requirements support the use of additional security mechanisms to protect the systems against attacks from both the Internet and Intranets and to provide special mechanisms at the kernel level for telecom applications.
Standards: OSDL CGL specifies required standards for compliance with carrier-grade server systems. These standards include Linux Standard Base, POSIX Timer Interface, POSIX Signal Interface, POSIX Message Queue Interface, POSIX Semaphore Interface, Event Logging POSIX IEEE 1003.25, IPv6 RFCs compliance, IPsecv6 RFCs compliance, MIPv6 RFCs compliance, SNMP support, and POSIX threads.
Platform: OSDL CGL specifies requirements that support interactions with the hardware platforms making up carrier-server systems. Platform capabilities are not tied to a particular vendor's implementation. Examples of the platform requirements include hot insert support, hot remove support, remote boot support, boot cycle detection, support for diskless systems, support for serial console connection, and support for loading proprietary modules.
Availability: The availability requirements support heightened availability of carrier-server systems, such as improving the robustness of software components or by supporting recovery from hardware or software failure. Examples of these requirements include support for watchdog timer interface, application heartbeat monitor, Ethernet link aggregation and link failover, support for RAID1, support for resilient file system, and support for disk and volume management.
Serviceability: These requirements support servicing and managing hardware and software on carrier-server systems. These are wide-ranging set requirements that, when combined, support the availability of applications and the operating system. These requirements include support for kernel dumps, kernel message structuring, dynamic debugging, support for platform signal handler, and remote access to event logs.
Performance: OSDL CGL specifies the requirements that support performance levels necessary for the environments expected to be encountered by carrier-server systems. Examples of these requirements include support for soft, real-time, pre-emptible kernel support, Raid 0 support, and support for application (pre) loading capabilities.
Scalability: These requirements support vertical and horizontal scaling of carrier-server systems such that addition of hardware resources results in acceptable increases in capacity.
Tools: The tools requirements provide capabilities to facilitate diagnosis such as supporting debugging of multi-threaded programs and supporting tools to enable enhanced analysis of kernel dumps.
Carrier Grade Linux is a new flavor of Linux that is more robust than the garden-variety enterprise Linux. It promises to provide a standards-based, open-architecture software platform for converging telecommunications.
The communications industry requires several enhancements to the Linux Kernel to help them adopt Linux on their carrier-grade platforms and support their telecom applications. As seen in Figure 3, these enhancements fall into the categories of availability, security, serviceability, performance, scalability, reliability, standards, and clustering.
Figure 3. Carrier Grade Linux
The implementations providing these enhancements are open source projects. They will integrate with the Linux Kernel when the implementations are mature and ready for merging with the kernel code. In some cases, bringing some projects into maturity levels takes a considerable amount of time. Nevertheless, some of the enhancements plan to merge in the kernel 2.7 series. Other enhancement will follow in later kernel releases. Meanwhile, all enhancements, in the form of packages, kernel modules, and patches, are available from their respective project web sites.
The CGL 2.0 requirements are in line with the Linux development community. The purpose of this project is to form a catalyst to capture common requirements from end users for a Carrier Grade Linux distribution. With a common set of requirements from the major Network Equipment Providers, developers can be much more productive and efficient within development projects. Many individuals within the CGL initiative are also active participants in the development community.
Work on the next version of the OSDL CGL requirements, version 3.0, started in January 2004 with focus on advanced requirement areas such as manageability, serviceability, tools, security, standards, performance, hardware, clustering and availability. With the success of CGL's first two requirement documents, the CGL working group anticipates that their third version will be very beneficial to the Carrier Grade ecosystem. They expect an official release in October 2004.
Carrier Grade Linux is an initiative to advance Linux in the communications space and to provide an open alternative to proprietary carrier-grade operating systems. Carrier Grade Linux has been a success since its inception, with many distributors providing Carrier Grade Linux distributions and many deployments in both the IT and communication industry.
Participation in OSDL CGL is open to everyone, whether representing a company or as an individual contributor. To participate, contribute, or just read more, please visit the OSDL web site.
Ibrahim Haddad is the Director of Technology for the Software Operations Group (Home & Network Mobility Business Unit) at Motorola Inc.
Return to the LinuxDevCenter.com.
Copyright © 2009 O'Reilly Media, Inc.