The OSCAR (T. Naughton et al., 2002) cluster installation toolkit started life as the result of an ad-hoc working group attempting to bundle a set of "best practices" for building clusters into a single software solution. Although mainly developed as "skunk works" projects in each of the participating institutions, the OSCAR toolkit has gained a large following, boasting hundreds of thousands of downloads and active mailing lists. The original OSCAR toolkit was aimed at one particular type of high performance computing (HPC) cluster. Since then, several sub-projects targeting other types of HPC clusters have been spun off the main working group's efforts. Each of these projects share a core set of OSCAR code, including the OSCAR database and its access API, "ODA" (OSCAR Database API). The ODA abstraction layer - consisting of a database schema and corresponding API - hides a commodity back-end database (e.g., MySQL). As OSCAR and its derivatives are targeted at new, innovative environments (to include non-HPC environments), the configuration management issues that OSCAR must handle have grown exponentially. As such, its current database schema for holding the cluster configuration is starting to show its age - it is simply unable to represent the complex, ever-growing set of data required to accurately describe the clusters that it manages. ODA's API is overly complex, requiring a steep learning curve for OSCAR developers. This paper proposes a simpler, highly flexible design and implementation that allow ODA to not only handle all the data that ODA currently manages, but also allow expansion into new types of clusters, enable storage and retrieval of configuration information in a variety of different formats, and encourage data re-use between the main OSCAR project and its derivative packages.
[1]
Andrew Lumsdaine,et al.
The Penguin in the Pail – OSCAR Cluster Installation Tool
,
2002
.
[2]
J. Mugler,et al.
The Integration of Scalable Systems Software with the OSCAR Clustering Toolkit
,
2004
.
[3]
David E. Culler,et al.
The ganglia distributed monitoring system: design, implementation, and experience
,
2004,
Parallel Comput..
[4]
William Gropp,et al.
User's Guide for mpich, a Portable Implementation of MPI Version 1.2.2
,
1996
.
[5]
Jack Dongarra,et al.
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
,
1995
.
[6]
Zhou Lei,et al.
The portable batch scheduler and the maui scheduler on linux clusters
,
2000
.
[7]
Stephen L. Scott,et al.
Cluster Command and Control (C3) Tool Suite
,
2001,
Scalable Comput. Pract. Exp..
[8]
Laura Thomson,et al.
MySQL Tutorial
,
2003
.
[9]
Anthony Skjellum,et al.
A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard
,
1996,
Parallel Comput..
[10]
Ed Bailey,et al.
Maximum RPM
,
1997
.
[11]
Greg Burns,et al.
LAM: An Open Cluster Environment for MPI
,
2002
.
[12]
Mark J. Clement,et al.
Core Algorithms of the Maui Scheduler
,
2001,
JSSPP.
[13]
Andrew Lumsdaine,et al.
A Component Architecture for LAM/MPI
,
2003,
PVM/MPI.