Solid-State Disks: Pushing the Envelope in Blade Server Design

The Evolution of the CGL Specification

The CGL specification has gone through several official revisions and releases, and is currently evolving again. The first major release of the CGL specification was Version 1.0, released in August 2002. This was followed relatively quickly by CGL 1.1 in September 2002. CGL 2.0 was finalized in October 2003, primarily adding clustering and security requirements to the 1.1 specification and modifying the priority of some existing items. Work on a public draft of the CGL 3.0 specification is currently in progress and is expected to be completed in 2005.

For the most part, later versions of the CGL specification are a superset of previous versions. While the broad themes of the CGL specification have remained unchanged, the priorities of individual requirements may change across different versions of the specification. This is typically driven by factors such as the increasing maturity of a particular implementation of the requirement, mainstream acceptance of a particular technology or implementation, perceived importance, and so on. For example, support for both SCTP, the Stream Control Transport Protocol, and Remote Installation and Upgrade Support were priority 2 in the 1.1 specification and are priority 1 in the 2.0 specification.

While the general trend is to increase priorities, this is not always the case. The lack of a mature implementation of a particular capability, too much ambiguity in the requirement definition, or the emergence of new, more critical requirements may lessen the priority of certain requirements between consecutive versions of the CGL specification. Some requirements identified as priority 1 in the 1.1 specification, such as Device Driver Hardening Specification, a Resource Monitor Specification, were not brought forward into the CGL 2.0 specification. Some lower priority items from the 1.1 specification, such as debugging support for fork(), requirements related to High Concurrent Timer Scaling, kernel I/O performance analysis, and so on, were also dropped from the 2.0 specification.

The most significant way in which the 2.0 CGL specification differs from the 1.1 specification is the addition of detailed clustering and security requirements. Clustering is an inexpensive way to create reliable, recoverable, and fault-tolerant systems, by combining a highly integrated group of interoperable machines into a single, flexible computing resource known as a cluster. Clusters can dynamically respond to topological changes or the failure of any single resource within the cluster. Similarly, a cluster provides an inexpensive way to increase performance by taking advantage of distributed processing, computation, or even available computational cycles on an otherwise underused node in the cluster. Clustering technologies for Linux such as Beowolf, Scyld, and openMosix, have been in use for years, and no single solution for creating and managing Linux clusters has emerged as the "one true clustering solution." For this reason, and because clustering computing and data-sharing techniques continue to improve and stabilize, none of the clustering requirements in the CGL 2.0 specification are identified as priority 1 (mandatory) requirements.

As mentioned previously, maintaining and extending a living standard requires striking a good balance between wish lists, critical features, and the realities of implementation, integration, and support.

Previous Page | Next Page
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

If you found this page useful, bookmark and share it on:

 
Embedded Star Newsletter
Don't have time to visit Embedded Star everyday? Then sign up for our free newsletter. We'll send you an email when we have something to share with you. Your email address will be kept confidential and we will not share, sell, or rent it to anyone. You can unsubscribe at any time by clicking a link in the email.

Enter your email address to sign up for our free newsletter:   

If you are familiar with RSS feeds, you can also sign up for our free blog feed. Our RSS feed is updated in real-time while our newsletter is updated daily.