diff options
author | Chris Dyer <redpony@gmail.com> | 2014-01-15 20:33:02 -0500 |
---|---|---|
committer | Chris Dyer <redpony@gmail.com> | 2014-01-15 20:33:02 -0500 |
commit | b1628d8bedb8a4145c77ed5917999379fc99a5d5 (patch) | |
tree | b35bfd79b4fcf6725f663768040063f59e38d8c7 /training/utils | |
parent | b5c7cb3b9a1bfd917235fc79d67169b9d7d98ab0 (diff) |
maybe better randomization to prevent port conflicts on big machines?
Diffstat (limited to 'training/utils')
-rwxr-xr-x | training/utils/parallelize.pl | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/training/utils/parallelize.pl b/training/utils/parallelize.pl index 4197e0e5..c9ab88ce 100755 --- a/training/utils/parallelize.pl +++ b/training/utils/parallelize.pl @@ -45,11 +45,22 @@ my $numnodes = 8; my $user = $ENV{"USER"}; my $pmem = "9g"; my $basep=50300; -my $randp=300; my $tryp=50; my $no_which; my $no_cd; +if (-r '/dev/urandom') { + open(RR,'</dev/urandom') or die "Failed to read /dev/urandom: $!"; + my $buffer; + die "Failed to read 4 bytes of entropy" unless read(RR,$buffer,4) == 4; + close RR; + my ($val) = unpack 'L1', $buffer; + srand($val); +} else { + srand(); +} +my $randp=4000; + my $DEBUG=$ENV{DEBUG}; print STDERR "DEBUG=$DEBUG output enabled.\n" if $DEBUG; my $verbose = 1; @@ -206,8 +217,7 @@ chomp $host; # find open port -srand; -my $port = 50300+int(rand($randp)); +my $port = $basep+int(rand($randp)); my $endp=$port+$tryp; sub listening_port_lines { my $quiet=$verbose?'':'2>/dev/null'; |