rails hyperthreading on Quad core

Kuros Yalpani wrote:

Hi, my video sharing website (politube.org) that I developed with rails,
runs on lighttpd/fcgi (I know it is obsolete by now) and is severely
under load and regularly blocks because the lighttpd process chews up
50% of RAM (1GB).

So now I want to move the system to a new server with 8GB, 64bit ,
Quad core processor (intel i7 920) but I am not sure if hyperthreading
will really do anything better. Even if I switched to mongrel, would it
be able to leverage the Quadcore architecture?

Please note that hyperthreading (which is a technique for splitting up
one procesor into two virtual processors) is not the same as application
threading.

Whether hyperthreading will be beneficial is highly dependent on your
workload. Benchmarks for your application are your friend.

In general, I would say, hyperthreading will be beneficial if you have a
workload that is a composite of two distinct and mutually exclusive
loads, such as video processing on the one hand and I/O on the other. If
the loads are not mutually exclusive then you will have a lot more cache
misses and hyperthreading may actually be detrimental.

Roderick van Domburg wrote:

Kuros Yalpani wrote:

Hi, my video sharing website (politube.org) that I developed with rails,
runs on lighttpd/fcgi (I know it is obsolete by now) and is severely
under load and regularly blocks because the lighttpd process chews up
50% of RAM (1GB).

So now I want to move the system to a new server with 8GB, 64bit ,
Quad core processor (intel i7 920) but I am not sure if hyperthreading
will really do anything better. Even if I switched to mongrel, would it
be able to leverage the Quadcore architecture?

Please note that hyperthreading (which is a technique for splitting up
one procesor into two virtual processors) is not the same as application
threading.

Whether hyperthreading will be beneficial is highly dependent on your
workload. Benchmarks for your application are your friend.

In general, I would say, hyperthreading will be beneficial if you have a
workload that is a composite of two distinct and mutually exclusive
loads, such as video processing on the one hand and I/O on the other. If
the loads are not mutually exclusive then you will have a lot more cache
misses and hyperthreading may actually be detrimental.

--
Roderick van Domburg
http://www.nedforce.com

actually, this would presumably answer my question, since if
hyperthreading is emulating multiple cpu's then the multiprocess
architecture of fcgi would benefit from that. However, I am not sure on
how load "mutual exclusivity" affects cache usage. Do you mean a kind of
instruction cache? Any Idea on how mongrel vs lighttpd behaves?

thanks

Kuros

i found thin seems to run faster then mongrel in my app. just my 2 cents.

nayeem