Oracle's Technical Contributions to Linux


SUPPORT, COMMITMENT, LEADERSHIP

With the release of the first commercial relational database on Linux more than a decade ago, Oracle has a long history of strong support and commitment to Linux, as evidenced by numerous, on-going technical contributions to the Linux community. These contributions highlight Oracle's technical leadership and dedication to the success of Linux for organizations of all sizes, in all industries, worldwide. And with the Oracle Linux support program, Oracle is further committed to Linux by delivering true enterprise-class, low-cost support.

Oracle's long-term vision is focused on continuing to enhance and extend the enterprise-class capabilities of Linux, and this vision is manifest through the many projects and code contributions that Oracle shares with the Linux community. Oracle continues to strengthen its involvement in the Linux community by providing enhancements that facilitate the development and deployment of enterprise Linux solutions. By developing enhanced capabilities and contributing code, Oracle's Linux engineering teams continue to make the Linux experience better for all.

The following list includes just some of Oracle's many technical contributions to the Linux community—contributions which benefit anyone using Linux. For additional information on Oracle's free and open source contributions, visit oss.oracle.com.

  • "Oracle's development work for the Linux kernel represents vital contributions to the open source community, which benefit anyone using Linux."
    – Andrew Morton, Linux Kernel Maintainer, Google
  • "Oracle's significant Linux kernel development work with file systems, data integrity, and other contributions will prove beneficial to all Linux users."
    – Jim Zemlin, Executive Director, Linux Foundation

PROJECT / CONTRIBUTION DETAILS MORE INFORMATION
ASMLib ASMLib is a support library for the Automatic Storage Management feature of Oracle Database 10g which simplifies database administration. Oracle ASMlib
Asynchronous IO (AIO) Kernel Subsystem Oracle is working to replace the existing asynchronous I/O (AIO) interface in the kernel with a new AIO api that can be used to make system calls asynchronous in a generic fashion. The new kernel based implementation should provide a single access point allowing most system calls to become asynchronous, reducing complexity at both the kernel and application level. The new subsystem is expected to be faster for Oracle, and is intended to make it easier for other applications to benefit from asynchronous programming under any workload. Free and Open Source Software from Oracle
BTRFS The Btrfs file system is designed to address the expanding scalability requirements of large storage subsystems, common in today's data centers. Btrfs delivers features missing from Linux today, such as enhanced scalability and simplified management for large storage configurations, and flexible snapshotting and fast incremental backups of the data and metadata in the file system. Btrfs also maintains multiple copies of crucial file system structures. The Btrfs code is merged into mainline Linux. Btrfs wiki on kernel.org

Btrfs Podcast with Oracle's Chris Mason
Coherent Remote File System (CRFS) CRFS is a network protocol that lets clients share access to a file system which is hosted on a server. Its main features include: general-purpose "POSIX" file system semantics, cache coherency, aggressive metadata performance, efficient and flexible snapshots, and robust data integrity protection. CRFS Project Home Page
Ext3 File System Oracle's Linux Engineering Team has proposed a new mode for Ext3, the journaled file system commonly used by the Linux kernel. The new mode is called data=guarded, and it maintains all the security protections of data=ordered mode, without requiring all the dirty data on the file system to be written during a single fsync. While the default data=ordered mode plays an important role in security by preventing the exposure of old contents of blocks if a crash occurs while writing a new file or appending to an existing file, its implementation requires all data currently in RAM (dirty data) across the whole file system to be written to disk every time any application requests a synchronous write. This can result in very long latencies for common operations, and applications doing large buffered writes (where the data is queued in memory) and infrequent small synchronous writes (where all the dirty data is finally written to disk) may see long delays and appear very sluggish. Addressing these issues, Oracle is working in collaboration with the Ext3 maintainers to make sure the data=guarded mode is stable and performs well enough for inclusion in the mainline Linux kernel. LWN.Net: Solving the Ext3 Latency Problem
Gold Gold is a new GNU linker, and is released under the GPL as a part of binutils. Gold is much faster than the existing GNU linker, and eventually it will become an incremental linker. Gold supports the ELF file format only. Oracle has been contributing features and bugfixes in order to assure that Gold correctly builds the Linux kernel and the Oracle Database. Oracle also provides testing for Gold through the Labrat test system. Binutils

Gold Release Post
Kernel I/O Subsystem Tuning The development of storage technology is proceeding at a very fast pace. With the new generation of Solid State Disks (SSD), the transfer rate has increased by orders of magnitude. Oracle Linux kernel engineers are working on creating novel approaches in the area of block I/O, to fully exploit such higher disk speeds. Free and Open Source Software from Oracle

Binutils

Block I/O Subsystem Maintainer Jens Axboe's Blog
Libstdc++ Oracle is a major contributor and maintainer of the GNU standard C++ library, libstdc++. Bugfixes and features are constantly added as part of the C++0x standard implementation effort. GNU Compiler Collection

Libstdc++ Wiki
NFS on IPv6 Oracle Linux kernel engineers are working to enable the Linux Network File System (NFS) to run natively on IPv6 networks. IPv6 is a network layer for packet-switched networks including the internet; IPv6 compatibility is a key requirement for software purchased by the U.S. federal government after 2008. The NFS IPV6 code has been integrated into mainline for the Linux client, and work on the server side is currently in progress. IPv6 for Linux NFS Slides from Oracle's Chuck Lever (PDF)

NFS Client Patches for Linux

