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 | ______ |