Overview
Lilith1 is a general purpose framework
which provides a highly scalable, easy distribution of user code across a
distributed, heterogeneous computing platform. The Lilith framework
encompasses a number of code objects that handle the details of
instantiating and running the user code on nodes of the platform and
of enabling communications between nodes. The user code can take advantage
of these services provided by Lilith by interacting with Lilith's objects in
a well-defined way.
Lilith is an ideal basis for the creation of tools for the use and
administration of very large (thousands of nodes) clusters.
Tools are written by the creation of suitable user code; the user code
provides the tool functionality on a single node and Lilith handles
the details of propagation and distribution and ensures scalability.
Although there exist tools to accomplish some standard tasks on
distributed clusters, they are not scalable or rely on relatively weak
security. Furthermore, since Lilith frees the user of many details,
Lilith-based tools can be rapidly developed.
Lilith is written in
Java
, taking advantage of Java's unique features of loading and distributing code dynamically, providing platform independence and support for threads, and allowing easy creation of graphical user interfaces with browser front ends. Java is Object-oriented, further facilitating rapid Lilith-based tool development through object reuse.
NOTE: This project is no longer under development as the authors have moved on to other projects.
1. Lilith is the mythological Mother of D(a)emons.