Eric Eide <ee...@cs.utah.edu> writes:

> I do think, though, that limiting parallelism to 4 is probably not a good
> idea.  [...] (Of course, I *could* test this, for some given set of
> reductions, but not today.  Today I need to focus on something else.)

tl;dr For high-core machines, run one interstingness test for every two cores.

Details: I ran some of the C-Reduce tests on one of the machines that we are
adding to Emulab.  This is a Dell R430 with:

  two 8-core 2.4GHz Xeon CPUs, 64 GB RAM, 200 GB SSD, two 1TB disks

For my tests, I only used the SSD.  The machine ran Ubuntu 14.04.

I used the current head of the C-Reduce "master" branch.  I compiled C-Reduce
using the steps shown in the Travis-CI script (on the "travis-ci-ubuntu14"
branch).  I modified the `run_tests' script so that I could specify the number
of parallel tasks through an environment variable, "NCPUS".  The
interestingness tests used the installed `gcc' and the `clang' from LLVM 3.7.

I ran `NCPUS=N time run_tests T' for various values of N and T.  For a given
test T, I ran the CPU configurations in order (N = 1..20), and I ran each
configuration only once, because I am a bad and lazy experimentalist :-).

The results are attached below.  As shown, the minimum elapsed time occurs
somewhere between N=9 and N=12.  In all cases, though, the elapsed time at N=8
is pretty close to the optimum, without causing a big bloat in user and system
time.

For N=4, test 6 takes about a minute longer than its minimum measured time,
which occurs at N=9.

Eric.

-------------------------------------------------------------------------------

test == 0

NCPUS
1       236.56user 120.72system 5:55.18elapsed
2       255.26user 134.08system 3:37.39elapsed
3       281.44user 155.56system 3:04.23elapsed
4       312.23user 177.10system 2:26.66elapsed
5       344.51user 196.16system 2:15.88elapsed
6       378.27user 218.38system 2:09.82elapsed  <-- within 5%
7       414.33user 241.28system 2:06.64elapsed
8       447.50user 261.33system 2:04.46elapsed
9       484.69user 283.21system 2:03.80elapsed
10      520.98user 303.92system 2:03.62elapsed  <-- min elapsed
11      558.43user 324.77system 2:03.77elapsed
12      600.07user 342.95system 2:04.47elapsed
13      639.41user 361.00system 2:04.79elapsed
14      679.12user 381.52system 2:05.93elapsed
15      732.34user 398.68system 2:07.41elapsed
16      777.26user 415.13system 2:09.07elapsed
17      846.23user 442.43system 2:11.68elapsed
18      906.77user 486.45system 2:15.52elapsed
19      964.08user 499.17system 2:17.20elapsed
20      1005.75user 518.71system 2:19.26elapsed

###############################################################################

test == 1

NCPUS
1       24.34user 29.75system 0:53.45elapsed
2       25.94user 32.50system 0:31.32elapsed
3       28.06user 35.43system 0:24.55elapsed
4       29.64user 39.76system 0:21.59elapsed
5       31.77user 43.23system 0:20.02elapsed
6       34.72user 46.29system 0:18.94elapsed
7       36.39user 49.95system 0:18.25elapsed
8       38.49user 52.78system 0:17.68elapsed    <-- within 5%
9       39.56user 55.84system 0:17.28elapsed
10      42.17user 57.66system 0:17.07elapsed
11      42.91user 60.00system 0:17.08elapsed
12      44.12user 62.28system 0:16.86elapsed    <-- min elapsed
13      46.68user 63.35system 0:16.89elapsed
14      47.19user 64.96system 0:16.91elapsed
15      49.49user 66.28system 0:16.92elapsed
16      49.41user 67.99system 0:16.94elapsed
17      50.83user 69.25system 0:17.01elapsed
18      52.51user 69.98system 0:16.98elapsed
19      53.18user 71.02system 0:17.00elapsed
20      53.26user 72.64system 0:17.01elapsed

###############################################################################

test == 6

NCPUS
1       1260.08user 568.53system 30:20.28elapsed
2       1387.89user 612.64system 18:54.47elapsed
3       1577.16user 715.67system 15:35.56elapsed
4       1776.64user 824.94system 14:15.95elapsed
5       1988.15user 966.87system 13:53.56elapsed        <-- within 5%
6       2191.79user 1055.43system 13:22.63elapsed
7       2410.75user 1176.22system 13:16.27elapsed
8       2612.29user 1297.85system 13:16.63elapsed
9       2826.87user 1374.21system 13:13.46elapsed       <-- min elapsed
10      3033.40user 1472.95system 13:18.78elapsed
11      3248.65user 1565.45system 13:23.93elapsed
12      3411.47user 1662.48system 13:30.42elapsed
13      3622.08user 1758.72system 13:40.62elapsed
14      3825.38user 1874.50system 13:54.55elapsed
15      4154.60user 2015.75system 14:13.78elapsed
16      4510.35user 2118.98system 14:31.68elapsed
17      4942.37user 2259.21system 14:59.81elapsed
18      5323.82user 2438.33system 15:29.67elapsed
19      5661.04user 2606.63system 15:56.82elapsed
20      6044.22user 2732.01system 16:27.23elapsed

###############################################################################

-- 
-------------------------------------------------------------------------------
Eric Eide <ee...@cs.utah.edu>  .         University of Utah School of Computing
http://www.cs.utah.edu/~eeide/ . +1 (801) 585-5512 voice, +1 (801) 581-5843 FAX

Reply via email to