Erlang & Hyperthreading
Mon Feb 27 07:27:34 CET 2006
We've been briefly evaluating SUN Niagara -- single 8-core CPU. Initiall
results were great -- we were not able to make this machine busy; however,
it seems that we did experience some problems with TCP/IP. Well not sure
why, it could be because we never build Erlang on Solaris 10, rather, we've
just moved it accross... we are going to carry on with this evaluation at
the later stage.
We're still using R9, which doesn't seem to be compiling on Solaris 10 -- I
haven't tried it myself, but been told that some headers are missing from
Solaris 10. It seems that the best thing to do would be to move everything
to R10, but there aren't enough hours in a day.
As far as Linux is concerned, depending on distribution, we had different
experiences/frustrations. What is defeating about Linux is that one has to
be a product manager in order to figure out what patches to install where
and when, as far as RedHat is concerned. OTOH, we got much better results
once we've moved to version 4, including much better CPU scheduling. In
addition, we had lots of issues with various storage arrays (EMC, HP Eva &
HP XP12000) -- once system gets busy in terms of disk I/O, we saw a lots of
D's (D being an unconditional process suspension due to resource
unavailability). Once we increased number of threads, as per Ulf's comment
to some posting on the list, our performance increased dramatically. We
still saw D's, but because drivers were serviced by different threads, we
did not see main thread blocking. Come think of it, I've never thanked
Ulf... Hey, Ulf -- thanks a lot.
----- Original Message -----
From: "Richard A. O'Keefe" <>
Sent: Monday, February 27, 2006 5:31 AM
Subject: Re: Erlang & Hyperthreading
> "Ryan Rawson" <> wrote:
> You could expect up to 8 CPUs on commodity Intel hardware as well.
> Generally hyperthreaded CPUs show up as multiple CPUs on Linux -
> but be warned, I heard of performance improvements by turning off HT.
> Well, this is Solaris 10, not Linux, and it's UltraSPARC (presumably
> Ultra III), not Intel. Perhaps someone else may have more accurate
> information; I think it's effectively 8 x (4-way hyperthreaded) CPUs,
> not 1 x (8-way hyperthreaded). In any case, different horse from
> stable, so maybe the results will be different. Maybe _this_ horse will
> learn to sing?
More information about the erlang-questions