Changes between Version 1 and Version 2 of WikiStart

Show
Ignore:
Timestamp:
12/02/10 18:03:59 (14 years ago)
Author:
mmatloka
Comment:

readme

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v1 v2  
    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= PSNC DRMAA for SLURM = 
     2== Introduction == 
     3 
     4PSNC DRMAA for [#slurm Simple Linux Utility for Resource Management (SLURM)] is an implementation of [#open_grid_forum Open Grid Forum] [#drmaa DRMAA 1.0] (Distributed Resource Management Application API) [#specification specification] 
     5for submission and control of jobs to [#slurm Simple Linux Utility for Resource Management (SLURM)].  Using DRMAA, 
     6grid applications builders, portal developers and ISVs can use the same 
     7high-level API to link their software with different cluster/resource 
     8management systems. 
     9 
     10This software also enables the integration of [#smoa_comp SMOA Computing] with the 
     11underlying SLURM system for remote multi-user job submission and control 
     12over Web Services. 
     13 
     14 
     15== Installation == 
     16 
     17To compile and install the library just go to main source directory 
     18and type:: 
     19{{{ 
     20#!sh 
     21  $ ./configure [options] && make 
     22  $ sudo make install 
     23}}} 
     24The library was tested with Simple Linux Utility for Resource Management version 2.1.13. 
     25If you encountered any problems using the library on the different systems, please use  
     26the contact e-mails for reporting the problem. 
     27 
     28Notable `./configure` script options: 
     29 
     30  `--with-slurm-inc` SLURM_INCLUDE_PATH 
     31    Path to SLURM header files (i.e. directory containing `slurm/slurm.h` ). By default the library tries  
     32    to guess the `SLURM_INCLUDE_PATH` and `SLURM_LIBRARY_PATH` based on location 
     33    of the `srun` executable. 
     34 
     35  `--with-slurm-lib` SLURM_LIBRARY_PATH 
     36    Path to SLURM libraries (i.e. directory containing `libslurm.a` ). 
     37 
     38  `--prefix` INSTALLATION_DIRECTORY 
     39    Root directory where PSNC DRMAA for SLURM shall be installed. 
     40    When not given library is installed in `/usr/local`. 
     41 
     42  `--enable-debug` 
     43    Compiles library with debugging enabled (with debugging symbols not 
     44    stripped, without optimizations, and with many log messages enabled). 
     45    Useful when you are to debug DRMAA enabled application 
     46    or investigate problems with DRMAA library itself. 
     47 
     48There are no unusual requirements for basic usage of library: ANSI C 
     49compiler and standard make program should suffice.  If you have taken 
     50sources directly from SVN repository or wish to run test-suite you would 
     51need additional [#dev_tools developer tools].  For further information regarding 
     52GNU build system see the INSTALL file. 
     53 
     54 
     55== Configuration == 
     56 
     57During DRMAA session initialization (`drmaa_init`) library tries to 
     58read its configuration parameters from locations: `/etc/slurm_drmaa.conf`, 
     59`~/.slurm_drmaa.conf` and from file given in `SLURM_DRMAA_CONF` environment 
     60variable (if set to non-empty string).  If multiple configuration 
     61sources are present then all configurations are merged with values 
     62from user-defined files taking precedence (in following order: 
     63`$SLURM_DRMAA_CONF`, `~/.slurm_drmaa.conf`, `/etc/slurm_drmaa.conf`). 
     64 
     65Currently recognized configuration parameters are: 
     66 
     67  cache_job_state 
     68    According to DRMAA specification every `drmaa_job_ps()` call should 
     69    query DRM system for job state.  With this option one may optimize 
     70    communication with DRM.  If set to positive integer `drmaa_job_ps()` 
     71    returns remembered job state without communicating with DRM for 
     72    `cache_job_state` seconds since last update.  By default library 
     73    conforms to specification (no caching will be performed). 
     74 
     75    Type: integer, default: 0 
     76 
     77  job_categories 
     78    Dictionary of job categories.  It's keys are job categories names 
     79    mapped to [#native_specification native specification] strings.  Attributes set by job 
     80    category can be overridden by corresponding DRMAA attributes or 
     81    native specification.  Special category name `default` is used when 
     82    `drmaa_job_category` job attribute was not set. 
     83 
     84    Type: dictionary with string values, default: empty dictionary 
     85         
     86 
     87=== Configuration file syntax === 
     88 
     89Configuration file is in form a dictionary. 
     90Dictionary is set of zero or more key-value pairs. 
     91Key is a string while value could be a string, an integer 
     92or another dictionary. 
     93 
     94{{{ 
     95  configuration: dictionary | dictionary_body 
     96  dictionary: '{' dictionary_body '}' 
     97  dictionary_body: (string ':' value ',')* 
     98  value: integer | string | dictionary 
     99  string: unquoted-string | single-quoted-string | double-quoted-string 
     100  unquoted-string: [^ \t\n\r:,0-9][^ \t\n\r:,]* 
     101  single-quoted-string: '[^']*' 
     102  double-quoted-string: "[^"]*" 
     103  integer: [0-9]+ 
     104}}} 
     105 
     106[=#native_specification] 
     107== Native specification == 
     108 
     109DRMAA interface allows to pass DRM dependent job submission options. 
     110Those options may be specified directly by setting `drmaa_native_specification` job 
     111template attribute or indirectly by the `drmaa_job_category` job template attribute.  
     112The legal format of the native options looks like:: 
     113{{{ 
     114  -A My_job_name -s -N 1=10 
     115}}} 
     116 
     117||= Native specification =||= Description =|| 
     118||  `-A, --account=`\name   ||      Charge job to specified accounts || 
     119||  `--acctg-freq`             ||   Define  the  job accounting sampling interval || 
     120||  `--comment`                ||   An arbitrary comment || 
     121||  `-C, --constraint=`\list   ||   Specify a list of constraints || 
     122||  `--contiguous`             ||   If  set,  then  the  allocated nodes must form a contiguous set || 
     123||  `--exclusive`              ||   Allocate nodenumber of tasks to invoke on each nodes in exclusive mode when cpu consumable resource is enabled || 
     124||  `--mem=`\MB                ||   Minimum amount of real memory || 
     125||  `--mem-per-cpu=`\MB        ||   Maximum mount of real memory per allocated cpu required by a job || 
     126||  `--mincpus=`\n             ||   Minimum number of logical processors (threads) per node || 
     127||  `-N, --nodes=`\N           ||   Number of nodes on which to run (N = min[-max]) || 
     128||  `--ntasks-per-node=`\n     || Number of tasks to invoke on each node  ||  
     129||  `-p, --partition=`\partition ||  Partition requested || 
     130||  `--qos=`\qos               ||   Quality of Serice || 
     131||  `--requeue`                ||   If set, permit the job to be requeued || 
     132||  `--reservation=`\name      ||   Allocate resources from named reservation || 
     133||  `-s, --share`              ||   Job allocation  can  share  nodes with other running jobs || 
     134||  `-w, --nodelist=`\hosts    ||   Request a specific list of hosts || 
     135 
     136   
     137Description of each parameter can be found in `man sbatch`. 
     138 
     139== Release notes == 
     140 
     141 * 1.0.0 - first public release 
     142 
     143=== Known bugs and limitations === 
     144 
     145 
     146Library covers all [#specification DRMAA 1.0 specification] with exceptions listed 
     147below.  It was successfully tested with [#slurm Simple Linux Utility for Resource Management (SLURM) 2.1.13] on Linux and passes 44/44 tests of the [#testsuite official DRMAA test-suite] (running as SLURM administrator). 
     148Using regular user account SLURM DRMAA passes 40/44 tests of the official DRMAA test-suite.  
     149 
     150Known limitations: 
     151 
     152 * `drmaa_control` options `DRMAA_CONTROL_HOLD`, `DRMAA_CONTROL_SUSPEND`, `DRMAA_CONTROL_RELEASE`, `DRMAA_CONTROL_RESUME` are only available for users being SLURM administrators 
     153 * `drmaa_wct_slimit` not implemented 
     154 * optional attributes `drmaa_deadline_time`, `drmaa_duration_hlimit`, `drmaa_duration_slimit`, `drmaa_transfer_files` not implemented 
     155 
     156 
     157=== Authors === 
     158 
     159The library was developed by: 
     160 
     161 * Michal Matloka - core implementation 
     162 
     163This library relies heavily on the ''Fedstage DRMAA utils'' code developed by: 
     164 
     165 * Lukasz Ciesnik. 
     166 
     167[=#dev_tools] 
     168=== Developer tools === 
     169 
     170Although not needed for library user the following tools may be required 
     171if you intend to develop PSNC DRMAA for SLURM: 
     172 
     173 * GNU autotools (autoconf, automake, libtool), 
     174 * [#bison Bison] parser generator, 
     175 * [#docutils Docutils] for processing this `README`, 
     176 * [#latex LaTeX] for creating documentation in PDF format, 
     177 * [#doxygen Doxygen] for generating source code documentation. 
     178 
     179=== Links === 
     180 
     181[=#bison] Bison:     http://www.gnu.org/software/bison/ \\ 
     182[=#docutils] Docutils:  http://docutils.sourceforge.net/ \\ 
     183[=#latex] LaTeX:     http://www.latex-project.org/ \\ 
     184[=#doxygen] Doxygen:   http://www.stack.nl/~dimitri/doxygen/ \\ 
     185[=#drmaa] DRMAA: http://www.drmaa.org/ \\ 
     186[=#open_grid_forum] Open Grid Forum: http://www.gridforum.org/ \\ 
     187[=#specification] DRMAA 1.0 specification: http://www.ogf.org/documents/GFD.133.pdf \\ 
     188[=#testsuite] Official DRMAA test-suite: http://drmaa.org/testsuite.php \\ 
     189[=#smoa_comp] SMOA Computing: http://larix.man.poznan.pl/wiki/SMOA_Computing \\ 
     190[=#slurm] Simple Linux Utility for Resource Management (SLURM): https://computing.llnl.gov/linux/slurm/ \\ 
     191 
     192 
     193=== License === 
     194 
     195Copyright (C) 2009-2010  Poznan Supercomputing and Networking Center  
     196 
     197This program is free software: you can redistribute it and/or modify 
     198it under the terms of the GNU General Public License as published by 
     199the Free Software Foundation, either version 3 of the License, or 
     200(at your option) any later version. 
     201 
     202This program is distributed in the hope that it will be useful, 
     203but WITHOUT ANY WARRANTY; without even the implied warranty of 
     204MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     205GNU General Public License for more details. 
     206 
     207You should have received a copy of the GNU General Public License 
     208along with this program.  If not, see http://www.gnu.org/licenses/.