[DGD] Hydra

bart at wotf.org bart at wotf.org
Mon Aug 20 14:16:40 CEST 2018


This is the biggest (in cores) system I have currently. Its not a very new
system, but a fair bit newer than your 10 years old one still.

2 sockets, 4 cores per socket, 32GB DDR3 1333, registered ECC memory.

cpu info:

[bart at isengard bm002]$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4533.95
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4533.95
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4533.95
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 6
initial apicid  : 6
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4533.95
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 4
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 1
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 16
initial apicid  : 16
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4532.67
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 5
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 1
siblings        : 4
core id         : 1
cpu cores       : 4
apicid          : 18
initial apicid  : 18
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4532.67
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 6
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 1
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 20
initial apicid  : 20
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4532.67
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
microcode       : 0x19
cpu MHz         : 2268.000
cache size      : 8192 KB
physical id     : 1
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 22
initial apicid  : 22
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3
cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority
ept vpid dtherm ida
bogomips        : 4532.67
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

I ran tests for 1, 2, 4, 6 and 8 lpc threads. Tho you only asked for upto 6,
the overall machine load suggested 8 might still make a difference, results
are below:

[bart at isengard bm002]$ cat test-1 
Hydra 1.3.12 Limited Edition, http://www.dworkin.nl/hydra/
Copyright 2009-2018 Dworkin B.V.  All rights reserved.

Booting Hydra 1.3.12
Test object loaded
Population: 10000
Senders: 100
Recipients: 100
Delay: 0
Rounds: 10
Event: 1

1 recipient in 0.227
2 recipients in 0.245
3 recipients in 0.268
4 recipients in 0.297
5 recipients in 0.327
6 recipients in 0.355
7 recipients in 0.386
8 recipients in 0.427
9 recipients in 0.451
10 recipients in 0.479
11 recipients in 0.508
12 recipients in 0.538
13 recipients in 0.559
14 recipients in 0.594
15 recipients in 0.555
16 recipients in 0.519
17 recipients in 0.481
18 recipients in 0.501
19 recipients in 0.519
20 recipients in 0.538
21 recipients in 0.559
22 recipients in 0.588
23 recipients in 0.597
24 recipients in 0.614
25 recipients in 0.635
26 recipients in 0.661
27 recipients in 0.673
28 recipients in 0.689
29 recipients in 0.709
30 recipients in 0.739
31 recipients in 0.748
32 recipients in 0.776
33 recipients in 0.786
34 recipients in 0.804
35 recipients in 0.820
36 recipients in 0.848
37 recipients in 0.859
38 recipients in 0.878
39 recipients in 0.898
40 recipients in 0.916
41 recipients in 0.936
42 recipients in 0.953
43 recipients in 0.969
44 recipients in 1
45 recipients in 1.007
46 recipients in 1.028
47 recipients in 1.045
48 recipients in 1.062
49 recipients in 1.082
50 recipients in 1.104
51 recipients in 1.124
52 recipients in 1.139
53 recipients in 1.160
54 recipients in 1.178
55 recipients in 1.208
56 recipients in 1.219
57 recipients in 1.236
58 recipients in 1.251
59 recipients in 1.273
60 recipients in 1.286
61 recipients in 1.304
62 recipients in 1.323
63 recipients in 1.345
64 recipients in 1.366
65 recipients in 1.384
66 recipients in 1.399
67 recipients in 1.403
68 recipients in 1.422
69 recipients in 1.443
70 recipients in 1.461
71 recipients in 1.478
72 recipients in 1.499
73 recipients in 1.519
74 recipients in 1.535
75 recipients in 1.550
76 recipients in 1.571
77 recipients in 1.588
78 recipients in 1.612
79 recipients in 1.623
80 recipients in 1.649
81 recipients in 1.665
82 recipients in 1.681
83 recipients in 1.702
84 recipients in 1.721
85 recipients in 1.741
86 recipients in 1.758
87 recipients in 1.776
88 recipients in 1.799
89 recipients in 1.811
90 recipients in 1.833
91 recipients in 1.851
92 recipients in 1.866
93 recipients in 1.885
94 recipients in 1.910
95 recipients in 1.925
96 recipients in 1.944
97 recipients in 1.963
98 recipients in 1.988
99 recipients in 2
100 recipients in 2.017
[bart at isengard bm002]$ cat test-2
Hydra 1.3.12 Limited Edition, http://www.dworkin.nl/hydra/
Copyright 2009-2018 Dworkin B.V.  All rights reserved.

