GSoC: Add SMT/HT awareness to DragonFlyBSD scheduler
Francois Tigeot
ftigeot at wolfpond.org
Sat Jul 28 10:02:52 PDT 2012
On Sat, Jul 28, 2012 at 05:55:06PM +0300, Mihai Carabas wrote:
>
> Thanks ftigeot for giving me access to a dual-socket opteron (2 cpus). The
> results of testing:
>
> ############ enable smt ########
> kern.usched_bsd4.smt_enable: 0 -> 1
> tps = 11505.350032 (including connections establishing)
> tps = 12358.802902 (including connections establishing)
> tps = 10376.294593 (including connections establishing)
> tps = 10329.976654 (including connections establishing)
> tps = 11552.765499 (including connections establishing)
> ------------------------------------------------------
> average = 11224 tps
>
> ############ disable smt ########
> kern.usched_bsd4.smt_enable: 1 -> 0
> tps = 8950.803833 (including connections establishing)
> tps = 9573.479233 (including connections establishing)
> tps = 8872.650887 (including connections establishing)
> tps = 10609.939778 (including connections establishing)
> tps = 10686.083868 (including connections establishing)
> -------------------------------------------------------
> average = 9738 tps
>
> The command used was:
> pgbench -U pgsql -j 2 -c 2 -T 60 -S bench100 -h 127.0.0.1 2> /dev/null |
> grep "including connections establishing"
>
> As you can see there is an important improvement. The results aren't so
> constant (because of the heuristic way of scheduling - at the end of the
> GSOC I will put online all my discussions with Alex and Matthew regarding
> the problems of scheduling).
This machine is an old-school dual-Opteron 252 system and doesn't have
any hyperthreading support at all.
Its exact configuration is
- 2 sockets
- 1 core per socket (2.6 GHz, 1MB cache)
- 2GB of RAM per socket
- 1 thread per core
Having an hyperthreading-aware scheduler shouldn't make any difference;
what could explain the above performance differences ?
--
Francois Tigeot
More information about the Kernel
mailing list