Project

General

Profile

Setup Remote Processing » History » Version 9

Neil Voss, 05/19/2010 02:11 PM

1 9 Neil Voss
h1. Remote Processing Setup
2
3
The web interface for Appion allows one to directly login to a computer and process Appion jobs. But this requires a job submission system to be installed.
4
5
The following applies to the both a web-server computer (setup earlier) and job submission system. The job submission system usually consists of a head node (main computer) and individual processing nodes (slave computers) for running jobs. As of these system can exist on an individual computer.
6
7
# [[Setup job submission server]]
8
# [[Configure web server to submit jobs]]
9
# [[Potential Problems]]
10 1 Amber Herold
11
h2. Remote Appion Processing through ssh
12
 
13 6 Neil Voss
A more advanced way to run appion script is done through an ssh session. This is equivalent of having you ssh into a computer and starting the appion processes.
14 1 Amber Herold
15 6 Neil Voss
There are two kinds of appion processes:
16
* The first is a single-node process that can be run on a stand-alone workstation or the head-node of a computer cluster without PBS.
17
* The second is a multiple-node process that requires PBS to run on the cluster.  
18 1 Amber Herold
19 6 Neil Voss
When you use "Just Show Command" option, it is always a single-node process, but if you run through ssh it could be either, depending on the demand of the process.  For example, imageuploader.py is typically always run as single-node process while maxlikeAlignment.py is either run on single-node with "Just Show Command" or as a PBS job submission when you run through ssh.
20
21 8 Neil Voss
h2. Install the php-ssh2 extension
22 6 Neil Voss
23 7 Neil Voss
bq. For newer systems the extension is available through the repository, e.g., on Fedora 12 type "@sudo yum install php-pecl-ssh2@"
24 1 Amber Herold
25
This enables an ssh session initialized from appionweb
26
# Download and install the ssh2 extension for php as instructed at its download site:
27
* http://www.php.net/manual/en/ssh2.installation.php
28
    Install openssl and compile libssh first before compiling php-ssh2 extension. Once you get the final ssh2.so, add it in your php.ini
29
30
The extension module is added to php in the same way as does the php-mrc module we distribute for the viewing mrc images through php.  To check whether it worked and for alternative way to make php recognize the module used in newer php, see http://emg.nysbc.org/documentation/leginon/bk02ch04s07.php under the section *Check php information* and *Alternative approach if mrc module does not show up in info.php output*
31
32 5 Neil Voss
h2. configuration at web server side 
33 1 Amber Herold
34
*IMPORTANT*: What we refer here as _your_cluster.php_ should not be taken literally.  For example, if you access your cluster through network with a name "bestclusterever", you should name your cluster configuration php file *bestclusterever.php*, not _your_cluster.php_.
35
# Go to your_dbem_1_5_1/processing directory
36
# Copy *default_cluster.php* to _your_cluster.php_
37
# [[ClusterPhpSettings|Edit your_cluster.php]] to correspond to your cluster configuration.
38
# Edit *config_processing.php* to add your cluster and, if desired, a stand-alone workstation as processing_host and register the _your_cluster.php_ you just created.
39
40
<pre>
41
$PROCESSING_HOSTS[]="your_stand-alone_processing_workstation";
42
$PROCESSING_HOSTS[]="your_cluster";
43
$CLUSTER_CONFIGS= array (
44
  'your_cluster'
45
);
46
</pre>
47
48
49 5 Neil Voss
h2. Setting up PBS on processing server side 
50 1 Amber Herold
51 2 Amber Herold
Follow these instructions to [[Install PBS|setup PBS]].
52 1 Amber Herold
53 5 Neil Voss
h2. Testing 
54 1 Amber Herold
55 5 Neil Voss
h3. Testing php-ssh2 installation
56 1 Amber Herold
57
Check your info.php as you did with mrctool installation.  Corrected installed extension should show up in the output of info.php.  Reference http://emg.nysbc.org/documentation/leginon/bk02ch04s07.php under the section *Check php information* and *Alternative approach if mrc module does not show up in info.php output*.
58
59 5 Neil Voss
h3. Testing ssh log in 
60 1 Amber Herold
61
Use the top right form on the processing page to log in as if doing an ssh session. The page will acknowledge that you have been logged in if the setup is correct.  You will be able to edit description of a run and to hide failed runs when logged in. The option for submitting the job appears at the bottom of the processing form whenever available.
62
63 5 Neil Voss
h3. Testing simple appion processing job submission 
64 1 Amber Herold
65
Upload template is a good example to try:
66
# Create a small mrc image as your template to be uploaded.
67
# Select Upload template in Import tools in the appionweb processing menu of an existing session.
68
# Type in the needed information.
69
# When you finish filling the form, instead of clicking on "Just show command", choose your processing host and run the job by clicking "Upload Template".
70
# For simple process such as this, the webpage will take a little while to refresh until the job is completed.
71
# If you get the message "Template is uploaded", the process is successful and if you refresh the page you will find the template in the available list. 
72
73 5 Neil Voss
h3. Testing PBS-required appion processing job submission 
74 1 Amber Herold
75
Particle selection such as DogPicker is a good example to try:
76
# Click on DoG Picking under Particle Selection menu
77
# Enter the required parameters
78
# When you finish filling a form for an appion processing, choose your processing host and run the job.  Pages for monitoring the job become available after the job is queued and subsequently begins running. If the status appears as "Running or Queued" at first, the setup is likely correct.
79
# After a while, the process will be completed and the status becomes "Done" when you click to have the Status updated on the page.
80
81 5 Neil Voss
h3. Check _your_cluster.php_ setup 
82 1 Amber Herold
83
For reconstructions involving iterations of different parameters such as EMAN reconstruction by refinement, the _your_cluster.php_ is used to generate the script.  Examine the script created on the web form and modify _your_cluster.php_  You can copy the script to your cluster and test run/modify it until it is correct.
84 3 Amber Herold
85
86
______
87
88
[[Create a Test Project|< Create a Test Project]]
89 4 Amber Herold
90
______