Zoltan Developer's Guide | Next | Previous

## Philosophy of Zoltan

The Zoltan library is designed to be a general-purpose tool-kit providing a variety of parallel data management services to a wide range of scientific applications (see the Zoltan User's Guide). To enable general use of the library, the library does not directly access the data structures of an application. Instead, the library obtains information it needs through an object-oriented interface between Zoltan and the application. This interface uses call-back query functions to gather information. An application developer must write and register these query functions before using Zoltan. The intent, however, is that the number and complexity of these query functions are low, allowing applications to easily interface with the library. In addition, new algorithm development would use the same query functions as previous algorithms, enabling applications to use new algorithms without changes to the query functions.

In developing new algorithms for Zoltan, the developer must write the code that calls the query functions to build the needed data structures for the algorithm. However, the application need not change its query functions. Thus, new algorithms can be added to the library and used by an application with minimal effort on the part of the application developer.

[Table of Contents | Next: Coding Principles | Previous: Introduction | Privacy and Security]