Collaborators: C. Houstis, A. Joshi, N. Ramakrishnan
Sponsors: PRF, NSF, DARPA
Accuracy and execution time are the main performance objectives for numerical simulation models based on partial differential equations (PDEs). Accuracy is controlled through the refinement of the grid and the discretization scheme used, while execution time depends on the speed of the targeted machine and the efficiency of the PDE solver. For a given machine, computing a solution within a certain accuracy and time requires the selection of appropriate grid, discretization, and solution scheme (method) plus an appropriate machine. If the machine is parallel, then the selection of its configuration (number of processors) and the partitioning of the computation load. Unfortunately, the above parameters that affect the performance of a computation depend on various mathematical properties and characteristics of the specified PDE model and its unknown solution. Hence, the acquisition of knowledge about the mathematical behavior of the given PDE model and the appropriate selection of these parameters is a "hard" problem and future PDE systems should make these decisions for the average user while allowing knowledgeable users to direct the decision process.
PYTHIA is a research project that attempts to solve the (grid, configuration) and (method, machine) selection problems for the class of "field" problems within the //ELLPACK numerical simulation system by applying an expert system methodology. PYTHIA applies symbolic techniques to derive the characteristics of the PDE model or allows the user to specify them together with some weighting factors. PYTHIA knowledge base rules are derived from a database of performance data associated with a known population of PDE problems and a library of PDE solvers. Alternatively, performance data or rules may be supplied by the knowledge engineer in a predefined format. PYTHIA's inference engine tries to "match" the given problem to the available population of PDE classes and problems, then it indirectly infers the appropriate selection of parameters from the known performance data of the "matched" problem or class of problems.