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.
Thank you! -----Original Message----- From: Arthur Barrett [mailto:arthur.barrett at march-hare.com] Sent: January 16, 2008 2:23 PM To: Steve Trotman; cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook Subject: RE: [cvsnt] multi core/multi cpu scaling Steve, > Has anyone done any testing, formal or informal, regarding how > effectively CVSNT uses multiple cpu cores? No. > 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 expensive). 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. Regards, Arthur