OSDL's Carrier-Grade Linux
Pages: 1, 2
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
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.