1 | | = Welcome to Trac 0.12 = |
2 | | |
3 | | Trac is a '''minimalistic''' approach to '''web-based''' management of |
4 | | '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress. |
5 | | |
6 | | All aspects of Trac have been designed with the single goal to |
7 | | '''help developers write great software''' while '''staying out of the way''' |
8 | | and imposing as little as possible on a team's established process and |
9 | | culture. |
10 | | |
11 | | As all Wiki pages, this page is editable, this means that you can |
12 | | modify the contents of this page simply by using your |
13 | | web-browser. Simply click on the "Edit this page" link at the bottom |
14 | | of the page. WikiFormatting will give you a detailed description of |
15 | | available Wiki formatting commands. |
16 | | |
17 | | "[wiki:TracAdmin trac-admin] ''yourenvdir'' initenv" created |
18 | | a new Trac environment, containing a default set of wiki pages and some sample |
19 | | data. This newly created environment also contains |
20 | | [wiki:TracGuide documentation] to help you get started with your project. |
21 | | |
22 | | You can use [wiki:TracAdmin trac-admin] to configure |
23 | | [http://trac.edgewall.org/ Trac] to better fit your project, especially in |
24 | | regard to ''components'', ''versions'' and ''milestones''. |
25 | | |
26 | | |
27 | | TracGuide is a good place to start. |
28 | | |
29 | | Enjoy! [[BR]] |
30 | | ''The Trac Team'' |
31 | | |
32 | | == Starting Points == |
33 | | |
34 | | * TracGuide -- Built-in Documentation |
35 | | * [http://trac.edgewall.org/ The Trac project] -- Trac Open Source Project |
36 | | * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions |
37 | | * TracSupport -- Trac Support |
38 | | |
39 | | For a complete list of local wiki pages, see TitleIndex. |
| 1 | Configuration file example |
| 2 | -------------------------- |
| 3 | |
| 4 | :: |
| 5 | |
| 6 | # pbs_drmaa.conf - Sample pbs_drmaa configuration file. |
| 7 | |
| 8 | wait_thread: 0, |
| 9 | |
| 10 | #pool_delay: 5, |
| 11 | |
| 12 | job_categories: { |
| 13 | #default: "-k n", # delete output files from execution hosts |
| 14 | longterm: "-p -100 -l nice=5", |
| 15 | amd64: "-l arch=amd64", |
| 16 | python: "-l software=python", |
| 17 | java: "-l software=java,vmem=500mb -v PATH=/opt/sun-jdk-1.6:/usr/bin:/bin", |
| 18 | #test: "-u test -q testing", |
| 19 | }, |
| 20 | |
| 21 | |
| 22 | Native specification |
| 23 | ==================== |
| 24 | |
| 25 | DRMAA interface allows to pass DRM dependant job submission options. |
| 26 | Those options may be specified by settings ``drmaa_native_specification``. ``drmaa_native_specification`` |
| 27 | accepts space delimited ``qsub``. ``qsub`` |
| 28 | options which does not set job attributes (`-b`, `-z`, `-C`) as |
| 29 | well as meant for submission of interactive jobs (`-I`, `-X`) or |
| 30 | to specify directories (`-d`, `-D`) are *not* supported. |
| 31 | Also instead of `-W` option following long options are accepted |
| 32 | within native specification: `--depend`, `--group-list`, `--stagein` |
| 33 | and `--stageout`. For detailed description of each option see PBS |
| 34 | documentation. |
| 35 | |
| 36 | Attributes set in native specification overrides corresponding DRMAA job |
| 37 | attributes. |
| 38 | |
| 39 | .. table:: |
| 40 | Native specification strings with corresponding DRMAA attributes. |
| 41 | |
| 42 | ===================== =============== ============ ==================== |
| 43 | DRMAA attribute PBS attribute PBS resource native specification |
| 44 | ===================== =============== ============ ==================== |
| 45 | Attributes which get overridden |
| 46 | ----------------------------------------------------------------------- |
| 47 | drmaa_job_name Job_Name `-N` job name |
| 48 | drmaa_output_path Output_Path `-o` output path |
| 49 | drmaa_error_path Error_Path `-e` error path |
| 50 | drmaa_join_files Join_Path `-j` join options |
| 51 | drmaa_block_email Mail_Points `-m` mail options |
| 52 | drmaa_start_time Execution_Time `-a` start time |
| 53 | drmaa_js_state Hold_Types `-h` |
| 54 | .. Account_Name `-A` account string |
| 55 | .. Checkpoint `-c` interval |
| 56 | .. Keep_Files `-k` keep |
| 57 | .. Priority `-p` priority |
| 58 | .. destination `-q` queue |
| 59 | .. Rerunable `-r` y/n |
| 60 | .. Shell_Path_List `-S` path list |
| 61 | .. User_List `-u` user list |
| 62 | .. group_list `--group_list=`\groups |
| 63 | drmaa_v_env Variable_List `-v` variable list |
| 64 | .. Variable_List `-V` |
| 65 | drmaa_v_email Mail_Users `-M` user list |
| 66 | drmaa_duration_hlimit Resource_List cput `-l cput=`\limit |
| 67 | drmaa_wct_hlimit Resource_List walltime `-l walltime=`\limit |
| 68 | .. Resource_List `-l` resources |
| 69 | .. depend `--depend=`\dependency |
| 70 | .. stagein `--stagein=`\stagein |
| 71 | .. stageout `--stageout=`\stageout |
| 72 | ===================== =============== ============ ==================== |
| 73 | |
| 74 | |
| 75 | Release notes |
| 76 | ============= |
| 77 | |
| 78 | Changes in 1.0.5 release |
| 79 | ------------------------ |
| 80 | * make drmaa tolerant to torque restarts |
| 81 | * now one can use '-lmem' in native specification attribute |
| 82 | |
| 83 | Changes in 1.0.4 release |
| 84 | ------------------------ |
| 85 | * fix "mtime" date parsing ('triggered' mode) |
| 86 | * fix "submit_args" attribute bug (PBS Professional only) |
| 87 | |
| 88 | Changes in 1.0.3 release |
| 89 | ------------------------ |
| 90 | |
| 91 | * new implementation of the "wait thread" which reads PBS log files (increased scalability) |
| 92 | * support for native specification attribute |
| 93 | * memleak fixes |
| 94 | * testsuite passed on PBS Pro 10 |
| 95 | * exit codes 126-127 cause the drmaa_wifaborted() to return true |
| 96 | * other bug fixes |
| 97 | |
| 98 | Changes in 1.0.2 release |
| 99 | ------------------------ |
| 100 | |
| 101 | * automatic reconnect on PBS connection errors |
| 102 | * static linkage with DRMAA utilities |
| 103 | * other bug fixes |
| 104 | |
| 105 | Changes in 1.0.1 release |
| 106 | ------------------------ |
| 107 | |
| 108 | * number of attributes implemented: |
| 109 | |
| 110 | - ``drmaa_start_time`` |
| 111 | - ``drmaa_duration_hlimit`` |
| 112 | - ``drmaa_wct_hlimit`` |
| 113 | - ``drmaa_native_specification`` |
| 114 | - ``drmaa_job_category`` |
| 115 | |
| 116 | * configuration file(s) |
| 117 | * separate wait thread |
| 118 | * lot of bug fixes |
| 119 | * more robust code |
| 120 | * separated DRMAA utilities library |
| 121 | * Python driven test-suite |
| 122 | |
| 123 | |
| 124 | Known bugs and limitations |
| 125 | -------------------------- |
| 126 | |
| 127 | Library covers nearly all DRMAA 1.0 specification_ with exceptions |
| 128 | listed below. It passes the `official DRMAA test-suite`_ except of tests |
| 129 | which require job termination status. All mandatory and some optional |
| 130 | job attributes (namely: transfer files, wall clock time hard limit, |
| 131 | job run duration hard limit) are implemented. |
| 132 | |
| 133 | Known limitations imposed by PBS API: |
| 134 | |
| 135 | * With `PBS Pro`_ (and OpenPBS_) retrieving of job termination status is |
| 136 | impossible. For this DRM finished jobs are marked as done with 0 |
| 137 | return code unless job was terminated through library when they are |
| 138 | treated as aborted and killed after receiving SIGTERM. |
| 139 | |
| 140 | * Library accepts job identifiers only of those jobs which |
| 141 | were submitted under current session (specification says it should |
| 142 | also accept job identifiers from previous sessions and even of |
| 143 | jobs submitted in former execution of DRMAA enabled application). |
| 144 | This could only be partially fixed as job state needs to be kept by |
| 145 | library in order to cope with PBS shortcomings. |
| 146 | |
| 147 | * Job termination (when job is running) is realized by PBS |
| 148 | by sending SIGTERM and/or SIGKILL therefore retrieving |
| 149 | those signals cannot be distinguished from abort using |
| 150 | ``drmaa_control(DRMAA_CONTROL_TERMINATE)``. Then job termination |
| 151 | state is marked as "aborted" and "signaled" whatever is the state. |
| 152 | |
| 153 | * ``drmaa_wcoredump()`` always returns ``false``. |
| 154 | |
| 155 | * Waiting functions (``drmaa_wait()`` and ``drmaa_synchronize()``) |
| 156 | must pool DRM to find out whether job finished. |
| 157 | |
| 158 | |
| 159 | Test-suite |
| 160 | ---------- |
| 161 | |
| 162 | The DRMAA for Torque/PBS Pro library was successfully tested with |
| 163 | `PBS Pro`_ 10 (10.0.0.82981) and Torque_ 2.5.1 on Linux OS. Following |
| 164 | table presents results of tests from |
| 165 | `Official DRMAA test-suite`_ (originally developed for Sun Grid Engine). |
| 166 | |
| 167 | .. table:: |
| 168 | Mode - Polling |
| 169 | |
| 170 | =============================================== =========== ============ |
| 171 | Test name PBS Pro 10 Torque 2.5.1 |
| 172 | =============================================== =========== ============ |
| 173 | test_mt_exit_during_submit passed passed |
| 174 | test_mt_exit_during_submit_or_wait passed passed |
| 175 | test_mt_submit_before_init_wait passed passed |
| 176 | test_mt_submit_mt_wait passed passed |
| 177 | test_mt_submit_wait passed passed |
| 178 | test_st_attribute_change passed passed |
| 179 | test_st_bulk_singlesubmit_wait_individual passed passed |
| 180 | test_st_bulk_submit_in_hold_session_delete passed passed |
| 181 | test_st_bulk_submit_in_hold_session_release passed passed |
| 182 | test_st_bulk_submit_in_hold_single_delete passed passed |
| 183 | test_st_bulk_submit_in_hold_single_release passed passed |
| 184 | test_st_bulk_submit_wait passed passed |
| 185 | test_st_contact passed passed |
| 186 | test_st_drm_system passed passed |
| 187 | test_st_drmaa_impl passed passed |
| 188 | test_st_empty_session_control passed passed |
| 189 | test_st_empty_session_synchronize_dispose passed passed |
| 190 | test_st_empty_session_synchronize_nodispose passed passed |
| 191 | test_st_empty_session_wait passed passed |
| 192 | test_st_error_file_failure FAILED [1]_ passed |
| 193 | test_st_exit_status FAILED [1]_ passed |
| 194 | test_st_input_file_failure FAILED [1]_ passed |
| 195 | test_st_mult_exit passed passed |
| 196 | test_st_mult_init passed passed |
| 197 | test_st_output_file_failure FAILED [1]_ passed |
| 198 | test_st_submit_in_hold_delete passed passed |
| 199 | test_st_submit_in_hold_release passed passed |
| 200 | test_st_submit_kill_sig FAILED [1]_ passed |
| 201 | test_st_submit_polling_synchronize_timeout passed passed |
| 202 | test_st_submit_polling_synchronize_zerotimeout passed passed |
| 203 | test_st_submit_polling_wait_timeout passed passed |
| 204 | test_st_submit_polling_wait_zerotimeout passed passed |
| 205 | test_st_submit_suspend_resume_wait passed passed |
| 206 | test_st_submit_wait passed passed |
| 207 | test_st_submitmixture_sync_all_dispose passed passed |
| 208 | test_st_submitmixture_sync_all_nodispose passed passed |
| 209 | test_st_submitmixture_sync_allids_dispose passed passed |
| 210 | test_st_submitmixture_sync_allids_nodispose passed passed |
| 211 | test_st_supported_attr passed passed |
| 212 | test_st_supported_vattr passed passed |
| 213 | test_st_usage_check passed passed |
| 214 | test_st_version passed passed |
| 215 | =============================================== =========== ============ |
| 216 | |
| 217 | .. [1] Due to unavailability of job termination status. |
| 218 | |
| 219 | .. table:: |
| 220 | Mode - Triggered |
| 221 | |
| 222 | =============================================== =========== ============ |
| 223 | Test name PBS Pro 10 Torque 2.5.1 |
| 224 | =============================================== =========== ============ |
| 225 | test_mt_exit_during_submit passed passed |
| 226 | test_mt_exit_during_submit_or_wait passed passed |
| 227 | test_mt_submit_before_init_wait passed passed |
| 228 | test_mt_submit_mt_wait passed passed |
| 229 | test_mt_submit_wait passed passed |
| 230 | test_st_attribute_change passed passed |
| 231 | test_st_bulk_singlesubmit_wait_individual passed passed |
| 232 | test_st_bulk_submit_in_hold_session_delete passed passed |
| 233 | test_st_bulk_submit_in_hold_session_release passed passed |
| 234 | test_st_bulk_submit_in_hold_single_delete passed passed |
| 235 | test_st_bulk_submit_in_hold_single_release passed passed |
| 236 | test_st_bulk_submit_wait passed passed |
| 237 | test_st_contact passed passed |
| 238 | test_st_drm_system passed passed |
| 239 | test_st_drmaa_impl passed passed |
| 240 | test_st_empty_session_control passed passed |
| 241 | test_st_empty_session_synchronize_dispose passed passed |
| 242 | test_st_empty_session_synchronize_nodispose passed passed |
| 243 | test_st_empty_session_wait passed passed |
| 244 | test_st_error_file_failure passed passed |
| 245 | test_st_exit_status passed passed |
| 246 | test_st_input_file_failure passed passed |
| 247 | test_st_mult_exit passed passed |
| 248 | test_st_mult_init passed passed |
| 249 | test_st_output_file_failure passed passed |
| 250 | test_st_submit_in_hold_delete passed passed |
| 251 | test_st_submit_in_hold_release passed passed |
| 252 | test_st_submit_kill_sig passed passed |
| 253 | test_st_submit_polling_synchronize_timeout passed passed |
| 254 | test_st_submit_polling_synchronize_zerotimeout passed passed |
| 255 | test_st_submit_polling_wait_timeout passed passed |
| 256 | test_st_submit_polling_wait_zerotimeout passed passed |
| 257 | test_st_submit_suspend_resume_wait passed passed |
| 258 | test_st_submit_wait passed passed |
| 259 | test_st_submitmixture_sync_all_dispose passed passed |
| 260 | test_st_submitmixture_sync_all_nodispose passed passed |
| 261 | test_st_submitmixture_sync_allids_dispose passed passed |
| 262 | test_st_submitmixture_sync_allids_nodispose passed passed |
| 263 | test_st_supported_attr passed passed |
| 264 | test_st_supported_vattr passed passed |
| 265 | test_st_usage_check passed passed |
| 266 | test_st_version passed passed |
| 267 | =============================================== =========== ============ |