On 11.12.11 22:02, Andriy Gapon wrote: > Author: avg > Date: Sun Dec 11 21:02:01 2011 > New Revision: 228424 > URL: http://svn.freebsd.org/changeset/base/228424 > > Log: > panic: add a switch and infrastructure for stopping other CPUs in SMP case >
Hi, Attilio asked me to verify that this commit does not introduce a performance regression. The box used to run these tests was a 40 Core 32GB Xeon box (HTT was turned off, so 40 real hardware cores). As benchmark pgbench/PostgreSQL were used, a snapshot of PostgreSQL 9.2 from 16.01.2012 was used as they did a lot of scaling work in 9.2 which improved the numbers quite a lot vs. 9.1. The initial benchmarks were run with a scaling factor of 100 which creates a database work set of ~1.5GB. Max throughput was achieved at 20 Clients. x 228423-20 + 228424-20 +----------------------------------------------------------------------+ | x + | |x x x +* + + xxx * ++ + + x| | |___________________A______M_____________| | | |___________A____M_____| | +----------------------------------------------------------------------+ N Min Max Median Avg Stddev x 10 111073.26 115016.79 113113.49 112745.69 1169.2132 + 10 112583.56 114454.33 113668.08 113343.31 661.31761 No difference proven at 95.0% confidence At 40 threads the results varied between 43000 - 76500 across reboots. Attilio suspects that this can be caused by the kernel memory layout changing under the woods creating cache effects difficult to control, therefor the scaling factor was reduced to 10 (~150MB work set) and the numbers got deterministic across reboot. x 228423-40-sf10 + 228424-40-sf10 * 228424-40-sf10-cl +----------------------------------------------------------------------+ |x x x *** * * + x **+ *+ * * ** + + +| | |__________A__________| | | |______________MA________________| | | |__________A__M_______| | +----------------------------------------------------------------------+ N Min Max Median Avg Stddev x 10 192489.43 196045.39 194138.34 194149.19 986.61561 + 10 194093.35 198864.83 196129.36 196214.69 1545.8783 Difference at 95.0% confidence 2065.5 +/- 1218.43 1.06387% +/- 0.627572% (Student's t, pooled s = 1296.76) * 10 194288.28 197083.85 195955.26 195733.15 1012.3529 Difference at 95.0% confidence 1583.96 +/- 939.189 0.815847% +/- 0.483746% (Student's t, pooled s = 999.567) The 228424-40-sf10-cl results are with a patch from Attilio [1] which he will followup on. If anybody wants to look at the raw numbers they are available at [2]. There are results for pbzip2 runs here [3] also, the numbers are "real" time from /usr/bin/time. Cheers, Florian [1] http://people.freebsd.org/~attilio/cachelineunshare.patch [2] http://tb.smeets.im/~flo/stop-sched/pgsql/ [3] http://tb.smeets.im/~flo/stop-sched/pbzip2/
signature.asc
Description: OpenPGP digital signature