Welcome to the "readme" information for iSeries and AS/400 "SETI at Home." for SETI client version 3.03, January 2001 This is the software package that enables the iSeries and AS/400 to participate in the "SETI at Home" program (please see http://setiathome.ssl.berkeley.edu for many useful details). The "SETI at Home" program is a bit of a misnomer: "SETI at Home" also includes businesses and organizations willing to contribute computer time from machines in the workplace as well as at home. The iSeries software is based on the AIX version authored by Chris Graham (chrisg@warpspeed.com.au). There are very few differences. Consult the original "read me" information in SETI/SETIINFO TXT for more information on running SETI at Home AS/400. That information is UNIX-based. (The parameters, however, are honored as specified). This file describes the situation in an AS/400 and iSeries context. Throughout, read "AS/400" as meaning "AS/400 and iSeries" since the same SETI code serves both and the OS/400 environment is identical for both. iSeries and AS/400 specific modifications and information by Larry W Loen (lwloen@us.ibm.com) AS/400 and SETI at Home SETI at Home is run on a wide variety of computers. To read about how SETI at Home works, please reference: http://setiathome.ssl.berkeley.edu/about_seti/about_seti_at_home_1.html In the AS/400 context, running SETI at Home is managed by having the SETI at Home software run in its own OS/400 subsystem. The name of that subsystem is, appropriately enough, "SETI" and is located in the library "SETI". This subsystem approach allows the OS/400 version of SETI at Home to run at the lowest architected priority available. The SETI at Home software checkpoints its work and can be canceled and restarted at any time with little loss of work. The cancellation can be done in OS/400 through the usual means -- terminating the jobs in the SETI subsystem or terminating the SETI subsystem itself (use OPTION(*IMMED)). In an AS/400 context, there is one batch job per CPU, each executing as independent work unit. There is also a visualization option. For one chosen job, a -graphics parameter can be added. This enables a companion job to send a X-Windows visualization of that job's work unit computation to any X Work Station. This includes a PC running software like that from eXceed corporation that enables a Windows machine to act as an X Station. The visualization is entirely optional. AS/400 Installation SETI at Home on AS/400 consists of two portions: 1. An ordinary AS/400 library named SETI. This library contains the SETI at Home subsystem, SETI, and supporting job structures, such as a job queue named SETI. If you remember to launch the SETI job or jobs in this subsystem, they will run at low priority in batch. The file SETI/QCLSRC contains sample CL that enables you to customize your SETI at Home job or jobs for your environemnt and to simplify launching the jobs. 2. A few IFS files, starting with the directory "seti" which is itself off of the IFS root directory (hence it starts in '/seti'). These files include the actual SETI at Home software and, after a bit of execution, will also contain information about the current work unit and the person scheduled to "get credit" for running the SETI at Home software against it. To install and run SETI at Home on your AS/400, your system must meet the following criteria: 1. Install or have installed OS/400 Option 33 (Portable Address Space Environment). If you do not have it, it may be obtained or activated for a modest fee for V4R4 or V4R5. For V4R4, see the IBM AS/400 Web Site (PASE, Miscellaneous) for the latest PTF level for PASE. You must be at the latest PTF level of V4R4 to run this successfully. For V4R5, any level should succeed. Note: Earlier releases are not supported. 2. Be at V4R4 or later (required for PASE support). 3. Have hardware capable of running PASE. Not all hardware qualifies. However, each of the following AS/400 models qualify: Model 170 -- all feature codes Model 720 -- all Model 730 -- all Model 740 -- all Model SB1 -- all Model SB2 -- all Model SB3 -- all Model 250 -- all Model 270 -- all Model 820 -- all Model 830 -- all Model 840 -- all If your model is not listed here, see also: http://www.as400.ibm.com/developer/factory/pase/ehardware.html which contains the complete list of supported processors. Some early RISC models of the AS/400 do not support PASE. The CISC models do not support PASE. 4. Be capable of running TCP/IP to the general Internet. This is necessary to download data to/from the SETI site. SETI can deal with any sort of "proxy" or firewall provided you know what it is and can inform the software (see below for more). Once you have the machine's OS/400 in the correct state, obtain the software. It will come in as a save file with some particular version. The current version will have the name SETI400v33.savf. It must be downloaded to your OS/400 system. Steps: 1. CRTSAVF QGPL/SETI400V33 2. a. (preferred) Point your browser at the http://setiathome.ssl.berkeley.edu/unix.html and look for the powerpc-ibm-OS400 entry near the bottom of the table. Any of the four FTP links will download the SETI400v33.savf (a save file) from the FTP mirror. b. (if "a" is not desired). You may attempt to download the save file directly to the '400. This is not recommended, but might be necessary for some. You can try the following servers and public file locations. The browser method seems much faster and more convenient. ftp.cdrom.com at /pub/setiathome/SETI400v33.savf alien.ssl.berkeley.edu at /pub/SETI400v33.savf setidata.ssl.berkeley.edu at /pub/SETI400v33.savf serendip.ssl.berkeley.edu at /pub/SETI400v33.savf For the usual security reasons, _do not_ accept the SETI at Home software from any other source. c. Once a or b are done, do the following on the AS/400 (either as step b or else as another download from whatever workstation downloaded SETI400v33.savf via the browser): FTP machineWithSETI400v33.savf (enter userID and password or anonymous FTP) cd wherever/the/file/is/on/the/other/machine bin get SETI400v33.savf SETI400V33 ( replace 3. RSTLIB SETI *SAVF SAVF(QGPL/SETI400V33) 4. RST '/QSYS.LIB/SETI.LIB/IFSSAV.FILE' '/seti' SETI at Home for AS/400 is now installed, but needs some customization to run on your machine. Customizing for Your Machine Study the sections "Initial Signon" and "Customizing SETI at Home jobs" to understand how to customize the installation. Once this is done, you are ready to execute the SETI at Home jobs. For reference, the entire parameters for the "SETI" program are included next. Command Options for setiathome Here are the current command options: -version show version info -login log in -countries show list of country codes -nice N set priority to N. Ignored on AS/400 -email send email notification on error -graphics create shared mem segment for graphics -proxy hostname:port connect to SH server through specified proxy server -stop_after_process stop after current work unit - do NOT send result -stop_after_xfer stop after current Work unit - DO send result -verbose print running status -nolock skip multiple-instance check -socks_server hostname:port SOCKS proxy -socks_user name SOCKS user name -socks_passwd passwd SOCKS password Most users of AS/400 SETI at Home will not need to concern themselves with most of these. The main options of interest will be -socks, -proxy, and -graphics. Initial Signon Study this next section carefully. There may be a modest problem that requires a bit of attention (workaround). In particular, the responses from the setiathome program to your input may lag a bit. You may find yourself having to enter the next response without seeing the corresponding question. This procedure only has to be done once (if you already have a SETI at Home account on your PC or other machine, see also the section on multiple machines following for a simpler procedure). Here's how you initially identify yourself to SETI at Home. There are three invocations depending on if you have "no proxy", a "regular proxy" or a "socks proxy". Inquire about the sort of Internet firewall your installation requires to know which to do: CD '/seti' CALL SETI/RUNSETI PARM('-login') or, if necessary because you have a firewall and assuming port 81 is for the proxy: CD '/seti' CALL SETI/RUNSETI PARM('-login' '-proxy' 'yourProxyServer:81') or, if you need to run with SOCKS to get through your firewall: CD '/seti' CALL SETI/RUNSETI PARM('-login' '-socks_server' 'yourProxyServer:1080' '-socks_user' 'yourUserID' '-socks_passwd' 'yourPW') Now, the program will put up some interesting information about itself, and then ask you to identify yourself. See "Country Codes" later in this document to see what your country should be (it's specified as a number). Here's how a dialog between a fictitious Floyd Calhoon and the SETI at Home program looks (your responses indented): We use your email address to identify you. Please type: 1 to set up a new account (first-time users); 2 to log into an existing account (returning users). Your choice (1 or 2): 1 Your email address: floydcalhoon@us.ibm.com OK to show your email address on the SETI@home web site? (y/n): n Your name or nickname: Floyd Calhoon OK to show your name on the SETI@home web site? (y/n): y Your country number (Return see country list): 1 Your postal code: 55901 Computer location: 0=unspecified 1=school 2=work 3=home : 2 Everything correct? y The program delays for a while because it seems to contact SETI at Home to register you. When you finally get this message: Logged in as Floyd Calhoon (floydcalhoon@us.ibm.com) Number of work units processed: 0 Total CPU time: 0.000000 Then things are OK. This may take two or three tries. You are now ready to submit your job against the '/seti' directory. If you have a multiprocessor, or other machines, and wish to have more than one work unit active, you need only partly repeat the above procedure. The QCLSRC shipped in the SETI library assumes that the second work unit on a given machine will be in '/seti/seti2' So, to activate it, do: CD '/seti/seti2' CALL SETI/RUNSETI PARM('-login') - OR - CD '/seti/seti2' CALL SETI/RUNSETI PARM('-login' '-proxy' 'yourProxyServer:81') - OR - CD '/seti/seti2' CALL SETI/RUNSETI PARM('-login' '-socks_server' 'yourProxyServer:1080' '-socks_user' 'yourUserID' '-socks_passwd' 'yourPW') And then instead of '1', reply '2' to the first question: Your choice (1 or 2): 2 Email address: floydcalhoon@us.ibm.com . . .and there will be no further prompting. On future machines, you can reply just '2' and your user ID to get started as you already have an account at the main SETI at Home site. Customizing SETI at Home jobs Keep in mind that there is no point in having more than one active job per CPU in your machine. However, SETI for AS/400 ships with two jobs. This is to make it easy to set up and use for most machines (which have one or two CPUs). If you don't have two CPUs, simply ignore the second job, SETI/QCLSRC RUNSETI2. You will have to do a little post-editing of the SETI at Home jobs. This is especially true if you have a proxy server. A proxy server will get you beyond the firewall. The example job, RUNSETI, shows the parameters for an ordinary proxy server. If you have a SOCKS proxy, you may have to add some parameters such as these: CALL SETI/RUNSETI PARMS('-socks_server' 'proxyhostname:port' + '-socks_user' 'username' + '-socks_passwd' 'passwd') Submitting SETI at Home jobs If it isn't already running, start the SETI subsystem: STRSBS SETI/SETI To submit the batch job to the SETI at Home subsystem at the architected low priority do: SBMDBJOB SETI/QCLSRC RUNSETI JOBQ(SETI/SETI) Don't forget to specify the JOBQ(SETI/SETI) or else the job will be an ordinary batch job at an ordinary batch priority. This won't hurt anything, but it will mean that SETI at Home jobs will compete normally for system resources, something you probably don't want. If you forget the JOBQ, just cancel the job and try again. If you have a multiprocessor, you must yourself create alternate directories (e.g. /seti/seti3, /seti/seti4, etc.) and created corresponding jobs (SETI/QCLSRC RUNSETI3, RUNSETI4, etc.). Note that all invoke the RUNSETI program; they merely need to "CD" to the right directory and set the proxy, if any, correctly. If you have exactly two processors, the second directory and a prototypical second job is already created. Note carefully that the -graphics option should only be specified for one job. The sample jobs have it on the RUNSETI job and not the RUNSETI2 job. Use RUNSETI2 as your base for creating the other required jobs if you have more than 2 CPUs on the same AS/400. Terminating SETI at Home jobs All the normal means work. You can use WRKACTJOB, WRKJOB, WRKSBS and so on to find out about the running jobs. Then, you may terminate the jobs individually or terminate the SETI subsystem (use OPTION(*IMMED)) to terminate all the jobs. If you terminate the SETI subsystem, you'll want to restart it, of course, before submitting new jobs. Getting X Windows Output If you want "pretty pictures" of your main SETI at Home packet, as it processes, simply add the -graphics keyword to the "main" SETI at Home job (see the SET/QCLSRC RUNSETI example job, which already has done this). Note that the -graphics must be specified on some one particular job so as to make X output possible, but the X display itself remains optional and is controlled by another job which may also be canceled and restarted at will as long as the same "main" setiathome job runs. Thus, submit another job: SBMDBJOQ SETI/QCLSRC RUNXSETI JOBQ(SETI/SETI) to obtain the X Windows output. You must use the SETI job description or this job fails. Note carefully that you have to post-edit the RUNXSETI job to identify the internet address and display of the X Station. That machine, if it is a true Unix type machine, will also need someone to execute: xhost +yourAS400Name or something equivalent or else the X Window will be rejected due to inadequate authority. At this time, the -graphics option should be specified on exactly one concurrently executing SETI at Home program. AS/400 Authority Information To install SETI at Home for AS/400, you must have the appropriate authority: 1. Authority to save/restore objects generally. 2. Authority to the root IFS directory (to create /seti). To execute SETI at Home, you must have job control authority (so you can submit jobs). In addition, when using the SETI job description, that job description must specify a user profile with authority to the /seti subdirectory and all its contents. If you have more than one job, the user profile must have authority to all the subdirectories you choose to activate. As shipped, the SETI job description uses QPGMR. If your installation does not allow standard user profiles of this kind, you'll want to edit the job description SETI/SETI to change the user profile. System Value QPRCMLTTSK, Performance and Multiprocessors If you own a multi-processor, and it is a 7xx, 8xx, 170, or 270 model, do the following: DSPSYSVAL QPRCMLTTSK When QPRCMLTTSK is a one, e-mail lwloen@us.ibm.com for some optional performance tuning considerations. Troubleshooting Problem: Can't find the jobs. Did you remember to start the SETI subsystem? Did you remember to specify the JOBQ(SETI/SETI) when you submitted the jobs? Sometimes, the SETI site has an "outage" where new units of work can't be downloaded due to some problem between you and the SETI site. The program has a couple of different responses. In one situation, it waits an hour and tries again (see "Can't tell if it is running"). The other is for it to terminate. The RUNSETI batch job will, in turn, end. Examining the job's QPRINT file will have mysterious HTTP type failure codes in it. All it means is that the SETI site isn't available for a while. Resubmit the job later on. Problem: Can't tell if it is running. First, especially when running for the first time, check a couple of things: Is the FTP server running? Is your proxy server operational? The nature of this program is to be a batch background job. Accordingly, it can sometimes be difficult to tell if it is running. 1. The job appears hung -- the CPU utilization of the job on an idle machine is nothing or near nothing. This is likely to be a real problem. It usually means your proxy isn't configured correctly and it is trying to send or receive data. Sometimes, this also happens when the SETI home site is too busy and the job times out. If you're concerned about this, cancel the job and submit it again. You might also check the output of the job (available after you cancel it) and your own TCP/IP services. If the FTP process is timing out, the job's output will indicate "timeout" but it cannot tell where the timeout is occuring. 2. The job appears to be looping -- the CPU utilization of the job is high, but there is little or no output visible on a WRKJOB Option 4 and then Option 5 on the spool file. This is likely to be normal. Generally, setiathome runs with minimal output. In fact, little enough that it may be some time before there is enough for the "display spool file" of an active file to have enough data to be displayed. One way to monitor progress is to look at the first five records or so of state.sah in the SETI subdirectory. This file has a field called "prog". This will occassionally change value (increase) as progress is being made. The X Windows support also reports progress made. Normal output looks something like this: Sky coordinates: 5.942 R.A., 10.760 Dec Recorded on: 2451634.38941 (Thu Mar 30 21:20:45 2000) Source: Arecibo Radio Observatory Base Frequency: 1.420556641 GHz Found data file: yes. Found result header file: yes. Scanning result header file. Doing baseline smoothing. and then, if it has run far enough to upload and download a new packet, you will see: Done with work unit. Sending result - connecting to server. All data sent. SETI@home account summary: Name: Floyd Calhoon Data units completed: 20 Total computer time: 233 hr 36 min 35.1 sec Found data file: no. Found result header file: no. Getting data - connecting to server. Receiving data: 10K Receiving data: 20K Receiving data: 30K Receiving data: 40K . . . Problem: powerpc-ibm-OS400 not found If you see this message: WARNING: Platform powerpc-ibm-OS400 not found; continuing in test mode. It means your current version of SETI is either obsolete or partially corrupted. Download the latest version from the SETI site. Problem: Could not load If you get this message: System support for Private Address Space Environment not available. It means you need to install PASE (option 33 of OS/400). If you get this message: Could not load program setiathome Symbol __CleanupCatch in setiathome is undefined Error was: Exec format error Could not load library setiathome It probably means you are running setiathome by hand and forgot to set the PASE_LIBPATH variable. If you get this message: Could not load program xsetiathome Member shr2.o not found or file not an archive Member shr2.o not found or file not an archive Could not load library libC.a[shr2.o] Error was: No such file or directory Could not load library xsetiathome It means you are trying to run xsetiathome by hand and forgot to set the PASE_LIBPATH variable. Problem: No X Window output If you get no X Window output, it means you either did not set the DISPLAY variable correctly or that the X Windows was not authorized on the "target" machine to display windows from your AS/400. Another possibility is that there is no regular SETI job active with the -graphics option. See SETI/QCLSRC RUNXSETI to see if you specified the DISPLAY parameter correctly. The sample job shows how this is done. The DISPLAY= part of the paramter is required. The colon and the display number (usually 0) is also required. The X Windows option is not recommended if the remote X station is connected via a low speed device (e.g. a modem). The data rate is fairly high and the remote display may be unable to keep up. Current Country Codes 1 United States 2 Afghanistan 3 Albania 4 Algeria 5 American Samoa 6 Andorra 7 Angola 8 Anguilla 9 Antarctica 10 Antigua and Barbuda 11 Argentina 12 Armenia 13 Aruba 14 Australia 15 Austria 16 Azerbaijan 17 Bahamas 18 Bahrain 19 Bangladesh 20 Barbados 21 Belarus 22 Belgium 23 Belize 24 Benin 25 Bermuda 26 Bhutan 27 Bolivia 28 Bosnia and Herzegovina 29 Botswana 30 Brazil 31 British Virgin Islands 32 Brunei Darussalam 33 Bulgaria 34 Burkina Faso 35 Burundi 36 Cambodia 37 Cameroon 38 Canada 39 Cape Verde 40 Cayman Islands 41 Central African Republic 42 Chad 43 Channel Islands 44 Chile 45 China 46 Colombia 47 Comoros 48 Congo 49 Cook Islands 50 Costa Rica 51 Cote d'Ivoire 52 Croatia 53 Cuba 54 Cyprus 55 Czech Republic 56 Dem. People's Rep. of Korea 57 Dem. Republic of the Congo 58 Denmark 59 Djibouti 60 Dominica 61 Dominican Republic 62 East Timor 63 Ecuador 64 Egypt 65 El Salvador 66 Equatorial Guinea 67 Eritrea 68 Estonia 69 Ethiopia 70 Faeroe Islands 71 Falkland Islands 72 Fiji 73 Finland 74 France 75 French Guiana 76 French Polynesia 77 Gabon 78 Gambia 79 Gaza Strip 80 Georgia 81 Germany 82 Ghana 83 Gibraltar 84 Greece 85 Greenland 86 Grenada 87 Guadeloupe 88 Guam 89 Guatemala 90 Guinea 91 Guinea-Bissau 92 Guyana 93 Haiti 94 Honduras 95 Hungary 96 Iceland 97 India 98 Indonesia 99 Iran 100 Iraq 101 Ireland 102 Isle of Man 103 Israel 104 Italy 105 Jamaica 106 Japan 107 Jordan 108 Kazakstan 109 Kenya 110 Kiribati 111 Kuwait 112 Kyrgyzstan 113 Laos 114 Latvia 115 Lebanon 116 Lesotho 117 Liberia 118 Libya 119 Liechtenstein 120 Lithuania 121 Luxembourg 122 Macau 123 Macedonia 124 Madagascar 125 Malawi 126 Malaysia 127 Maldives 128 Mali 129 Malta 130 Marshall Islands 131 Martinique 132 Mauritania 133 Mexico 134 Micronesia 135 Monaco 136 Mongolia 137 Montserrat 138 Morocco 139 Mozambique 140 Myanmar 141 Namibia 142 Nauru 143 Nepal 144 Netherlands 145 Netherlands Antilles 146 New Caledonia 147 New Zealand 148 Nicaragua 149 Niger 150 Nigeria 151 Niue 152 Northern Mariana Islands 153 Norway 154 Oman 155 Pakistan 156 Palau 157 Panama 158 Papua New Guinea 159 Paraguay 160 Peru 161 Philippines 162 Pitcairn Islands 163 Poland 164 Portugal 165 Puerto Rico 166 Qatar 167 Republic of Korea 168 Republic of Moldova 169 Reunion 170 Romania 171 Russian Federation 172 Rwanda 173 Saint Kitts and Nevis 174 Saint Lucia 175 Saint Pierre and Miquelon 176 Saint Vincent and Grenadines 177 Samoa 178 San Marino 179 Sao Tome and Principe 180 Saudi Arabia 181 Senegal 182 Seychelles 183 Sierra Leone 184 Singapore 185 Slovakia 186 Slovenia 187 Solomon Islands 188 Somalia 189 South Africa 190 Spain 191 Sri Lanka 192 Sudan 193 Suriname 194 Swaziland 195 Sweden 196 Switzerland 197 Syrian Arab Republic 198 Taiwan 199 Tajikistan 200 Thailand 201 Togo 202 Tokelau 203 Tonga 204 Trinidad and Tobago 205 Tunisia 206 Turkey 207 Turkmenistan 208 Turks and Caicos Islands 209 Tuvalu 210 Uganda 211 Ukraine 212 United Arab Emirates 213 United Kingdom 214 United Rep. of Tanzania 215 United States Virgin Islands 216 Uruguay 217 Uzbekistan 218 Vanuatu 219 Venezuela 220 Viet Nam 221 Wallis and Futuna Islands 222 Western Sahara 223 Yemen 224 Yugoslavia 225 Zambia 226 Zimbabwe