[cvsnt] multi core/multi cpu scaling
Luigi D. Sandon
cp at sandon.it
Mon Jan 21 08:47:05 GMT 2008
> multi-core CPU's is to handle multi threaded applications better -
Sorry, but your claims would require proof. "multi-tasking" means
multi-process and multi-thread as well. The main difference usually is that
a process has it own address space, while a thread works in the address
space of the creating process. Both needs to be scheduled to get processor
time - just threads don't require to change the address space.
Multicore CPUs handle multi-process and multi-thread applications as well.
Differences can exist in the operating system scheduler, given the same CPU.
> Unlike Oracle Server and Apache Server, CVSNT server spawns a unique
Oracle spawns threads under Windows only - and AFAIK Apache too. Under *nix,
Oracle spawns processes. That's because spawning processes under Windows is
heavier than under *nix.
>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 *is* a CPU - it's not "hyperthreading" where the same CPU would act
as something alike a dual CPU, but not a full one. The difference is that
"cores" are on the same chip, and may (not must...) share something - like
L2 cache or the like. There are advantages and disavantages, in such shared
IMHO, if CVS will spawn a different process for each client connection, and
is I/O intensive, it will benefit more from a multicore CPU than a high
speed single core one.
Luigi D. Sandon
More information about the cvsnt