Project

General

Profile

Setup Remote Processing » History » Version 8

Neil Voss, 05/13/2010 10:55 AM

1 1 Amber Herold
h1. Setup Remote Processing
2
3
h2. Remote Appion Processing through ssh
4
 
5 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.
6 1 Amber Herold
7 6 Neil Voss
There are two kinds of appion processes:
8
* 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.
9
* The second is a multiple-node process that requires PBS to run on the cluster.  
10 1 Amber Herold
11 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.
12
13 8 Neil Voss
h2. Install the php-ssh2 extension
14 6 Neil Voss
15 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@"
16 1 Amber Herold
17
This enables an ssh session initialized from appionweb
18
# Download and install the ssh2 extension for php as instructed at its download site:
19
* http://www.php.net/manual/en/ssh2.installation.php
20
    Install openssl and compile libssh first before compiling php-ssh2 extension. Once you get the final ssh2.so, add it in your php.ini
21
22
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*
23
24 5 Neil Voss
h2. configuration at web server side 
25 1 Amber Herold
26
*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_.
27
# Go to your_dbem_1_5_1/processing directory
28
# Copy *default_cluster.php* to _your_cluster.php_
29
# [[ClusterPhpSettings|Edit your_cluster.php]] to correspond to your cluster configuration.
30
# 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.
31
32
<pre>
33
$PROCESSING_HOSTS[]="your_stand-alone_processing_workstation";
34
$PROCESSING_HOSTS[]="your_cluster";
35
$CLUSTER_CONFIGS= array (
36
  'your_cluster'
37
);
38
</pre>
39
40
41 5 Neil Voss
h2. Setting up PBS on processing server side 
42 1 Amber Herold
43 2 Amber Herold
Follow these instructions to [[Install PBS|setup PBS]].
44 1 Amber Herold
45 5 Neil Voss
h2. Testing 
46 1 Amber Herold
47 5 Neil Voss
h3. Testing php-ssh2 installation
48 1 Amber Herold
49
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*.
50
51 5 Neil Voss
h3. Testing ssh log in 
52 1 Amber Herold
53
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.
54
55 5 Neil Voss
h3. Testing simple appion processing job submission 
56 1 Amber Herold
57
Upload template is a good example to try:
58
# Create a small mrc image as your template to be uploaded.
59
# Select Upload template in Import tools in the appionweb processing menu of an existing session.
60
# Type in the needed information.
61
# 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".
62
# For simple process such as this, the webpage will take a little while to refresh until the job is completed.
63
# 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. 
64
65 5 Neil Voss
h3. Testing PBS-required appion processing job submission 
66 1 Amber Herold
67
Particle selection such as DogPicker is a good example to try:
68
# Click on DoG Picking under Particle Selection menu
69
# Enter the required parameters
70
# 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.
71
# After a while, the process will be completed and the status becomes "Done" when you click to have the Status updated on the page.
72
73 5 Neil Voss
h3. Check _your_cluster.php_ setup 
74 1 Amber Herold
75
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.
76 3 Amber Herold
77
78
______
79
80
[[Create a Test Project|< Create a Test Project]]
81 4 Amber Herold
82
______