Released as 20111122 ('Silvio').

This commit is contained in:
Ole Tange 2011-11-22 22:38:57 +01:00
parent 8caad4be8a
commit 140337dc73
11 changed files with 146 additions and 75 deletions

46
NEWS
View file

@ -1,3 +1,47 @@
20111122
* GNU Parallel package for Fedora.
https://admin.fedoraproject.org/pkgdb/acls/name/parallel
* Using GNU Parallel with Mozilla cross referencing.
https://blog.mozilla.com/it/2011/11/15/mxr-improvements/
* Neat flash presentation of GNU Parallel.
http://prezi.com/0nq74b2elgtx/about-gnu-parallel/
* How to create tar files of dirs in parallel.
https://joneslee85.wordpress.com/2011/11/22/shell-tips-how-to-recursively-archive-many-folders/
* Article in Admin Network&Security by Ben Martin.
http://www.admin-magazine.com/HPC/Articles/GNU-Parallel
* Blog post in Polish.
http://blog.tiger.com.pl/2011/01/05/gnu-parallel/
* Blog post on using GNU Parallel of Mac OS X.
http://www.0xcb0.com/2011/10/19/running-parallel-bash-tasks-on-os-x/
* Blog post in English about using zip with GNU Parallel.
http://nuclear-imaging.info/site_content/2011/05/11/gnu-parallel/
* Blog post in English by researcher.
http://zandyware.wordpress.com/2011/10/15/gnu-parallell-make-best-use-of-your-multicore-computer/
* Blog entry in Chinese.
http://blog.csdn.net/tossense/article/details/6889026
* Blog entry in Japanese on managing many servers.
http://hiroakis.com/blog/2011/11/13/gnu-parallel/
* GNU Parallel is now part of ppbs.
http://physiology.med.cornell.edu/faculty/mason/lab/ppbs/introduction/introduction.html
* How to use GNU Parallel with MCX.
http://mcx.sourceforge.net/cgi-bin/index.cgi?MMC/Doc/MMCCluster
* Bug fixes and man page updates.
20111022 20111022
* --tag prepends lines with the argument(s). If used with --(n)onall * --tag prepends lines with the argument(s). If used with --(n)onall
@ -22,7 +66,7 @@
* Blog post on recompression FLAC audio. * Blog post on recompression FLAC audio.
http://blog.oxplot.com/2011/08/reflac-flac-cleanser.html http://blog.oxplot.com/2011/08/reflac-flac-cleanser.html
* The most complex use of ::: I a seen so far. * The most complex use of ::: I have seen so far.
http://agentzlerich.blogspot.com/2011/09/following-up-on-previous-failures-ive.html http://agentzlerich.blogspot.com/2011/09/following-up-on-previous-failures-ive.html
* Example of using GNU Parallel with sudo. * Example of using GNU Parallel with sudo.

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for parallel 20111022. # Generated by GNU Autoconf 2.68 for parallel 20111122.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -559,8 +559,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20111022' PACKAGE_VERSION='20111122'
PACKAGE_STRING='parallel 20111022' PACKAGE_STRING='parallel 20111122'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -1176,7 +1176,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20111022 to adapt to many kinds of systems. \`configure' configures parallel 20111122 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1242,7 +1242,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20111022:";; short | recursive ) echo "Configuration of parallel 20111122:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1309,7 +1309,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20111022 parallel configure 20111122
generated by GNU Autoconf 2.68 generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc. Copyright (C) 2010 Free Software Foundation, Inc.
@ -1326,7 +1326,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20111022, which was It was created by parallel $as_me 20111122, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@ $ $0 $@
@ -2141,7 +2141,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20111022' VERSION='20111122'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2704,7 +2704,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20111022, which was This file was extended by parallel $as_me 20111122, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2766,7 +2766,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20111022 parallel config.status 20111122
configured by $0, generated by GNU Autoconf 2.68, configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20111022], [bug-parallel@gnu.org]) AC_INIT([parallel], [20111122], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View file

@ -1,11 +1,4 @@
Fejler: --timeout auto: If a jobs takes > 3*average runtime then kill it. Only after job 3.
parallel -qv echo {#} {1} {1.} {} {.} {/} {//} ::: a.b/c.d
parallel -Xqv echo {#} a{1}{1.} {} ::: a.b/c.d
parallel -Xqv echo {#}a{1}{1.} {} ::: a.b/c.d
seq 2 | parallel -v echo {2} ::: c :::: -
parallel echo {2} ::: a ::: b
niceload seeks last column: niceload seeks last column:
@ -13,6 +6,10 @@ iostat -x 1 2
niceload --start-condition niceload --start-condition
niceload should prioritize jobs and only unsuspend the highest
priority job. If the running job with lowest pri has run for 1 sec:
Consider unsuspending next pri job.
Til QUOTING: Til QUOTING:
@ -166,8 +163,11 @@ Dont start:
* seek * seek
= Videos =
# GNU Parallel 20111022 - The Steve Ritchie release == Ideas ==
# GNU Parallel 20111122 - The Silvio release
--tag --tag
-Jt (e.g. --tag --nonall) -Jt (e.g. --tag --nonall)
@ -178,7 +178,12 @@ Dont start:
./src/parallel --sshloginfile ~/.parallel/remote --slf ~/.parallel/local --nonall hostname ./src/parallel --sshloginfile ~/.parallel/remote --slf ~/.parallel/local --nonall hostname
sem
single file installation
== Video: GNU Parallel 20110522 - The Pakistan Release ==
# GNU Parallel 20110522 - The Pakistan Release # GNU Parallel 20110522 - The Pakistan Release

View file

@ -187,13 +187,25 @@ Subject: GNU Parallel 20111122 ('Silvio') released
GNU Parallel 20111122 ('Silvio') has been released. It is GNU Parallel 20111122 ('Silvio') has been released. It is
available for download at: http://ftp.gnu.org/gnu/parallel/ available for download at: http://ftp.gnu.org/gnu/parallel/
This is a bugfix release with no new features. Probably a good release
for stable long-term use.
New in this release: New in this release:
* GNU Parallel package for Fedora. * GNU Parallel package for Fedora.
https://admin.fedoraproject.org/pkgdb/acls/name/parallel https://admin.fedoraproject.org/pkgdb/acls/name/parallel
* GNU Parallel is now part of ppbs. * Using GNU Parallel with Mozilla cross referencing.
http://physiology.med.cornell.edu/faculty/mason/lab/ppbs/introduction/introduction.html https://blog.mozilla.com/it/2011/11/15/mxr-improvements/
* Neat flash presentation of GNU Parallel.
http://prezi.com/0nq74b2elgtx/about-gnu-parallel/
* How to create tar files of dirs in parallel.
https://joneslee85.wordpress.com/2011/11/22/shell-tips-how-to-recursively-archive-many-folders/
* Article in Admin Network&Security by Ben Martin.
http://www.admin-magazine.com/HPC/Articles/GNU-Parallel
* Blog post in Polish. * Blog post in Polish.
http://blog.tiger.com.pl/2011/01/05/gnu-parallel/ http://blog.tiger.com.pl/2011/01/05/gnu-parallel/
@ -210,6 +222,15 @@ New in this release:
* Blog entry in Chinese. * Blog entry in Chinese.
http://blog.csdn.net/tossense/article/details/6889026 http://blog.csdn.net/tossense/article/details/6889026
* Blog entry in Japanese on managing many servers.
http://hiroakis.com/blog/2011/11/13/gnu-parallel/
* GNU Parallel is now part of ppbs.
http://physiology.med.cornell.edu/faculty/mason/lab/ppbs/introduction/introduction.html
* How to use GNU Parallel with MCX.
http://mcx.sourceforge.net/cgi-bin/index.cgi?MMC/Doc/MMCCluster
* Bug fixes and man page updates. * Bug fixes and man page updates.

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20111022; $Global::version = 20111122;
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage(); get_options_from_array(\@ARGV) || die_usage();
if($::opt_version) { if($::opt_version) {

View file

@ -30,25 +30,25 @@ run 1 second, suspend (3.00-1.00) seconds, run 1 second, suspend
=over 9 =over 9
=item B<-f> I<FACTOR> (beta testing) =item B<-f> I<FACTOR>
=item B<--factor> I<FACTOR> (beta testing) =item B<--factor> I<FACTOR>
Suspend time factor. Dynamically set B<-s> as amount over limit * Suspend time factor. Dynamically set B<-s> as amount over limit *
factor. Default is 1. factor. Default is 1.
=item B<-H> (beta testing) =item B<-H>
=item B<--hard> (beta testing) =item B<--hard>
Hard limit. B<--hard> will suspend the process until the system is Hard limit. B<--hard> will suspend the process until the system is
under the limits. The default is B<--soft>. under the limits. The default is B<--soft>.
=item B<--io> I<iolimit> (beta testing) =item B<--io> I<iolimit>
=item B<-I> I<iolimit> (beta testing) =item B<-I> I<iolimit>
Limit for I/O. The amount of disk I/O will be computed as a value 0 - Limit for I/O. The amount of disk I/O will be computed as a value 0 -
10, where 0 is no I/O and 10 is at least one disk is 100% satuated. 10, where 0 is no I/O and 10 is at least one disk is 100% satuated.
@ -56,18 +56,18 @@ Limit for I/O. The amount of disk I/O will be computed as a value 0 -
B<--io> will set both B<--start-io> and B<run-io>. B<--io> will set both B<--start-io> and B<run-io>.
=item B<--load> I<loadlimit> (beta testing) =item B<--load> I<loadlimit>
=item B<-L> I<loadlimit> (beta testing) =item B<-L> I<loadlimit>
Limit for load average. Limit for load average.
B<--load> will set both B<--start-load> and B<run-load>. B<--load> will set both B<--start-load> and B<run-load>.
=item B<--mem> I<memlimit> (beta testing) =item B<--mem> I<memlimit>
=item B<-M> I<memlimit> (beta testing) =item B<-M> I<memlimit>
Limit for free memory. This is the amount of bytes available as free Limit for free memory. This is the amount of bytes available as free
+ cache. This limit is treated opposite other limits: If the system + cache. This limit is treated opposite other limits: If the system
@ -81,9 +81,9 @@ respectively.
B<--mem> will set both B<--start-mem> and B<run-mem>. B<--mem> will set both B<--start-mem> and B<run-mem>.
=item B<--noswap> (beta testing) =item B<--noswap>
=item B<-N> (beta testing) =item B<-N>
No swapping. If the system is swapping both in and out it is a good No swapping. If the system is swapping both in and out it is a good
indication that the system is memory stressed. indication that the system is memory stressed.
@ -93,88 +93,88 @@ B<--noswap> is over limit if the system is swapping both in and out.
B<--noswap> will set both B<--start-noswap> and B<run-noswap>. B<--noswap> will set both B<--start-noswap> and B<run-noswap>.
=item B<-n> I<niceness> (beta testing) =item B<-n> I<niceness>
=item B<--nice> I<niceness> (beta testing) =item B<--nice> I<niceness>
Sets niceness. See B<nice>(1). Sets niceness. See B<nice>(1).
=item B<-p> I<PID> (beta testing) =item B<-p> I<PID>
=item B<--pid> I<PID> (beta testing) =item B<--pid> I<PID>
Process ID of process to suspend. Process ID of process to suspend.
=item B<--quote> (beta testing) =item B<--quote>
=item B<-q> (beta testing) =item B<-q>
Quote the command line. Useful if the command contains chars like *, Quote the command line. Useful if the command contains chars like *,
$, >, and " that should not be interpreted by the shell. $, >, and " that should not be interpreted by the shell.
=item B<--run-io> I<iolimit> (beta testing) =item B<--run-io> I<iolimit>
=item B<--ri> I<iolimit> (beta testing) =item B<--ri> I<iolimit>
=item B<--run-load> I<loadlimit> (beta testing) =item B<--run-load> I<loadlimit>
=item B<--rl> I<loadlimit> (beta testing) =item B<--rl> I<loadlimit>
=item B<--run-mem> I<memlimit> (beta testing) =item B<--run-mem> I<memlimit>
=item B<--rm> I<memlimit> (beta testing) =item B<--rm> I<memlimit>
Run limit. The running program will be slowed down if the system is Run limit. The running program will be slowed down if the system is
above the limit. See: B<--io>, B<--load>, B<--mem>, B<--noswap>. above the limit. See: B<--io>, B<--load>, B<--mem>, B<--noswap>.
=item B<--start-io> I<iolimit> (beta testing) =item B<--start-io> I<iolimit>
=item B<--si> I<iolimit> (beta testing) =item B<--si> I<iolimit>
=item B<--start-load> I<loadlimit> (beta testing) =item B<--start-load> I<loadlimit>
=item B<--sl> I<loadlimit> (beta testing) =item B<--sl> I<loadlimit>
=item B<--start-mem> I<memlimit> (beta testing) =item B<--start-mem> I<memlimit>
=item B<--sm> I<memlimit> (beta testing) =item B<--sm> I<memlimit>
Start limit. The program will not start until the system is below the Start limit. The program will not start until the system is below the
limit. See: B<--io>, B<--load>, B<--mem>, B<--noswap>. limit. See: B<--io>, B<--load>, B<--mem>, B<--noswap>.
=item B<--soft> (beta testing) =item B<--soft>
=item B<-S> (beta testing) =item B<-S>
Soft limit. B<niceload> will suspend a process for a while and then Soft limit. B<niceload> will suspend a process for a while and then
let it run for a second thus only slowing down a process while the let it run for a second thus only slowing down a process while the
system is over one of the given limits. This is the default. system is over one of the given limits. This is the default.
=item B<--suspend> I<SEC> (beta testing) =item B<--suspend> I<SEC>
=item B<-s> I<SEC> (beta testing) =item B<-s> I<SEC>
Suspend time. Suspend the command this many seconds when the max load Suspend time. Suspend the command this many seconds when the max load
average is reached. average is reached.
=item B<--recheck> I<SEC> (beta testing) =item B<--recheck> I<SEC>
=item B<-t> I<SEC> (beta testing) =item B<-t> I<SEC>
Recheck load time. Sleep SEC seconds before checking load Recheck load time. Sleep SEC seconds before checking load
again. Default is 1 second. again. Default is 1 second.
=item B<--verbose> (beta testing) =item B<--verbose>
=item B<-v> (beta testing) =item B<-v>
Verbose. Print some extra output on what is happening. Use B<-v> until Verbose. Print some extra output on what is happening. Use B<-v> until
you know what your are doing. you know what your are doing.

View file

@ -502,7 +502,7 @@ sub get_options_from_array {
sub parse_options { sub parse_options {
# Returns: N/A # Returns: N/A
# Defaults: # Defaults:
$Global::version = 20111115; $Global::version = 20111122;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;

View file

@ -434,7 +434,7 @@ If I<eof-str> is omitted, there is no end of file string. If neither
B<-E> nor B<-e> is used, no end of file string is used. B<-E> nor B<-e> is used, no end of file string is used.
=item B<--eta> (alpha testing) =item B<--eta> (beta testing)
Show the estimated number of seconds before finishing. This forces GNU Show the estimated number of seconds before finishing. This forces GNU
B<parallel> to read all jobs before starting to find the number of B<parallel> to read all jobs before starting to find the number of
@ -648,7 +648,7 @@ B<-l 0> is an alias for B<-l 1>.
Implies B<-X> unless B<-m> is set. Implies B<-X> unless B<-m> is set.
=item B<--load> I<max-load> (beta testing) =item B<--load> I<max-load>
Do not start new jobs on a given computer unless the load is less than Do not start new jobs on a given computer unless the load is less than
I<max-load>. I<max-load> uses the same syntax as B<--jobs>, so I<100%> I<max-load>. I<max-load> uses the same syntax as B<--jobs>, so I<100%>
@ -709,7 +709,7 @@ This is useful for scripts that depend on features only available from
a certain version of GNU B<parallel>. a certain version of GNU B<parallel>.
=item B<--nonall> (beta testing) =item B<--nonall>
B<--onall> with no arguments. Run the command on all computers given B<--onall> with no arguments. Run the command on all computers given
with B<--sshlogin> but take no arguments. GNU B<parallel> will log with B<--sshlogin> but take no arguments. GNU B<parallel> will log
@ -720,7 +720,7 @@ This is useful for running the same command (e.g. uptime) on a list of
servers. servers.
=item B<--onall> (beta testing) =item B<--onall>
Run all the jobs on all computers given with B<--sshlogin>. GNU Run all the jobs on all computers given with B<--sshlogin>. GNU
B<parallel> will log into B<--jobs> number of computers in parallel B<parallel> will log into B<--jobs> number of computers in parallel
@ -860,9 +860,9 @@ from the terminal. Only run the command line if the response starts
with 'y' or 'Y'. Implies B<-t>. with 'y' or 'Y'. Implies B<-t>.
=item B<--profile> I<profilename> (alpha testing) =item B<--profile> I<profilename> (beta testing)
=item B<-J> I<profilename> (alpha testing) =item B<-J> I<profilename> (beta testing)
Use profile I<profilename> for options. This is useful if you want to Use profile I<profilename> for options. This is useful if you want to
have multiple profiles. You could have one profile for running jobs in have multiple profiles. You could have one profile for running jobs in
@ -1102,9 +1102,9 @@ B<--sshlogin> is often used with B<--transfer>, B<--return>,
B<--cleanup>, and B<--trc>. B<--cleanup>, and B<--trc>.
=item B<--sshloginfile> I<filename> (alpha testing) =item B<--sshloginfile> I<filename> (beta testing)
=item B<--slf> I<filename> (alpha testing) =item B<--slf> I<filename> (beta testing)
File with sshlogins. The file consists of sshlogins on separate File with sshlogins. The file consists of sshlogins on separate
lines. Empty lines and lines starting with '#' are ignored. Example: lines. Empty lines and lines starting with '#' are ignored. Example:
@ -1166,7 +1166,7 @@ and it will open a tty for the job. When the job is done, the next job
will get the tty. will get the tty.
=item B<--tag> (alpha testing) =item B<--tag> (beta testing)
Tag lines with arguments. Each output line will be prepended with the Tag lines with arguments. Each output line will be prepended with the
arguments and TAB (\t). When combined with B<--onall> or B<--nonall> arguments and TAB (\t). When combined with B<--onall> or B<--nonall>
@ -1183,7 +1183,7 @@ different dir for the files. Setting B<--tmpdir> is equivalent to
setting $TMPDIR. setting $TMPDIR.
=item B<--timeout> I<sec> (beta testing) =item B<--timeout> I<sec>
Time out for command. If the command runs for longer than I<sec> Time out for command. If the command runs for longer than I<sec>
seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms

View file

@ -556,7 +556,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20111022; $Global::version = 20111122;
$Global::progname = 'sql'; $Global::progname = 'sql';
# This must be done first as this may exec myself # This must be done first as this may exec myself

View file

@ -9,7 +9,8 @@ sleep 0.1; echo opt--interactive 1 ?...y
sleep 0.1; echo opt--interactive 2 ?...n sleep 0.1; echo opt--interactive 2 ?...n
sleep 0.1; echo opt--interactive 3 ?...y sleep 0.1; echo opt--interactive 3 ?...y
opt--interactive 1 opt--interactive 1
opt--interactive 3 opt--interactive 3
### Test -L -l and --max-lines ### Test -L -l and --max-lines
a_b a_b
c c