Booting Hydra 1.3.12
Test object loaded
Population: 10000
Senders: 100
Recipients: 100
Delay: 0
Rounds: 10
Event: 1

1 recipient in 0.143
2 recipients in 0.152
3 recipients in 0.170
4 recipients in 0.190
5 recipients in 0.208
6 recipients in 0.230
7 recipients in 0.248
8 recipients in 0.268
9 recipients in 0.289
10 recipients in 0.310
11 recipients in 0.332
12 recipients in 0.360
13 recipients in 0.376
14 recipients in 0.398
15 recipients in 0.420
16 recipients in 0.441
17 recipients in 0.463
18 recipients in 0.482
19 recipients in 0.510
20 recipients in 0.529
21 recipients in 0.486
22 recipients in 0.500
23 recipients in 0.511
24 recipients in 0.528
25 recipients in 0.627
26 recipients in 0.559
27 recipients in 0.557
28 recipients in 0.581
29 recipients in 0.591
30 recipients in 0.613
31 recipients in 0.645
32 recipients in 0.656
33 recipients in 0.655
34 recipients in 0.675
35 recipients in 0.690
36 recipients in 0.701
37 recipients in 0.725
38 recipients in 0.908
39 recipients in 0.877
40 recipients in 0.812
41 recipients in 0.894
42 recipients in 0.972
43 recipients in 0.815
44 recipients in 0.844
45 recipients in 0.878
46 recipients in 0.872
47 recipients in 0.908
48 recipients in 0.910
49 recipients in 0.985
50 recipients in 1.016
51 recipients in 0.967
52 recipients in 1.023
53 recipients in 1.002
54 recipients in 1.013
55 recipients in 1.034
56 recipients in 1.064
57 recipients in 1.144
58 recipients in 1.162
59 recipients in 1.127
60 recipients in 1.207
61 recipients in 1.230
62 recipients in 1.247
63 recipients in 1.267
64 recipients in 1.374
65 recipients in 1.422
66 recipients in 1.553
67 recipients in 1.570
68 recipients in 1.590
69 recipients in 1.609
70 recipients in 1.611
71 recipients in 1.412
72 recipients in 1.674
73 recipients in 1.546
74 recipients in 1.411
75 recipients in 1.390
76 recipients in 1.478
77 recipients in 1.771
78 recipients in 1.422
79 recipients in 1.698
80 recipients in 1.283
81 recipients in 1.338
82 recipients in 1.683
83 recipients in 1.899
84 recipients in 1.908
85 recipients in 1.931
86 recipients in 1.836
87 recipients in 1.638
88 recipients in 2.035
89 recipients in 2.035
90 recipients in 2.078
91 recipients in 2.089
92 recipients in 1.992
93 recipients in 1.744
94 recipients in 1.927
95 recipients in 1.823
96 recipients in 1.786
97 recipients in 2.146
98 recipients in 2.289
99 recipients in 2.294
100 recipients in 2.112
[bart at isengard bm002]$ cat test-4
Hydra 1.3.12 Limited Edition, http://www.dworkin.nl/hydra/
Copyright 2009-2018 Dworkin B.V.  All rights reserved.

Booting Hydra 1.3.12
Test object loaded
Population: 10000
Senders: 100
Recipients: 100
Delay: 0
Rounds: 10
Event: 1

