Build your applications using Fida

With Fida you can focus on the science part when writing an internet-enabled distributed scientific application. The instructions below are meant to help you start quickly.

  1. Download the Fida distribution.
  2. Build and install Fida package. If you use the default setting, you should get client and server executables in the fidaDistribution/build subdirectory. The client binary can be distributed across the internet via a web-download. You should create client installation script to minimize the effort of the participants.
  3. Partition the problem of scientific computations into a collection of smaller tasks. Each task will be handed off to a requesting client to process. The coordination of the tasks and handling of the results are processed by the server. It is important that the tasks be as indedpendent as possible. Otherwise all the effots of distributed computing might not produce intended benefits.
  4. Implement the client- and server-side scientific computations as two dynamicably loadable libraries (DLL). One is for the client and the other for the server. To differentiate these from the client and server executables created in Step 2, we use clientApp to address the client-side DLL and serverApp to address the server-side DLL. For Windows machine, you typically get clientApp.dll and serverApp.dll. For Linux/Unix you typically get libclientApp.so and libserverApp.so. Howeever, different name conventions are possible.
  5. Install server executable in a directory on the server. This will be the application's main directory. Install clientApp libraries, one for each OS/CPU cominbation, in an os/cpu subdirectory, where os/cpu may be Linux/x86 or Win32/x86 or MacOSX/ppc, depending on what OS/CPU the client executable is built for.

For more information, read the README files that comes with the Fida distribution. There is also an example clientApp and serverApp in the Fida distribution. This example is discussed in the Sample App topic accessible from the menu above. The documentation talks more about the architecture of Fida and gives the detailed reference information for the callback functions that clientAPp and serverApp must implement. Even simpler examples of clientApp and serverApp can be found in the Documentation topic as well.