An XML-RPC based web service for solving sparse matrix systems
DistSolve aims at providing a web service interface for solving sparse matrix systems of the type A x = b, A x = lambda B x, etc. Such systems commonly occur in engineering and science, for instance after discretizing a partial differential equation. The web service nature of the interface ensures that application (client) and solver (server) need not reside on the same platform nor be written in the same programming language.
DistSolve uses XML-RPC as communication protocol; the sparse matrices A and B are sent as strings over http, returning a vector x (and possibly an eigenvalue lambda). The sparse system of equations is implemented in C using Petsc and MPI so as to enable parallel execution on a (Linux) cluster. A light weight web server (Abyss) receives the requests and parses it using a C-implementation of XML-RPC (XMLRPC-C). The test clients are written Python (Ellipt2d and Curly3d).
Send comments to email@example.com