Oracle releases IEEE 1394 clustering libraries

Eugen Leitl eugen at leitl.org
Wed Nov 13 05:37:03 PST 2002


http://otn.oracle.com/tech/linux/open_source.html

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 
Linux.

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 mailing list