[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[creduce-dev] More Parallel Tuning Data (Re: parallel tuning)



Eric Eide <eeide@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 <eeide@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