1 recipient in 0.100
2 recipients in 0.103
3 recipients in 0.119
4 recipients in 0.134
5 recipients in 0.151
6 recipients in 0.168
7 recipients in 0.172
8 recipients in 0.185
9 recipients in 0.202
10 recipients in 0.215
11 recipients in 0.232
12 recipients in 0.244
13 recipients in 0.261
14 recipients in 0.281
15 recipients in 0.292
16 recipients in 0.300
17 recipients in 0.316
18 recipients in 0.324
19 recipients in 0.347
20 recipients in 0.360
21 recipients in 0.375
22 recipients in 0.394
23 recipients in 0.408
24 recipients in 0.427
25 recipients in 0.440
26 recipients in 0.464
27 recipients in 0.468
28 recipients in 0.456
29 recipients in 0.460
30 recipients in 0.475
31 recipients in 0.487
32 recipients in 0.553
33 recipients in 0.565
34 recipients in 0.588
35 recipients in 0.548
36 recipients in 0.562
37 recipients in 0.571
38 recipients in 0.587
39 recipients in 0.599
40 recipients in 0.622
41 recipients in 0.628
42 recipients in 0.643
43 recipients in 0.657
44 recipients in 0.672
45 recipients in 0.685
46 recipients in 0.698
47 recipients in 0.722
48 recipients in 0.818
49 recipients in 0.822
50 recipients in 0.754
51 recipients in 0.769
52 recipients in 0.782
53 recipients in 0.807
54 recipients in 0.816
55 recipients in 0.836
56 recipients in 1.155
57 recipients in 1.225
58 recipients in 1.234
59 recipients in 1.246
60 recipients in 0.908
61 recipients in 0.923
62 recipients in 0.937
63 recipients in 0.987
64 recipients in 1.198
65 recipients in 1.219
66 recipients in 1.255
67 recipients in 1.360
68 recipients in 1.164
69 recipients in 1.034
70 recipients in 1.115
71 recipients in 1.499
72 recipients in 1.094
73 recipients in 1.088
74 recipients in 1.378
75 recipients in 1.402
76 recipients in 1.150
77 recipients in 1.322
78 recipients in 1.663
79 recipients in 1.675
80 recipients in 1.702
81 recipients in 1.647
82 recipients in 1.707
83 recipients in 1.736
84 recipients in 1.740
85 recipients in 1.783
86 recipients in 1.786
87 recipients in 1.798
88 recipients in 1.517
89 recipients in 1.338
90 recipients in 1.702
91 recipients in 1.886
92 recipients in 1.767
93 recipients in 1.700
94 recipients in 1.833
95 recipients in 1.977
96 recipients in 1.973
97 recipients in 2.021
98 recipients in 2.046
99 recipients in 2.086
100 recipients in 2.107
[bart at isengard bm002]$ cat test-6
Hydra 1.3.12 Limited Edition, http://www.dworkin.nl/hydra/
Copyright 2009-2018 Dworkin B.V.  All rights reserved.

Booting Hydra 1.3.12
Test object loaded
Population: 10000
Senders: 100
Recipients: 100
Delay: 0
Rounds: 10
Event: 1

1 recipient in 0.088
2 recipients in 0.087
3 recipients in 0.100
4 recipients in 0.113
5 recipients in 0.129
6 recipients in 0.144
7 recipients in 0.158
8 recipients in 0.172
9 recipients in 0.186
10 recipients in 0.203
11 recipients in 0.221
12 recipients in 0.238
13 recipients in 0.257
14 recipients in 0.281
15 recipients in 0.301
16 recipients in 0.304
17 recipients in 0.331
18 recipients in 0.335
19 recipients in 0.348
20 recipients in 0.363
21 recipients in 0.380
22 recipients in 0.425
23 recipients in 0.421
24 recipients in 0.427
25 recipients in 0.450
26 recipients in 0.457
27 recipients in 0.477
28 recipients in 0.495
29 recipients in 0.526
30 recipients in 0.522
31 recipients in 0.518
32 recipients in 0.534
33 recipients in 0.541
34 recipients in 0.563
35 recipients in 0.570
36 recipients in 0.619
37 recipients in 0.629
38 recipients in 0.664
39 recipients in 0.676
40 recipients in 0.687
41 recipients in 0.710
42 recipients in 0.715
43 recipients in 0.726
44 recipients in 0.732
45 recipients in 0.780
46 recipients in 0.798
47 recipients in 0.818
48 recipients in 0.837
49 recipients in 0.857
50 recipients in 0.864
51 recipients in 0.881
52 recipients in 0.908
53 recipients in 0.915
54 recipients in 0.935
55 recipients in 0.950
56 recipients in 0.930
57 recipients in 0.944
58 recipients in 0.998
59 recipients in 1.014
60 recipients in 1.067
61 recipients in 1.026
62 recipients in 1.046
63 recipients in 1.064
64 recipients in 1.080
65 recipients in 1.094
66 recipients in 1.109
67 recipients in 1.145
68 recipients in 1.205
69 recipients in 1.229
70 recipients in 1.194
71 recipients in 1.215
72 recipients in 1.237
73 recipients in 1.247
74 recipients in 1.259
75 recipients in 1.275
76 recipients in 1.289
77 recipients in 1.263
78 recipients in 1.281
79 recipients in 1.347
80 recipients in 1.307
81 recipients in 1.333
82 recipients in 1.409
83 recipients in 1.374
84 recipients in 1.416
85 recipients in 1.386
86 recipients in 1.418
87 recipients in 1.397
88 recipients in 1.501
89 recipients in 1.486
90 recipients in 1.458
91 recipients in 1.536
92 recipients in 1.574
93 recipients in 1.587
94 recipients in 1.560
95 recipients in 1.594
96 recipients in 1.651
97 recipients in 1.657
98 recipients in 1.650
99 recipients in 1.699
100 recipients in 1.730
[bart at isengard bm002]$ cat test-8
Hydra 1.3.12 Limited Edition, http://www.dworkin.nl/hydra/
Copyright 2009-2018 Dworkin B.V.  All rights reserved.

