Applications built with BFC's Database Library can be interactive
(with an end-user sitting in front of a PC) or batch-oriented, such as
grid and cluster computing services. In Base One's architecture,
distributed computing applications are
governed by a database representation of the tasks to be done and the rules for running them.
Tasks to be done can be long-running jobs or, using the built-in high
speed queuing facilities, be short-running, asynchronous transactions.
parallel processing software implements a decentralized model in which each processing node (computer) is responsible for finding its own work, as opposed to a centralized model
where a "master" machine decides which "slave" machines should do what
work next and sends them messages. With Base One's implementation, applications look for work by examining
a shared database at regular intervals and whenever a task completes. Once activated, an
automated batch processing application decides what to run next from the
communal pool of pending work stored in the database.
The database-centric approach leverages the indexing, transaction processing, integrity, recovery, and security capabilities provided by high-end database systems. Eliminating the
concept of a master processor also removes a potential performance bottleneck
and point of failure, resulting in applications that can be extended
more easily and
can adapt dynamically to changing workloads. This architecture makes it straightforward to design, implement, and manage distributed applications that are
fault tolerant, and highly reliable.
BFC's architecture is well suited to all forms of standard, back office database processing.
With its uniform high level database API, built-in Data Dictionaries,
and integration with Microsoft Visual Studio, Base
One makes it simple to develop
Even without any inherent demand for database technology, computationally intensive applications can benefit from Base One's
architecture - by using databases for communication and storage of
The built-in administration facilities, which tie into DBMS and network security systems, support both interactive users
(people) and batch users (computers). This allows grid and cluster computing security to be controlled
through the same, familiar mechanisms already used by the operations staff to control the security of the organization's interactive applications.
Base One's database-centric architecture is unique in that it
not use a "master/slave" messaging approach to distributed computing. In
addition, unlike some cluster architectures,
it does not model a cluster of computers as communicating through a single, universally
addressable, main memory. Instead, each node (machine) in Base One's "virtual supercomputer" is considered to be
fully independent and uses one or more shared, recoverable databases to
convey intermediate processing results. This architecture permits efficient,
safe reuse of database connections between completely unrelated applications.
In Base One's model, all that is required to get tasks done in the
background (by a pool of available computers) is to add or change a
record in the database, specifying the module to be launched and a
list of parameters to be passed. In this way, interactive and batch applications
can easily "submit" batch jobs for other machines to discover and run
in parallel. (Database access itself is done synchronously,
i.e. an application waits until any data storage or retrieval
operation has completed before proceeding.)
Any application built with BFC's Database Library can incorporate the
basic facilities for batch processing, as well as those for submitting, scheduling, and monitoring batch jobs.
Using Base One's Internet Server (BIS), operations staff can launch jobs and monitor results from remote locations - while getting the performance benefits of running jobs on a cluster close to the database.