Oracle releases IEEE 1394 clustering libraries
eugen at leitl.org
Wed Nov 13 05:37:03 PST 2002
Linux Center - Open Source Projects
Oracle is publishing in open source a series of libraries and toolkits for
Linux that improve Linux's clustering support and add new developer
features. The code is published under the GNU General Public License (GPL)
so that the open source community can adopt these technologies on Linux.
The new projects include include libraries and patches that allow the
implementation of ultra-low cost clustered systems using Firewire
technology, increased robustness of clusters, simpler development of file
systems, and consistent wizards and dialogs for end-user tasks. On top of
these technologies, Oracle's clustered file system simplifies the
implementation and management of Oracle's Real Application Clusters on
All of the libraries and toolkits are functionality to improve Linux
clustering that were not previously available in Linux. All code was
written by Oracle's Linux development team in C.
Cluster support features include:
Firewire Patches fixes some issues with Firewire on Linux and enables
shared disk on top of firewire drivers. Firewire allows developers to
easily and cheaply build a clustered system on a shared disk, which is
useful for testing clustered applications and checking out the advanced
features of Oracle's Real Application Clusters technology. The Firewire
cards needed to build a cluster can cost as little as 10% as much as the
required FiberChannel hardware.
NIC Failover allows a user to set up network card failover on Linux.
Oracle's Linux team has used this proof of concept code to test Oracle's
Real Application Clusters.
Watchdog Driver Patches are fixes submitted to the 2.4. kernel tree for
inclusion in Linux kernel. In the case of an Oracle cluster, if a node in
a cluster gets out of sync with the shared disk, Watchdog automatically
shuts down the node before it corrupts the disk.
I/O Fence provides a preliminary i/o fence implementation that can be used
as an alternative to the watchdog driver. When left-over write operations
from failed databases (cluster function failed on the nodes, but the nodes
are still running at the OS level) reach the storage system after the
recovery process starts, this can damage the consistency of the stored
data. I/O Fence prevents this from happening.
Developer features include:
Libaio is a library for accessing the new AIO system calls (asynchronous
i/o) for the Linux kernel. This library is a thin, state-keeping wrapper
that conforms to the Single Unix Specification for aio_read, aio_write,
aio_error, aio_return and aio_suspend functions, and also implements
lio_listio and aio_reap for batch processing. This library requires a
kernel patch with Ben Lahaise's latest AIO code.
Rasta is a framework for describing tasks on a computer system. Rasta
makes it easy for individual developers or teams of developers to write
consistent dialogs and wizards for end-user tasks like product
installation and configuration. To build a wizard or dialog, the developer
creates a description of the task in XML files, and then Rasta's back-end
library parses the XML files and hands them off to Rasta's front-end
client which renders them to the end-user. Rasta dialogs and wizards
support NLS through its use of Timbo.
Timbo is a message catalog library that makes it easy to build natural
language-specific source files, used for internationalization. Timbo is
built as a simple hashed database of message indexes.
Userfs with GnomeVFS is a filesystem which runs partially in user space
and can be linked with GnomeVFS. Since Userfs has the actual filesystem
code in user space, it becomes much easier for a developer to build or
extend file systems than if they were in the kernel. Linkage with GnomeVFS
makes accessing various kinds of local and remote file systems, e.g. ftp
or webdav, transparent to the user and developer.
Miscellaneous Code Fragments are a bundle of smaller apps that show how to
write good graphical toolkit applications on Linux. These code fragments
comprise some lessons learned by Oracle's Linux development team while
building the other libraries.
More information about the Beowulf