[cvsnt] multi core/multi cpu scaling

Arthur Barrett arthur.barrett at march-hare.com
Wed Jan 16 19:22:31 GMT 2008

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


> Has anyone done any testing, formal or informal, regarding how
> effectively CVSNT uses multiple cpu cores?  


> Basically I am interested in knowing whether a higher 
> clocked single or dual core cpu would be
> preferable to a lower clocked quad core/8 way system.  I do know it
> spawns many instances of itself during operation.

CVSNT is not multi threaded - and generally as a rule, the point of
multi-core CPU's is to handle multi threaded applications better -
however there are caveats.

Unlike Oracle Server and Apache Server, CVSNT server spawns a unique
process for each client connection (Oracle and Apache starts a new
thread) - this places a lot of the 'load' of scheduling these to the cpu
to the operating system (preemtive multitasking).  Therefore CVSNT (more
than apache and oracle) will perform dramatically differently depending
on how well the operating system does pre-emptive multi tasking and new
process creation.

If you have a dual core CPU on windows and look in the task manager you
will see each core listed as a CPU - which is complete rubbish - a core
is not a CPU.  However a CPU can be as poor a performer (or worse) than
a core depending on the motherboard design (and depending on the chip
design).  It all comes down to whether each core/cpu can get the data it
needs from available memory/registers so that it can execute the next
instruction.  The compilers we use should help with this, however we do
not currently specifically test for this.

What we can assure you of is that we've done a lot of performance
testing and found that the CPU is rarely the bit that causes
'performance' problems in a CVSNT server - almost always the system is
waiting for IO to complete.  I recommend that you invest in fast disks
with plenty of BBWC, plenty of memory and an operating system that has
good pre-emptive multi tasking stats, and can create processes with
little overhead way before you start thinking of adding cores.

The other reason why we haven't done a lot of stats on
multi-core/SMP/SMT performance is that different multi-core CPU's are
drastically different (sparc/intel-xeon/intel-celeron/amd and
intel-itanium) in their wiring making some (eg: intel-celeron) almost
pointless, and making the whole exercise quite difficult (and

Instead we concentrate primarily on 'macro' changes that we can make to
the product to dramatically alter 'how' CVSNT works so that the
processors are actually doing less.



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook