What does a multi-core processor mean?

  • Context: Calculators 
  • Thread starter Thread starter michinobu
  • Start date Start date
  • Tags Tags
    Mean Processor
Click For Summary

Discussion Overview

The discussion centers around the concept of multi-core processors, comparing their architecture and performance to that of multiple single-core processors. Participants explore the implications of shared versus separate caches, throughput differences, and the efficiency of multi-threading in multi-core systems versus hyper-threading.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Conceptual clarification

Main Points Raised

  • Some participants express skepticism about the equivalence of dual-core processors to two separate processors, citing cache issues as a significant difference.
  • It is noted that multi-core CPUs can share a socket, which may lead to less throughput compared to multiple independent processors with their own RAM.
  • Participants discuss that while multi-core processors can communicate more quickly between cores, this may not always translate to higher overall throughput.
  • Questions are raised about the differences between multi-core processors and hyper-threading, particularly regarding the nature of cores as closer to stand-alone processors compared to virtual processors.
  • There is a suggestion that multi-core processors are more suited for multi-threading, as threads within the same process often need to communicate with each other.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the performance implications of multi-core versus multi-processor systems, with ongoing debate about throughput and architectural differences.

Contextual Notes

Participants mention that the performance of multi-core processors can depend on specific configurations, such as cache sharing and RAM allocation, which are not universally applicable across all systems.

michinobu
Messages
53
Reaction score
0
I've heard it compared to, over-and-over again, stated by people that having a dual-core processor is the same as having two processors and the same as the cores increase. But, I doubt this. Besides the obvious cache issue, how different is a 2.0 dual-core CPU from having two 1.0 uni-core CPU's?
 
Computer science news on Phys.org
michinobu said:
I've heard it compared to, over-and-over again, stated by people that having a dual-core processor is the same as having two processors and the same as the cores increase. But, I doubt this. Besides the obvious cache issue, how different is a 2.0 dual-core CPU from having two 1.0 uni-core CPU's?

Some multicore processors have shared caches, some have different caches for each core.

Aside from cache, the main difference is that two cores can pass information between themselves faster than two independent processors could.
 
With a multicore CPU you're sharing one socket across multiple cores which may mean less throughput.
 
Less throughput...

With several sockets, you'd have more throughput IF each processor had its own RAM, which isn't generally the case in PC nor servers.

Few servers have been built with one RAM per processor. And then, communication between them needs special channels. Also, Windows isn't optimised for this architecture (but other OS certainly are!). Newer Windows (Server 2k8 I think) are designed for it.
 
Enthalpy said:
Less throughput...

With several sockets, you'd have more throughput IF each processor had its own RAM, which isn't generally the case in PC nor servers.

Few servers have been built with one RAM per processor. And then, communication between them needs special channels. Also, Windows isn't optimised for this architecture (but other OS certainly are!). Newer Windows (Server 2k8 I think) are designed for it.

Less throughput? Are you sure? I'm sure there's always room for another processor, especially when concerning servers. If nothing else, one single processor can do all the scheduling while other processors can provide whatever individual service they are meant to do.

BUT, this isn't what I was asking about. I am not talking about actual multiple, stand-alone processors, but rather those multicore processors. What's the difference between those and the other things?
 
CRGreathouse said:
Some multicore processors have shared caches, some have different caches for each core.

Aside from cache, the main difference is that two cores can pass information between themselves faster than two independent processors could.

So, it sounds more like it's ideal for multi-threading since threads oftentimes communicate with each other within the same process? If that is the case, how does this differ from Hyperthreading? I imagine that that a core is more closer to a stand-alone processor than a virtual processor implemented in a Hyperthreaded cpu. To what extent do they differ?

Does this improve throughput with two complete processes which communicate with each other (likely working toward the same goal) even while having their own individual global variables, heap, and other process-related data?
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 13 ·
Replies
13
Views
13K
  • · Replies 10 ·
Replies
10
Views
19K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
29
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K