Booting Hydra 1.3.12
Test object loaded
Population: 10000
Senders: 100
Recipients: 100
Delay: 0
Rounds: 10
Event: 1

1 recipient in 0.081
2 recipients in 0.085
3 recipients in 0.099
4 recipients in 0.115
5 recipients in 0.132
6 recipients in 0.146
7 recipients in 0.168
8 recipients in 0.183
9 recipients in 0.200
10 recipients in 0.214
11 recipients in 0.224
12 recipients in 0.246
13 recipients in 0.268
14 recipients in 0.276
15 recipients in 0.280
16 recipients in 0.297
17 recipients in 0.314
18 recipients in 0.328
19 recipients in 0.342
20 recipients in 0.360
21 recipients in 0.375
22 recipients in 0.391
23 recipients in 0.408
24 recipients in 0.423
25 recipients in 0.438
26 recipients in 0.452
27 recipients in 0.473
28 recipients in 0.493
29 recipients in 0.508
30 recipients in 0.527
31 recipients in 0.554
32 recipients in 0.562
33 recipients in 0.572
34 recipients in 0.589
35 recipients in 0.596
36 recipients in 0.614
37 recipients in 0.626
38 recipients in 0.659
39 recipients in 0.678
40 recipients in 0.695
41 recipients in 0.700
42 recipients in 0.744
43 recipients in 0.768
44 recipients in 0.764
45 recipients in 0.759
46 recipients in 0.777
47 recipients in 0.774
48 recipients in 0.796
49 recipients in 0.811
50 recipients in 0.822
51 recipients in 0.838
52 recipients in 0.870
53 recipients in 0.920
54 recipients in 0.903
55 recipients in 0.924
56 recipients in 0.965
57 recipients in 0.987
58 recipients in 1.011
59 recipients in 0.969
60 recipients in 1.006
61 recipients in 1.004
62 recipients in 1.019
63 recipients in 1.036
64 recipients in 1.103
65 recipients in 1.071
66 recipients in 1.109
67 recipients in 1.136
68 recipients in 1.123
69 recipients in 1.135
70 recipients in 1.156
71 recipients in 1.179
72 recipients in 1.192
73 recipients in 1.196
74 recipients in 1.227
75 recipients in 1.334
76 recipients in 1.280
77 recipients in 1.307
78 recipients in 1.306
79 recipients in 1.334
80 recipients in 1.348
81 recipients in 1.440
82 recipients in 1.464
83 recipients in 1.444
84 recipients in 1.371
85 recipients in 1.418
86 recipients in 1.454
87 recipients in 1.427
88 recipients in 1.467
89 recipients in 1.541
90 recipients in 1.533
91 recipients in 1.584
92 recipients in 1.616
93 recipients in 1.654
94 recipients in 1.573
95 recipients in 1.595
96 recipients in 1.583
97 recipients in 1.597
98 recipients in 1.594
99 recipients in 1.634
100 recipients in 1.695
[bart at isengard bm002]$ 

Bart.

