MontaVista, a wholly owned subsidiary of Cavium Networks, has released its MontaVista Carrier Grade Edition 6.0 (CGE 6), which is designed to deliver 99.99% availability out of the box. It includes a range of new features such as bare-metal Linux virtualization, which provides low-overhead, high-performance virtual machines suitable for data-plane applications on multicore processors (see the figure). The Enhanced Virtual Routing and Forwarding (VRF) subsystem is also part of CGE 6.
MontaVista’s virtualization scheme implements Linux containers, which have the minimum software necessary to run a single Linux application including the container’s own root file system with mapped I/O support. Bare-metal applications use the tickless timer capabilities, so there is no scheduler overhead within the container. This lightweight approach uses significantly less system overhead than a conventional virtual-machine manager like Kernel-based Virtual Machine (KVM), which is also supported.
Typically, data-plane applications will run within multiple containers while a more conventional symmetric multiprocessing (SMP) multitasking Linux environment will handle control-plane applications. All can coexist on the same multicore platform. Interprocess communication can utilize shared memory or hardware interfaces. VRF is implemented using containers.
CGE 6 incorporates the OpenSAF 4.0 High Availability middleware. This includes full AIS and host port interface (HPI) support as well as updated versions of OpenHPI and Transparent Inter-Process Communication (TIPC). The environment also supports the Cavium Networks EMVisor configuration tool.
MontaVista has packed this release with a number of enhanced software components such as its run-time application patching (RTAP), which enables developers to install a patch on a running system without shutting it down. Such changes need to be applied judiciously, but it is ideal for emergencies. It even works on the bare-metal container applications.
The field safe application debugger (FSAD) is more of a trace tool designed for application debugging. It allows trace points to be enabled on pre-linked applications. Designed for kernel debugging, the Flight Recorder Tool tracks critical system parameters such as scheduler history and saves them in a virtual black box available for analysis at a later time.
Application programmers will appreciate the microstate accounting support, which provides a more accurate timing mechanism than the one implemented in Linux that’s based on statistics. Microstate accounting tracks real-time usage, taking interrupts into account. This feature is available in open source but not as part of the Linux kernel at this point.
CGE 6 also meets the Carrier Grade Linux (CGL) 5.0 specification as well as the Linux Standard Base 4.0. The networking support includes IPv6. The system is based on the 2.6.32 Linux kernel and supports the x86, MIPS64, and PowerPC architectures. The platform supports dynamic throttling on the various platforms. MontaVista’s Eclipse-based integrated development environment (IDE), DevRocket, supports CGE 6 as well.