With Unbreakable Enterprise Kernel, Oracle delivers the latest innovations from upstream development to customers who run Red Hat Enterprise Linux 5 or Oracle Linux 6. Unbreakable Enterprise Kernel is based on a stable 2.6.32 kernel and includes optimizations developed in collaboration with Oracle’s Database, Middleware and Hardware engineering teams to ensure stability and optimal performance for the most demanding enterprise workloads.
Oracle Linux also includes a Red Hat compatible kernel, compiled directly from Red Hat Enterprise Linux source. Under the Unbreakable Linux Support program, Oracle will continue to support the Red Hat Compatible kernel. This means you have a choice at boot time: strict RHEL compatibility with the Red Hat Compatible Kernel or a system optimized for running enterprise software with the Unbreakable Enterprise Kernel.
Some of the key features 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 (theoretical maximum)
- Simplified administration
- Online adding and removal of devices
- Defragmentation and scrubbing
- Optimized for SSD
- Supports mixed device types
- Billions of sub volumes 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 or the networking stack. The outstanding
performance of the Unbreakable Enterprise Kernel Release 2 has been proven in two recent TPC-C Benchmarks:
- World Record x86 TPC-C Result on Oracle’s Sun (Fire X4800 M2 Server)
- Record Performance Result for a Two Processor (Intel-Based System with TPC-C Benchmark)
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 2 MB pages instead of 4 kB. 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 having to set 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 multiqueue devices, by selecting a transmit queue during packet transmission by 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 Enterprise Kernel Release 2 added new controllers that allow 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 to change the way how the 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 File System has been further refined and improved. 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 now. The introduction of discontinuous block groups helps speeding up the allocation of disk space on fragmented file systems. Earlier versions of OCFS2 had its own heartbeat for each mounted volume, which caused a lot of overhead on servers with a large number of OCFS2 mounts. This has now been changed to what is called 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. This way the Unbreakable Enterprise Kernel Release 2 supports an even wider range of devices relevant for data center operations (e.g. Infiniband, Networking, iSCSI)
oracle asmlib included by default
Automatic Storage Management (ASM) simplifies database administration. It eliminates the need for the DBA to directly manage potentially thousands of Oracle database files, requiring only the management of groups of disks allocated to the Oracle Database. ASMLib is an optional support library for the ASM feature, allowing the database to utilize ASM in a more efficient and capable manner to access the disk groups it is using. No additional driver package needs to be installed when using the Unbreakable Enterprise.
useful links
Oracle Q&A: A Refresher on Unbreakable Linux Kernel
Oracle Linux Matrix
http://www.oracle-base.com/articles/linux/articles-linux.php
Oracle Official Linux Blog
https://blogs.oracle.com/linux
Oracle Linux Knowledge Zone
http://www.oracle.com/partners/en/knowledge-zone/database/linux-040008.htm