Git Version Control System: RPC Transport Switch, IPv6, etc.

Git Version Control System: IPv6 Support
Oracle Cluster File System (OCFS) 2 v.1.4 Oracle Cluster File System 2 (OCFS2) is an open source, general-purpose, extent-based clustered filesystem which Oracle developed and contributed to the Linux community, and accepted into Linux kernel 2.6.16. • Technical Information - OCFS2

OCFS2 Project Home Page
Oracle Linux Test (OLT) Kit Available as open source under the GPL and Artistic licenses, the Oracle Linux Test Kit, derived from the Oracle Validated Configurations program, is designed to verify Linux kernel functionality and stability essential for the Oracle Database. The Oracle Linux Test Kit provides an automated mechanism to define, execute and analyze tests. OLT Kit Project Home Page
Oracle Validated Configurations for Linux and Virtualization Oracle Validated Configurations for Linux and Virtualization are pre-tested, validated architectures with software, hardware, storage, and networking components with included documented best practices for deployment. Oracle Validated Configurations Project Home Page
PHP The Oracle Linux engineering team devotes resources to the improvement and maintenance of PHP and its Oracle-specific extensions. The team publishes and updates a book, "The Underground PHP and Oracle Manual," about PHP and its usage with Oracle, and newer PHP packages in .rpm format are available for free download to Linux users.

The Oracle Call Interface (OCI8) database driver for PHP provides new, improved integration between PHP and Oracle Database 11g, to allow a server-side connection pool shareable across web servers and languages, significantly enhancing the scalability of web-based systems.
PHP RPMs

The Underground PHP and Oracle Manual (PDF)

PHP Developer Center
RDS Reliable Datagram Sockets (RDS) is an effort to provide a socket API which is uniquely suited to the way Oracle does network Inter Process Communication (IPC). The Oracle Linux kernel development team created an open source implementation of the API for the Linux kernel. The code is now integrated into the OpenFabrics Enterprise Distribution (OFED) stack. OFED aims to deliver a unified, cross-platform, transport-independent software stack for RDMA, including a range of standard protocols. RDS Project Home Page

OpenFabrics Alliance
T10 Protection Information Model (also known as DIF) Oracle, in collaboration with Emulex, is implementing a leading, first of its kind initiative to bring enterprise-class data integrity to the Linux platform. An open source interface is being implemented by Oracle to expose the T10 Protection Information Model (also known as DIF) standard to the Linux kernel and end-user applications.

The Oracle code contribution, which has been accepted into the 2.6.27 Linux kernel, includes generic support for data integrity at the block and file system layers, as well as support for the T10 Protection Information Model and the Data Integrity Extensions. The Data Integrity Extensions, developed in collaboration with Emulex, augment the T10 standard by allowing protection information to be transferred to and from host memory, enabling comprehensive data integrity protection.

The Oracle-developed code is the first implementation of the T10 Protection Information Model standard for an operating system, and should allow applications and kernel subsystems to take advantage of these crucial data integrity features, enabling reduced system downtime and cost savings for end-users.
Linux Data Integrity Project Home Page

Data Integrity Podcast with Oracle's Martin Petersen

Press Release: Oracle Contributes Enterprise-Class Data Integrity to Linux Community

Linux Symposium Paper: Linux Data Integrity Extensions, by Martin Petersen
Testing of Open Source Projects Testing the mainline kernel is essential so the Linux community can get a long-term regression picture of how the kernel performs and works. Mainline kernel testing and quality assurance (QA) benefit the entire community. In addition, The Oracle Linux Test (OLT) Kit is a test framework designed to verify Linux kernel functionality and stability; see additional information above. Other projects Oracle tests include Systemtap and GCC, with the Labrat build and test system. Oracle Kerneltest Results

Oracle Magazine: Committed to Code

Labrat Project Home Page
Yet Another Setup Tool (YaST) Yet Another Setup Tool (YaST) helps make system administration easier by providing a single utility for configuring and maintaining Linux systems. Available under GPL, this code can be freely accessed by anyone. The Oracle Linux Engineering team ported the Yast tool to OEL from SUSE. Oracle Linux support customers have access to the YaST functionality integrated with the Oracle Management Pack for Linux, thereby gaining a fully supported, easy to use, feature-rich system management environment for their Linux servers. YAST Project Home Page
Xen Hypervisor Consisting of Xen's open source server software and an integrated Web browser-based management console, Oracle VM is free, scalable server virtualization software that supports Oracle and non-Oracle applications. Oracle's engineering team contributes heavily to feature development of Xen mainline software. The most significant contributions are in the area of hardware virtualized timers, guest and hypervisor debugger and bugfixes, transcendent memory, SSL live migration and xend locking, as well as participation in XenAPI changes; Oracle is also working on Windows Paravirtualized drivers. The Oracle QA team also provides stabilization efforts through testing Xen configurations with Oracle workloads and OEL kernels. Oracle is also a member of the Xen Advisory Board which serves in an advisory capacity to the Xen project leader for all community and development activities as well as management for the Xen trademark. Oracle VM

Xen Home Page

Oracle Joins the Xen Advisory Board

Xen debugger changes

Oracle Xen Contributor Dan Magenheimer

Oracle Xen Contributor Zhigang Wang

Who is Doing What

Transcendent Memory


The preceding list includes just some of Oracle's many technical contributions to the Linux community—contributions which benefit anyone using Linux. For additional information on Oracle's free and open source contributions, visit oss.oracle.com.