ODA is an OSCAR Database API to make it easy for users to use the OSCAR database. When using ODA, there is no need to know how to connect the database or determine what its schema look like. ODA deployed on the OSCAR Subversion trunk uses Perl modules to connect, update, and query the database. Also, all the database subroutines for the end users are defined in a single Perl module, which is a collection of database subroutines and does the intermediate work between back-end database and OSCAR installation. As the previous paper showed, the old ODA has three problems. First, it can not fully support new features of OSCAR.

Second, its implementation is overly complicated and takes a long time to learn and modify. Finally, its schema was also not well organized: 11 tables among 30 OSCAR tables are not used at all after OSCAR installation creates all the tables and numerous redundant shortcuts make developers confused in deciding what shortcuts should be used. OSCAR, therefore, needed more flexibility and a better organized database schema. The new version of ODA was developed not only to resolve the above chronic problems but also to establish a bridgehead for supporting OSCAR. It allows the OSCAR installer to add new features of the OSCAR sub-projects without modifying the whole OSCAR framework. The new version of ODA also makes it easy to participate in improving the database modules. The OSCAR sub-projects include HA-OSCAR [10] (High Availability, for mission-critical clusters), SSS-OSCAR [13] (Scalable System Software, a US Department of Energy research project investigating terrascale computational resources), SSI-OSCAR [2] (Single System Image, for clusters that behave like a single large symmetric multiprocessor machine) and Debian-OSCAR [1] (OSCAR porting Debian distro). The new version of ODA is deployed on the OSCAR Subversion trunk and is planned to be fully implemented and supported in OSCAR v5.0.

Download pdf The Introduction of the OSCAR Database API (ODA)