Telecom carriers are among the most demanding IT users on the planet, requiring real-time performance and the highest levels of dependability. It’s an area that MontaVista Software sees as being ripe for Linux.
Today, the company announced version 5.0 of its MontaVista Carrier-Grade Linux, and claims the release will add even more real-time and scalability features to an already-proven platform.
“NTT DoCoMo has been using Carrier-Grade Linux for 18 months and have reported ‘six nines’ [or 99.9999 percent] of reliability,” Dan Cauchy, MontaVista’s director of carrier and mobile marketing, told InternetNews.com. “That means they’ve had had less than 13 seconds of downtime in a year and a half, and that’s a major achievement for Linux.”
While that achievement for its Carrier-Grade Linux sounds impressive, Cauchy is confident that the new version of Carrier-Grade Linux will give the company more reasons to crow about its achievements.
MontaVista Carrier-Grade Linux 5.0 (CGL 5.0) is based on the 2.6.21 Linux
kernel with a few back-ported patches rolled in for improved real-time performance.
It also includes the GCC 4.2 compiler, which Cauchy said would improve application performance as well.
Cauchy also said CGL 5.0 represents the first Linux distribution to include real-time application patching, enabling users to apply binary patches to a running system without rebooting.
While the feature is expected to be made available as a GPL-licensed technology, Cauchy said he doesn’t expect it to be adopted by the mainstream kernel.org Linux kernel, since he believes it might affect a lot of low-level kernel items and could become very challenging to include in the mainstream kernel.
Another new feature in CGL 5.0 is an enhancement called Microstate Accounting, which is intended to provide more accurate reporting of CPU utilization. Cauchy said one of the common issues with Linux in general is that it doesn’t properly account for CPU utilization because its data is based on statistical sampling.
“The problem with statistical sampling is that it is statistical and not accurate,” Cauchy said. “If you take a statistical sample and your task starts running and then … ends running before the next sample, it will appear as though you’ve used zero percent CPU.”
Carriers can benefit from improved accuracy in measuring CPU utilization because it would better assist them in scaling systems, Cauchy said.
For instance, carriers use load balancing across hardware to implement graceful degradation, so that when a device is overloaded, neighboring devices can pick up the slack. If a network is dependent on today’s Linux CPU utilization numbers, its engineers may not be able to properly design for load balancing and graceful degradation.
“We’ve added Microstate Accounting to accurately measure CPU usage by accounting for every time a task is scheduled or removed and every time an interrupt is removed,” Cauchy said. “So we account for all CPU usage in the system.”
While MontaVista is pushing out its own Carrier-Grade Linux product, it also remains very active in the wider community effort to develop carrier-grade Linux specifications. Cauchy himself is chairman of the Linux Foundation’s Carrier-Grade Linux workgroup, which publishes a stringent list of requirements that vendors of carrier applications and environments must meet to be compliant.
The Carrier-Grade Linux Requirements Definition effort first got going in 2003 at the OSDL, with version 2.0 of the spec. Version 3.0 debuted in 2005, version 3.2 appeared in March 2006, and earlier this year, the Linux Foundation released version 4.0.
Cauchy said the Carrier-Grade Linux specifications are critical to the industry, with the latest 4.0 specs being especially important, since it added a review process.
“For 4.0, we have a review committee in place, so when a vendor puts up their registration, it is actually reviewed and if there is some trouble it’ll be found out,” he said.
Cauchy added that work is ongoing at improving the specifications, and said he expects version 5 in the near future.
He also said the group is seeking greater cooperation with the wider Linux community as well.
“We want to be friendlier with the kernel.org community,” Cauchy said. “If there are features and requirement that are carrier-grade-needs, we don’t want to have a specific carrier-grade branch of Linux. We want the work to happen in the mainline kernel and have the work benefit Linux as a whole.”