OSDL's Linux Initiativesby Lynn de la Torre and Ibrahim Haddad, Philip Peake, John Cherry, Mary Edie Meredith
This article presents an overview of the initiatives at OSDL aiming to advance Linux adoption across multiple industries. We will cover the Carrier Grade Linux (CGL) initiative, the Data Center Linux (DCL) initiative, and the Desktop Linux (DTL) initiative.
Carrier Grade Linux--Accelerating Linux in Telecommunications
The vision of CGL is to deliver next-generation and multimedia communications services using Linux-based open standard platforms for Carrier Grade infrastructure equipment.
The telecommunications industry is undergoing enormous change as equipment providers migrate from proprietary platform architectures to open software environments and commercial off-the-shelf (COTS) platform architectures. They see open software and COTS hardware as the means for rapidly deploying new voice and data services while reducing capital expenses and operating costs, which allows equipment providers to stay competitive and profitable.
Figure 1. From proprietary to standards-based platforms
Carrier Grade Linux (CGL) stands at the center of the move to open architectures. About three years ago, a group of industry representatives from platform vendors, Linux distribution suppliers, and network equipment providers set out to define how "Carrier Grade Linux" could enable environments with higher availability, serviceability, and scalability requirements. This led to the formation of the Open Source Development Lab (OSDL) CGL working group.
Since its formation, the working group has produced three versions of a specification to define these required capabilities. In response, Linux distribution suppliers now demonstrate that they can meet the emerging needs of telecommunications by registering (disclosing publicly) how their products address the requirements defined in the Carrier Grade Linux Requirements Definition document.
Today, the CGL working group has grown to include more than three dozen representatives from platform vendors, Linux distribution suppliers, network equipment providers, carriers, and development community members worldwide. This expanded group has released version 3.1 of the CGL requirements. A technology version of the document was released in early 2005, and a version that can be registered will be released in the second half of the year, for 2006 registration. For clarity and ease of use, the group has split the specification into seven topical documents: Availability, Clustering, Serviceability, Performance, Standards, Hardware, and Security.
Figure 2: CGL scope and architecture
As CGL capabilities become available in mainstream implementations and distributions, Linux not only becomes more attractive for telecommunications applications, but the entire Linux community also benefits from a highly available, scalable, high-performance, and manageable Linux environment.
A quick overview of the CGL specifications:
- Availability--The CGL Availability Requirements Definition is a collection of requirements that address the robustness of a single computing node. Clustering individual computing nodes further enhances availability so that a node cannot represent a single point of failure.
- Clustering--These requirements support the use of multiple carrier server systems to provide higher levels of service availability through redundant resources and recovery capabilities, and to provide a horizontally scaled environment supporting increased throughput.
- Serviceability--The CGL Serviceability Requirements Definition specifies a set of useful and necessary features for servicing and maintaining a system. The serviceability requirements support servicing and managing hardware and software on carrier server systems. These are wide-ranging set requirements that, put together, help support the availability of applications and the operating system.
- Performance--The CGL Performance Requirements Definition is a collection of requirements for the Linux operating system that describe the performance and scalability requirements of typical communications systems. Key requirements include a system's ability to meet service deadlines; to scale to take advantage of symmetrical multiprocessing (SMP), hyperthreading technology, and large memory systems; and to provide efficient, low-latency communications.
- Standards--One goal of the CGL effort to achieve high Reliability, Availability, and Serviceability (RAS) and application portability is to leverage mature and well-established industry standards that are common and relevant to the Carrier Grade environment and include them as part of the CGL requirements. Open standards are important because they are freely available for any person or organization to use and because they can evolve with wide community feedback and validation. The CGL working group works actively with recognized standard bodies, such as the Linux Standard Base (LSB, a workgroup of the Free Standards Group) and the Service Availability Forum (SAForum). These organizations produce standards and specifications that address the RAS and application portability gaps between Linux as it exists today and where it needs to be to support highly available communications applications.
- Hardware--The CGL Hardware Requirements Definition specifies a set of generic requirements that are common across platform types. It includes support for blade servers, hardware management interfaces, and blade hot-swap events. To address the need to manage highly available Carrier Grade systems through hardware out-of-band mechanisms, it also describes management capabilities such as those found in the Intelligent Platform Management Interface (IPMI).
- 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 provide special mechanisms at kernel level to be used by telecom applications.