Launcher
Launcher: A simple tool for executing high throughput computing workloads - Published in JOSS (2017)
Science Score: 98.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
9 of 14 committers (64.3%) from academic institutions -
✓Institutional organization owner
Organization tacc has institutional domain (www.tacc.utexas.edu) -
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
Basic Info
- Host: GitHub
- Owner: TACC
- License: mit
- Language: Shell
- Default Branch: master
- Size: 850 KB
Statistics
- Stars: 63
- Watchers: 11
- Forks: 32
- Open Issues: 16
- Releases: 6
Topics
Metadata Files
README.md
Launcher
Launcher is a utility for performing simple, data parallel, high throughput computing (HTC) workflows on clusters, massively parallel processor (MPP) systems, workgroups of computers, and personal machines.
Installing Launcher
Launcher does not need to be compiled. Unpack the tarball or clone the repository in the desired directory. Then, set LAUNCHER_DIR to point to that location. Python 2.7 or greater and hwloc are required for full functionality. See INSTALL for more information.
Verifying Installation
Included in the download is a file called "quickstart" found in the folder "tests". In order to verify installation, open the command line and find the launcher file, and then type "cd tests" and then press the enter key. If the quickstart file is in the correct place, there is no need for arguments, so type "./quickstart". However, if the Launcher directory is found somewhere else, type "./quickstart
Quickstart
- Set
LAUNCHER_JOB_FILEto point to your job file. Example job files are provided in extras/examples. - Be sure that
LAUNCHER_DIRis set to the directory containing the launcher source files (user-installed ONLY. Not required if using system installed version of launcher). - From the command-line or within your jobscript, run:
$LAUNCHER_DIR/paramrun
Available Environment Variables
You should set the following environment variables:
$LAUNCHER_JOB_FILEis the file containing the jobs to run in your parametric submission.$LAUNCHER_WORKDIRis the directory where the launcher will execute. All relative paths will resolve to this directory.
The launcher defines the following environment variables for each job that is started:
$LAUNCHER_NPROCScontains the number of processes running simultaneously in your parametric submission.$LAUNCHER_NHOSTScontains the number of hosts running simultaneously in your parametric submission.$LAUNCHER_PPNcontains the number of processes per node.$LAUNCHER_NJOBScontains the number of jobs in your job file.$LAUNCHER_TSK_IDis the particular processing core that the job is running on, from 0 to$LAUNCHER_NPROCS-1.$LAUNCHER_JIDrepresents the particular job instance currently running.$LAUNCHER_JIDis numbered from 1 to$LAUNCHER_NJOBS.
Example: If you want to redirect stdout to a file containing the unique ID of each line, you can specify the following in the job file: a.out > out.o$LAUNCHER_JID
If this particular execution instance of a.out was the first line in the job file, the output would be placed in the file "out.o1".
Note: you can also use the launcher to run a sequence of serial jobs when you have more jobs to run than the requested number of processors.
Task Scheduling Behavior
The launcher has three available behaviors for scheduling jobs, available by setting the environment variable $LAUNCHER_SCHED: (descriptions below assume k = task, p = num. procs, n = num. jobs)
- dynamic (default) - each task k executes first available unclaimed line
- interleaved - each task k executes every (k+p)th line
- block - each task k executes lines [ k(n/p)+1, (k+1)(n/p) ]
Using Launcher on Multi-/Many-core Processors
Launcher uses the hwloc utility to determine layout of cores on the node. If hwloc is installed on your system and the commands are in the default PATH, Launcher will use this to partition the cores on node between the tasks. You can enable task binding by setting LAUNCHER_BIND=1 before calling paramrun.
Using Launcher with Intel Xeon Phi (KNC) Co-processor Cards
Launcher has the ability to execute appropriately compiled executables natively on first generation Intel Xeon Phi (KNC) cards.
Available Environment Variables for Intel Xeon Phi execution:
$LAUNCHER_NPHIis the number of Intel Xeon Phi cards per node. This is set to zero (0) by default. Acceptable values are '1' and '2'.$LAUNCHER_PHI_PPNis the number of processes per Intel Xeon Phi card.$LAUNCHER_PHI_JOB_FILEis the file containing the jobs to run on the Intel Xeon Phi cards.
Job Submission
Copy the example job submission script launcher.<sched> to your working directory to use as a starting point for interfacing with the desired batch system. Note that this script provides some simple error checking prior to the actual submission to aid in diagnosing missing executables and misconfiguration.
The launcher/extras/batch-scripts directory contains several example submission scripts: * SGE: launcher.sge * SLURM: launcher.slurm
Referencing Launcher
If you are using Launcher, please remember to make a reference to it when publishing results. The file paper/paper.bib contains the BibTeX-formatted citation list. Please reference entry Wilson:2014:LSF:2616498.2616533 (i.e., in LaTeX: \cite{Wilson:2014:LSF:2616498.2616534}).
Owner
- Name: Texas Advanced Computing Center
- Login: TACC
- Kind: organization
- Location: Austin, TX
- Website: http://www.tacc.utexas.edu
- Repositories: 197
- Profile: https://github.com/TACC
JOSS Publication
Launcher: A simple tool for executing high throughput computing workloads
Authors
Texas Advanced Computing Center, The University of Texas at Austin
Texas Advanced Computing Center, The University of Texas at Austin
Stanford University
Texas Advanced Computing Center, The University of Texas at Austin
Texas Advanced Computing Center, The University of Texas at Austin
Tags
tools high throughput computing parallel computing distributed computingGitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Lucas A. Wilson | l****n@t****u | 52 |
| Lucas Wilson | l****n@g****m | 37 |
| Marshall Lerner | m****r@b****u | 27 |
| Si Liu | s****u@t****u | 9 |
| Kent Milfeld | m****d@t****u | 4 |
| oesteban | c****e@o****s | 3 |
| Joshua Lynch | j****h@e****u | 3 |
| johnfonner | j****r@g****m | 2 |
| Christopher Blanton | c****n@g****m | 2 |
| Si Liu | s****u@l****u | 2 |
| vtrue | v****t@t****u | 1 |
| Si Liu | s****u@l****u | 1 |
| Richard Cameron Craddock | c****k@l****u | 1 |
| Lucas A. Wilson | l****e@v****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 30
- Total pull requests: 39
- Average time to close issues: 8 months
- Average time to close pull requests: 11 days
- Total issue authors: 18
- Total pull request authors: 12
- Average comments per issue: 2.27
- Average comments per pull request: 0.33
- Merged pull requests: 30
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- AJVincelli (4)
- kc9qey (4)
- schristley (3)
- lwilson (3)
- oesteban (2)
- luisgithub269 (2)
- rsbrennan (1)
- mortonne (1)
- dyhan316 (1)
- armando-fandango (1)
- bcov77 (1)
- jklynch (1)
- cpacker (1)
- karanjeets (1)
- fzeiser (1)
Pull Request Authors
- lwilson (12)
- marshalllerner (12)
- AJVincelli (3)
- oesteban (3)
- jklynch (2)
- ccraddock (1)
- johnfonner (1)
- fzeiser (1)
- cjantonelli (1)
- chrisblanton (1)
- kenyastorm (1)
- milfeld (1)
