‘Bare Metal’ Linux gains data plane chops
Oct 27, 2011 — by Eric Brown — from the LinuxDevices Archive — viewsMontaVista Software has updated the MontaVista Linux “Bare Metal Engine” distribution with dynamically configurable data plane features. Bare Metal Engine (BME) offers a single development environment that can scale from high embedded Linux services down to the “near zero overhead” bare metal environments used in network packet processing, the company says.
MontaVista announced its Bare Metal Engine (BME) a year ago as an optional runtime for MontaVista Linux Carrier Grade Edition (CGE) 6.0 , the networking version of the MontaVista Linux embedded distribution. In April of this year MontaVista Linux CGE was registered as compliant to the Linux Foundation's Carrier Grade Linux (CGL) 5.0 specification.
In the latest announcement, however, there's no mention of MontaVista Linux CGE, suggesting that Bare Metal Engine may now be available as its own product. In addition, BME is said to have gained more data plane functionality, giving it further applicability to the parallel processing tasks in networking equipment.
Bare Metal Engine on a multicore system in MontaVista Linux CGE 6.0
(Click to enlarge)
With the updated BME, there's no need for the RTOS, argues MontaVista (a subsidiary of Cavium Networks, which specializes in networking processors). Cavium's MIPS-based Octeon II line of carrier-grade system on chips (SoCs) will be the first processors supported by BME, while Intel x86 and ARM processors will be supported "in the near future," says MontaVista.
"Bare-metal" typically refers to a stripped-down OS such as an RTOS that performs specific functions at top performance, communicating with processor hardware at a low level. BME was originally billed as a lightweight, configurable run-time environment that delivers RTOS performance inside a Linux environment, without the additional overhead of a hypervisor.
In its role within MontaVista Linux CGE, BME lets users create a dedicated environment to run Linux processes using CGE 6.0's Linux Containers, providing bare-metal execution and performance all in Linux. BME provides multiple configurations, letting users choose their own trade-off level between services and performance, says MontaVista.
BME is said to use real-time scheduling for prioritized execution, and supports ultra-low latency. It is claimed to be particularly suited to gaining the most efficiency from multicore processors, exploiting 99.999 percent of core processes, says the company.
Greater debug accessibility
Semiconductor firms with multicore networking processors typically supply a proprietary runtime executive for data plane functionality, according to MontaVista. The executives dedicate one or more of the SoC's processing cores to a data-plane application with minimal overhead in order maximize performance.
Although the executives avoid the overhead of letting Linux or another full-featured operating system run performance-sensitive operations like deep packet inspection, they also introduce a complex proprietary runtime environment that requires different compilers, argues MontaVista. In addition, the executives lack the sophisticated debug, trace, and analysis tools available with Linux. All this is said to complicate and extend the already complex task of developing and debugging multicore applications.
BME, however, delivers a common toolset for compiling, profiling, tracing, and debugging in both Linux and bare metal applications, claims MontaVista. In addition, it can easily be adapted for different SoC architectures compared to the executives, which are typically optimized for a particular SoC, says the company.
Hot swap capabilities
As network equipment scales to 40Gbps and 100Gbps performance, and as multicore SoCs are asked to run multiple applications simultaneously, "the next frontier for the data plane is the ability to dynamically reconfigure a line card for the changes in network demands," says MontaVista.
BME is optimized for just such a "hot swap" of bare metal applications, which can be done without affecting services, claims the company. With BME, networking systems can quickly reallocate SoC resources based on traffic demands without rebooting, claims MontaVista. This is said to include reallocations between the control plane and data plane, or even reallocating BME applications between IP Sec and IP Forwarding.
Availability
MontaVista's Bare Metal Engine is currently available for the Cavium Octeon II family of processors, with multicore Intel and ARM processor support available in the near future, says MontaVista. At this time, there appears to be no separate BME web page, but more information may be found at MontaVista's MontaVista Linux CGE product page.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.