Distributed Computation Framework

The distributed computation framework for OPTESIM allows the distribution of the ESEEM calculation to a collection of PCs (referred as the “node server”). One of the “node servers” is designated as the “node manager”, which is taking the responsibility of managing the node servers’ information.

The overall architecture of this distributed computation framework is based on Java™ remote method invocation (RMI).  The MATLAB function eseSumSpectrum.m and eseSumSpectrumFull.m are compiled by MATLAB Builder JA and packaged into an RMI service “esecore”, which is subsequently wrapped by the “esenode” RMI service and made available to the node servers. The RMI service “eseman” on one of the node servers is responsible for the management of the “esenode” services on node servers.  The MATLAB/Java integration allows the directly manipulation of Java classes in MATLAB command line. The documentation of “esenode” and “eseman” can be found here.

In principle, this distributed computation framework runs on all platforms that Java™ supports. However, the current distribution supports only MS Windows system running on PCs.

Installation notes:

  1. Install Java™ runtime environment on node servers;
    Java™ runtime environment can be download from http://www.java.com/en/download/index.jsp
  2. Install MATLAB runtime environment on node servers;
    Download it here (230 MB)
  3. Select one of the node servers as the node manager, take a note of its IP address or hostname;
  4. Modify the file \Distributed_framework\deployment\conf\wrapper.conf. Uncomment the following line, and change “##IP##” to you node manager’s IP address or hostname
    # wrapper.app.parameter.2=//##IP##/eseman
  5. Copy \Distributed_framework\deployment to your node servers (for example “c:\optesim_servers\”);
  6. On the selected node manager, modify the file \Distributed_framework\deployment\conf\wrapper.conf
    uncomment the following line:
    # wrapper.app.parameter.3=-M
  7. Run \Distributed_framework\deployment\bin\install.bat to install the service, and start.bat to start the service;
    Note:
  8. Please note that if you are running behind a firewall, you may need to add node servers to the trust list or disable the firewall.
    Also, MATLAB installation is NOT required on node servers;
  9. Edit “classpath.txt” file (type “edit classpath.txt” in MATLAB command line) to include  “\Distributed_framework\deployment\lib\ DistributedEse.jar” (change to the absolute path on your own file system), so that the node manager and server Java classes are visible at MATLAB command line.