SMP scalability goal

From: Alex Rousskov <rousskov@dont-contact.us>
Date: Thu, 24 Apr 2008 09:32:02 -0600

Hello,

    I am drafting a SMP-scalability development contract for Squid3 and
need help defining scalability goals. We have 5-10 month for the first
SMP support implementation so it must be relatively straightforward,
with significant code reuse, but please note that this email is _not_
about the internal implementation design (threads, processes, shared
memory, etc). This is about black-box performance increase expectations
as far as scalability with multiple processors and cores is concerned.

I believe I can narrow the questions further by considering specific and
likely scale points: Let's assume that single-core Squid performance on
a dual-core and quad-core boxes is roughly the same and let's limit
ourselves to a quad-core box. Let's assume that at least one core is
always dedicated for the OS and other non-Squid stuff.

1-2) How much faster should SMP-capable Squid perform when going from 1
core on a quad-core box to 2 cores on a quad-core box? 40%?

1-3) How much faster should SMP-capable Squid perform when going from 1
core on a quad-core box to 3 cores on a quad-core box? 100%?

I tried to find good Apache or similar SMP scalability studies but
failed. Can anybody point me in the right direction? Somebody must have
done this already for Apache httpd!

I do not think it is realistic to expect nearly linear scale (close to
100% and 200% increase in performance), especially for the first
implementation.

I wonder if expecting 40% speedup for 1-2 and 100% speedup for 1-3 is a
reasonable goal for the first implementation? These are ballpark
estimates, of course.

Thank you,

Alex.
P.S. My 40% and 100% estimates are based on a simple conservative model
that assumes 20% locking overhead (e.g., access to globals) and 10-20%
job scheduling overhead (e.g., sending an accepted FD to another
thread).
Received on Thu Apr 24 2008 - 15:33:01 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 30 2008 - 12:00:07 MDT