On Mon, 20 Aug 2018 00:18:53 +0200, Felix A. Croes wrote
> Today I released Hydra version 1.3.12.
> 
> I have been working on DGD since 1992, and on Hydra since 2002.  Although
> DGD muds peaked around 2005, I think there is still a case for LPC 
> as a programming language, for error handling with atomic functions, 
> for the event-driven model (it has been fun to watch the node.js 
> folks rediscover old LPmud wisdom), and for object-oriented database 
> management systems. So I continued developing DGD as a hobby after 
> it stopped being my day job.
> 
> Hydra was born from the realisation that DGD's event-driven tasks
> could be parallelized: let multiple tasks run concurrently on copies
> of objects, and when they finish, commit the changes when the objects
> have not been modified by any other task in the meanwhile; otherwise,
> lob off a Hydra's head (discard the task's changes) and let it grow
> back (reschedule the task to try again).
> 
> What makes this especially interesting is that to the LPC developer, 
> the concurrent execution of tasks is invisible, and it appears that tasks
> are still run in sequence because the commits are serial.  The 
> complex machinery of parallelization is hidden from view.
> 
> Of course, the machinery of parallelization was not hidden from my view.
> Developing Hydra has been a very time-consuming hobby.  For the past 
> two years, I have been working on optimizing the locking 
> architecture, culminating in today's release.  The multiple CPU, 
> multi-core future that I expected in 2002 has definitely arrived.  
> Hydra is well suited to take advantage of the modern multi-core CPU
architecture.
> 
> Not on all CPUs, however.  As far as Hydra is concerned, hyper-threading
> is a mis-feature.  Any type of feature sharing between hardware threads
> or cores is likely detrimental.  Other features, such as "turbo boost"
> (increasing single-core performance when no other cores are in use)
>  complicate measuring the benefits of multi-core execution 
> accurately. Furthermore, Hydra has been hard hit by this year's 
> speculative execution bugs.  The mitigations for Meltdown, Spectre 
> et al slow it down considerably.
> 
> Additionally, Hydra does not perform equally well on all operating systems.
> I have been using macOS as my main development system; unfortunately,
> Hydra scales abysmally on macOS.  I have run some tests on a 2008-
> era dual CPU system with a total of 8 cores, which thankfully lacks 
> hyper-threading and a host of other features that modern CPUs are 
> often blessed with.  I see that Hydra scales well on Windows 10 and 
> Solaris 10, but when using 4 or more threads dedicated to running 
> LPC tasks, Linux is slightly faster. Interestingly, with fewer than 
> 4 threads dedicated to LPC tasks, Linux is much faster than other 
> operating systems I tested.  Overall, I see best performance on 
> Linux kernels without speculative execution bug mitigations.
> 
> Since testing on a 10 year old system is hardly definitive, I want 
> to ask for volunteers to test Hydra on such modern systems as they 
> have available. The test should be run on bare hardware.  Running it 
> virtualized slows down Hydra a lot, and is also likely to have a 
> large impact on other VMs running on the same hardware.
> 
> The test itself is simple.  Download Hydra from
> 
>     http://download.dworkin.nl/hydra/
> 
> and the test from
> 
>     http://download.dworkin.nl/hydra/benchmarks/bm002.zip
> 
> Edit test.dgd from bm002 to let the base directory point to wherever 
> you put bm002/src, and run Hydra specifying the number of threads dedicated
> to LPC tasks, for example:
> 
>     hydra-1.3.12 -1 test.dgd > test-1
>     hydra-1.3.12 -2 test.dgd > test-2
>     hydra-1.3.12 -4 test.dgd > test-4
> 
> Then post the results, plus CPU information (/proc/cpuinfo on Linux) 
> to the mailing list.
> 
> Test results for more than 4 cores are especially interesting. 
>  Hydra runs more threads internally than are used for LPC, and you 
> should leave some room for the other OS tasks, so tests up to the 
> number of cores minus two are meaningful.  If your system has 
> hyperthreading, divide the number of "cores" reported in 
> /proc/cpuinfo by Linux by 2.
> 
> The benchmark is synthetic and does not test Hydra's true 
> performance; rather, it attempts to measure the performance of 
> Hydra's locking architecture.
> 
> Regards,
> Felix Croes
> ____________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd


--
https://www.bartsplace.net/
https://wotf.org/
https://www.flickr.com/photos/mrobjective/




More information about the DGD mailing list