So my Friend and
Sun's Directory Server (DS) developer Gilles Bellaton recently got his
hands onto an early access Niagara (UltraSPARC T1) system; something
akin to
SunFireTMT2000.
The chip in the system only had 7 active cores and thus 28 hardware
threads (a.k.a strands) but we wanted to check how well it would
perform on DS. The results here are a little anecdotal: we just ran a
few quick test with the aim to showcase Niagara but nevertheless the
results we're beyond expectations.
If you consider the
Throughput Engine
architecture that Niagara provides
(what the Inquire says), we can expect it to perform well
in highly multithreaded loads such as a directory search test. Since
we had limited disk space on the system the slapd instance was created
on /tmp. We realize that this is not at all proper deployment
conditions; however the nature of the test is such that we would
expect the system to operate mostly from memory (Database fully
cached). The only data that would need to go to disk on a real
deployment would be the 'access log' and this typically is a not a
throughput limiting subsystem.
So we can prudently expect that a real on-disk deployment of a
read-mostly workload in which the DB can be fully cached could perform
perhaps closely to our findings. This showcase test is a base search
over a tiny 1000 entries Database using 50 thread slapd. Slapd was
not tuned in any way before the test. For simplicity, the client was
run on the same system as the server. This means that, on the one
hand, the client is consuming some CPU away from the server, but on
the other it reduces the need to run the Network adapter driver code.
All in all, this was not designed as a realistic DS test but only to
see in a few hours of access time to the system if DS was running
acceptably well on this new cool Hardware.
The Results were obtained with Gilles' workspace of DS 6.0 optimized
build of August 29th 2005. The number of CPUs where adjusted by
creating psrset.
Numbers of Strands Search/sec Ratio
1 920 1 X
3 (1 core; 3 str/core) 2260 2.45 X
4 (1 core; 4 str/core) 2650 2.88 X
4 (4 core; 1 str/core) 4100 4.45 X
14 (7 cores, 2 str/core) 12500 13.59 X
21 (7 cores, 3 str/core) 16100 17.5 X
28 (7 cores; 4 str/core) 18200 19.8 X
Those are pretty good scaling numbers straight out of the box. While
other more realistics investigation will be produced, this test at
least showed us early that Niagara based systems were not suffering
from an flagrant deficiencies when running DS searches.
[T]:
NiagaraCMT
Solaris
Sun