Unbreakable Enterprise Kernel Release 2

Fast, Modern, Reliable, Optimized for Oracle

The Unbreakable Enterprise Kernel Release 2 is Oracle's second major release of its heavily tested and optimized operating system kernel for Oracle Linux 5 and Oracle Linux 6.

Despite identifying itself as version 2.6.39, the Unbreakable Enterprise Kernel Release 2 is in fact based on the mainline Linux kernel version 3.0.36 and boasts a wide range of new features and improvements relevant for enterprise workloads. The version number change was made to avoid potential problems with certain low-level system tools that depend on the kernel version number. It does not affect regular applications.

Testing of the Oracle Unbreakable Enterprise Kernel includes both the operating system and the full Oracle application stack running on top of it, verifying stability and correct behavior in all situations. The test suite includes installation, functional, stress and destructive tests, which are executed under varying workloads (e.g. I/O or CPU intensive), with various database sizes. Several parameters are varied during the full run of the test suites, which also include crash scenarios in Oracle Real Application Cluster configurations.

Some of the key features and changes in this release include:

Btrfs File System

Btrfs provides a flexible way to manage storage, without needing a separate volume manager. It provides built-in RAID support and ensures data integrity by using redundancy and checksums. Btrfs also supports lightweight copies/clones of files or directories with snapshots as well as online data compression.

Other key features of Btrfs include:

  • Extreme scale, up to 16 Exabyte volume size (theoritical maximum)
  • Simplified administration
  • Online adding and removal of devices
  • Defragmentation and scrubbing
  • Optimized for SSD
  • Supports mixed device types
  • Billions of subvolumes and snapshots
  • Transparent compression
Performance and Scalability Improvements

The Linux kernel was improved and refined in many areas to perform better and faster on systems with many CPUs and large amounts of main memory. This includes improvements to the scheduler, memory management, file system layers and the networking stack. The outstanding performance of the Unbreakable Enterprise Kernel Release 2 has been proven in two recent TCP-C Benchmarks:

Virtualization Improvements The Unbreakable Enterprise Kernel Release 2 includes improved support for running Oracle Linux as a guest VM in both para-virtualized and hardware-virtualized configurations. The same kernel image is suitable for both "bare metal" installs as well as guest installations in virtual machine environments, which makes it easier to migrate Oracle Linux installations between physical and virtual environments.
Transparent Huge Pages This feature better utilizes the memory management capabilities of modern CPUs by organizing the kernel memory in 2MB pages instead of 4KB. This reduces the overhead involved in managing memory pages significantly. Frequently accessed virtual addresses for memory-intensive workloads can be better cached, making page-table walks much faster. Also, this is more flexible and less error-prone than setting up huge pages with tlbfs manually.
Memory Compaction Reduces external memory fragmentation in a memory zone by trying to move used pages into a new big block of contiguous pages. This makes it easier for the Linux kernel to allocate bigger chunks of memory. The amount of I/O required to satisfy a huge page allocation is reduced significantly.
Transmit Packet Steering Spreads outgoing network traffic across CPUs on multi-queue devices by selecting a transmit queue during packet transmissions and then mapping the CPU transmitting the packet to a queue. This can improve network throughput significantly.
Cgroups Improvements Cgroups give administrators fine-grained control over resource allocations, helping to make sure that applications get what they need to deliver consistent response times and adequate performance. The Unbreakable Entperise Kernel Release 2 added new controllers that provide the ability to control disk bandwidth allocation and to set upper read/write limits to a group of processes. It also includes a new feature that supports "process grouping", allowing changes to the way a process scheduler assigns shares of CPU time to each process. This can improve the responsiveness of applications under certain load conditions.
OCFS2 Improvements OCFS2, the Oracle Cluster Fie System, has been further refined and improved in this release. It now implements allocation reservations, which help to reduce file system fragmentation significantly. The hole-punching code was optimized: portions of a file can be marked as "unwanted" and the associated storage will be released much faster. The introduction of discontinuous block groups helps speed up the allocation of disk space on fragmented file systems. Earlier versions of OCFS2 had its own heartbeat for each mounted volume, which caused significant overhead on servers with large numbers of OCFS2 mounts. This has now been changed to a "global heartbeat", where there is only one heartbeat/disk/network for all mounted volumes.
Updated Device Drivers Many of the key device drivers included in mainline Linux were updated to newer versions in close cooperation with our hardware partners. The Unbreakable Enterprise Kernel Release 2 supports an even wider range of devices relevant for data center operations (e.g. Infiniband, Networking, iSCSI).

Technology Previews

In addition to the features listed above, the Unbreakable Enterprise Kernel includes the following features which are still under development, but are made available for testing/evaluation purposes.

Linux Containers (lxc) Safely and securely run multiple applications or instances of an operating system on a single host without the risk of inteference between each instance. Containers are lightweight and resource-friendly, which saves both rack space and power.
Dtrace DTrace is a comprehensive dynamic tracing framwork that was initially developed for the Oracle Solaris operating system. DTrace provides a powerful infrastructure to permit administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system ad user programs in real time. DTrace feature previews will be published as a separate set of kernel packages.
Transcendent memory Transcendent memory (tmem for short) provides a new approach for improving the utilization of physical memory in a virtualized environment by claiming underutilized memory in a system and making it available where it is most needed. From the perspective of an operating system, tmem is fast pseudo-RAM of indeterminate and varying size that is useful primarily when real RAM is in short supply.