mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-26 07:57:58 +00:00
parallel: ETA format changed. SHM+joblog testsuite fixed.
This commit is contained in:
parent
4ef63ba2e1
commit
e014e33743
|
@ -204,24 +204,42 @@ cc:Sandro Cazzaniga <kharec@mandriva.org>,
|
||||||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||||
Jesse Alama <jesse.alama@gmail.com>
|
Jesse Alama <jesse.alama@gmail.com>
|
||||||
|
|
||||||
Subject: GNU Parallel 20140222 ('Sochi') released
|
Subject: GNU Parallel 20140222 ('Со́чи') released
|
||||||
|
|
||||||
GNU Parallel 20140222 ('Sochi') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
GNU Parallel 20140222 ('Со́чи') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||||
|
|
||||||
|
The --compress change is so big that this release is of alpha quality.
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* --tollef has been retired.
|
* --tollef has been retired.
|
||||||
|
|
||||||
|
* --compress has be redesigned due to bugs.
|
||||||
|
|
||||||
* GNU Parallel was cited in: Speaker Verification and Keyword Spotting
|
* GNU Parallel was cited in: Speaker Verification and Keyword Spotting
|
||||||
Systems for Forensic Applications
|
Systems for Forensic Applications
|
||||||
http://lantana.tenet.res.in/website_files/thesis/Phd/srikanth.pdf
|
http://lantana.tenet.res.in/website_files/thesis/Phd/srikanth.pdf
|
||||||
|
|
||||||
|
* GNU Parallel was used (unfortunately without citation) in:
|
||||||
|
Performance and Energy Efficiency of Common Compression /
|
||||||
|
Decompression Utilities
|
||||||
|
http://www.researchgate.net/publication/243962643_Performance_and_Energy_Efficiency_of_Common_CompressionDecompression_Utilities_An_Experimental_Study_in_Mobile_and_Workstation_Computer_Platforms/file/3deec51d1dbc0474f9.pdf
|
||||||
|
|
||||||
* GNU Parallel is co-distributed with RepeatExplorer
|
* GNU Parallel is co-distributed with RepeatExplorer
|
||||||
http://www.vcru.wisc.edu/simonlab/bioinformatics/programs/repeatexplorer/README.txt
|
http://www.vcru.wisc.edu/simonlab/bioinformatics/programs/repeatexplorer/README.txt
|
||||||
|
|
||||||
|
* Convert MP3 to a scrolling spectrum waterfall plot video
|
||||||
|
http://jdesbonnet.blogspot.dk/2014/02/convert-mp3-to-scrolling-spectrum.html
|
||||||
|
|
||||||
* PHP wrapper class for the GNU Parallel tool
|
* PHP wrapper class for the GNU Parallel tool
|
||||||
https://github.com/geopal-solutions/gnu-parallel-wrapper/tree/master
|
https://github.com/geopal-solutions/gnu-parallel-wrapper/tree/master
|
||||||
|
|
||||||
|
* Single-Thread-Programme auf Multicore-Rechnern parallelisieren
|
||||||
|
http://www.adlerweb.info/blog/2014/02/08/linux-single-thread-programme-auf-multicore-rechnern-parallelisieren
|
||||||
|
|
||||||
|
* Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux
|
||||||
|
http://savepearlharbor.com/?p=210480
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1624,7 +1624,7 @@ sub progress {
|
||||||
} else {
|
} else {
|
||||||
$this_eta = $Private::last_eta;
|
$this_eta = $Private::last_eta;
|
||||||
}
|
}
|
||||||
$eta = sprintf("ETA: %ds %dleft %.2favg ", $this_eta, $left, $avgtime);
|
$eta = sprintf("ETA: %ds Left: %d AVG: %.2fs ", $this_eta, $left, $avgtime);
|
||||||
if($opt::bar) {
|
if($opt::bar) {
|
||||||
my $arg = $Global::newest_job ?
|
my $arg = $Global::newest_job ?
|
||||||
$Global::newest_job->{'commandline'}->simple_replace_placeholders($Global::replace{"{}"}) : "";
|
$Global::newest_job->{'commandline'}->simple_replace_placeholders($Global::replace{"{}"}) : "";
|
||||||
|
|
|
@ -3,6 +3,13 @@
|
||||||
# Simple jobs that never fails
|
# Simple jobs that never fails
|
||||||
# Each should be taking 30-100s and be possible to run in parallel
|
# Each should be taking 30-100s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
|
|
||||||
|
# Assume /tmp/shm is easy to fill up
|
||||||
|
export SHM=/tmp/shm/parallel
|
||||||
|
mkdir -p $SHM
|
||||||
|
sudo umount -l $SHM
|
||||||
|
sudo mount -t tmpfs -o size=10% none $SHM
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -j4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -j4 -L1
|
||||||
echo '### Test race condition on 8 CPU (my laptop)';
|
echo '### Test race condition on 8 CPU (my laptop)';
|
||||||
seq 1 5000000 > /tmp/parallel_test;
|
seq 1 5000000 > /tmp/parallel_test;
|
||||||
|
@ -11,7 +18,7 @@ echo '### Test race condition on 8 CPU (my laptop)';
|
||||||
echo '**'
|
echo '**'
|
||||||
|
|
||||||
echo "### Test --tmpdir running full. bug #40733 was caused by this"
|
echo "### Test --tmpdir running full. bug #40733 was caused by this"
|
||||||
stdout parallel -j1 --tmpdir /run/shm cat /dev/zero ::: dummy
|
stdout parallel -j1 --tmpdir $SHM cat /dev/zero ::: dummy
|
||||||
|
|
||||||
echo '**'
|
echo '**'
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ echo '### Test {#}'
|
||||||
seq 1 10 | parallel -k echo {#}
|
seq 1 10 | parallel -k echo {#}
|
||||||
|
|
||||||
echo '### Test --seqreplace and line too long'
|
echo '### Test --seqreplace and line too long'
|
||||||
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc
|
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc | uniq
|
||||||
|
|
||||||
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
||||||
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
||||||
|
|
|
@ -1,25 +1,36 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Assume /dev/shm is easy to fill up
|
# Assume /dev/shm is easy to fill up
|
||||||
mkdir -p /dev/shm/parallel
|
SHM=/tmp/shm/parallel
|
||||||
|
mkdir -p $SHM
|
||||||
|
sudo umount -l $SHM
|
||||||
|
sudo mount -t tmpfs -o size=10% none $SHM
|
||||||
|
|
||||||
|
echo '3 x terminated is OK' >&2
|
||||||
echo '### Test $TMPDIR'
|
echo '### Test $TMPDIR'
|
||||||
TMPDIR=/dev/shm/parallel stdout timeout -k 1 6 parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
TMPDIR=$SHM stdout timeout -k 1 6 parallel pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
PID=$!
|
||||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||||
|
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>;
|
||||||
|
if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n";exit }'
|
||||||
|
kill $PID
|
||||||
wait
|
wait
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
|
|
||||||
echo '### Test --tmpdir'
|
echo '### Test --tmpdir'
|
||||||
stdout timeout -k 1 6 parallel --tmpdir /dev/shm/parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
stdout timeout -k 1 6 parallel --tmpdir $SHM pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
PID=$!
|
||||||
|
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
||||||
|
kill $PID
|
||||||
wait
|
wait
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
|
|
||||||
echo '### Test $TMPDIR and --tmpdir'
|
echo '### Test $TMPDIR and --tmpdir'
|
||||||
TMPDIR=/tmp stdout timeout -k 1 6 parallel --tmpdir /dev/shm/parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
TMPDIR=/tmp stdout timeout -k 1 6 parallel --tmpdir $SHM pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
PID=$!
|
||||||
|
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
||||||
|
kill $PID
|
||||||
wait
|
wait
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
|
|
|
@ -258,7 +258,6 @@ o
|
||||||
10
|
10
|
||||||
### Test --seqreplace and line too long
|
### Test --seqreplace and line too long
|
||||||
1 1 130001
|
1 1 130001
|
||||||
1 1 130001
|
|
||||||
parallel: Error: Command line too long (260009 >= 131071) at number 9: 10...
|
parallel: Error: Command line too long (260009 >= 131071) at number 9: 10...
|
||||||
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
||||||
foo tag_with_foo
|
foo tag_with_foo
|
||||||
|
|
|
@ -90,14 +90,14 @@ echo '### -l -n with pipe'
|
||||||
echo '### bug #39360: --joblog does not work with --pipe'
|
echo '### bug #39360: --joblog does not work with --pipe'
|
||||||
### bug #39360: --joblog does not work with --pipe
|
### bug #39360: --joblog does not work with --pipe
|
||||||
seq 100 | parallel --joblog - --pipe wc | tr '0-9' 'X'
|
seq 100 | parallel --joblog - --pipe wc | tr '0-9' 'X'
|
||||||
Seq Host Starttime Runtime Send Receive Exitval Signal Command
|
Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
X : XXXXXXXXXX.XXX X.XXX X X X X wc
|
X : XXXXXXXXXX.XXX X.XXX X X X X wc
|
||||||
XXX XXX XXX
|
XXX XXX XXX
|
||||||
echo '### bug #39572: --tty and --joblog do not work'
|
echo '### bug #39572: --tty and --joblog do not work'
|
||||||
### bug #39572: --tty and --joblog do not work
|
### bug #39572: --tty and --joblog do not work
|
||||||
seq 1 | parallel --joblog - -u true | tr '0-9' 'X'
|
seq 1 | parallel --joblog - -u true | tr '0-9' 'X'
|
||||||
Seq Host Starttime Runtime Send Receive Exitval Signal Command
|
Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
X : XXXXXXXXXX.XXX X.XXX X X X X true X
|
X : XXXXXXXXXX.XXX X.XXX X X X X true X
|
||||||
echo '### How do we deal with missing $HOME'
|
echo '### How do we deal with missing $HOME'
|
||||||
### How do we deal with missing $HOME
|
### How do we deal with missing $HOME
|
||||||
unset HOME; stdout perl -w $(which parallel) -k echo ::: 1 2 3
|
unset HOME; stdout perl -w $(which parallel) -k echo ::: 1 2 3
|
||||||
|
|
Loading…
Reference in a new issue