Yes I guess thats true - it seems to be standard practice in most programming languages to manipulate variables by pointers or references rather than by the value itself. This is said to be more efficient programming and memory wise - are you saying that due to the extra lookup step from pointer to variable that it slows the processor?

R

kuang oon wrote:

Hi Richard,
Before the rash of multi-core processors we had a single core with hyperthreading (HT) like you alluded to. An OS which supports symmetric multiprocessing treats a single processor with HT as 2 logical processors. It is claimed that you get 20-30% performance increase running all those OS native threads. If you have a quad core,if each of the quad has HT, you end up with 8 logical processors. The current crop of duo and quad core cpu do not have HT for each core as each HT gobbles up 5% real estate and generates
too much heat.
At this point the consumer pays for what he gets, but he is helping industry by seeding/normalizing the field with multiprocessors. The software we write today does not exploit multi processing yet, things will change. The programs we write today are totally memory bound, they have this habit of "call by reference to memory locations" instead of "call by values" for simple tasks such as string manipulations. This memory boundness (call by reference ) totally wreck concurrent processing based on multi core architectures. Digressing, say as we move from a 32-bit to a 64-bit environment, our memory bound programs significantly slow down because it takes longer to work out the memory locations. So the speed of execution of a single memory bound application written in a traditional language is still predicated on a single fast core plus minus HT.
Cheers
kuang
docle systems

On 23/02/2007, at 10:51 PM, Richard Hosking wrote:

Doesnt the CPU have a local buffer to prefetch data and instructions?
If this was the case iut could take advantage of parallel processing.
OTOH if the limiting factor is RAM/disc access, then no amount of speeding up the CPU will help

R

kuang oon wrote:


On 23/02/2007, at 1:44 PM, DP wrote:

I wonder if any egg head here can help me with this question.

One of the limitations of SQL Express 2005, is its limitation to 1 CPU.
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx

I can't seem to get clarification if this would affect hyperthreaded Pentium4s, AMD X2 processors or Core Duo/Core 2 Duo processors.

Can they differentiate between different CPU dies and different CPU cores ?

Hate to build a new server with a dual core CPU and find SQL is only using half !

David Pan



Both multi and single core processors have only one interface to main memory, they all share the same TLB or *Translation Lookaside Buffer. * The* TLB * is the cache that contains fragments of the page table, for speeding up virtual memory address translation to physical addresses . Most motherboards are socket-compatible with both single and multi-core processors. If your SQL server process is a memory-bound application then no matter how many cores you chuck at, it makes no difference to the performance. Most server applications are written in OO languages, these programs run on virtual machines that are memory bound and cannot take advantage of the multicore processors. There is a futuristic language called Erlang that has an idiom (functional programming) that handles multi- threading particularly well. The language design of Erlang mandates that there is No sharing of memory resources. Each erlang process has its own 'mailbox' and pid for message sending. For a quad core, with Erlang, you can get up 1.8 times faster speed compared to a single core. Until we are all running Erlang, despite the marketing hype, a hyperfast single core is better than a slower duo if all you care about is running a particular single memory-bound critical process well.
HTH
Kuang


--------------------------------------------------------------------- ---

_______________________________________________
Gpcg_talk mailing list
[email protected]
http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk

_______________________________________________
Gpcg_talk mailing list
[email protected]
http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk


_______________________________________________
Gpcg_talk mailing list
[email protected]
http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk

_______________________________________________
Gpcg_talk mailing list
[email protected]
http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk

Reply via email to