What's the difference between multicore proc and multiproc system?

5,647

Solution 1

Multiple processors let your computer do literally two things at once (instead of only seemingly doing two things at once, but actually just swapping between tasks extremely rapidly).

Multiple cores are the same. The advantage of multiple cores over multiple processors is that they share some bits of the CPU, e.g. the second level cache, which makes it possible for them to work even more efficiently if they have some shared data. This makes them much cheaper to manufacture. A single dual-core CPU also takes up less room than two single-core CPUs, which is an important factor these days with everyone moving to laptops.

There may be some performance differences, but nothing you're likely to notice.

Solution 2

See this image that shows the difference between Multi Processor, Hyper Threaded and Multi Core:

enter image description here

Solution 3

You should start with Multi-core and Multithread articles at Wikipedia.

Solution 4

Well, it's about scaling horizontally instead of vertically. In the old days they used to make CPU's faster and faster. Over time the speed of CPU's increased from only a handfull of megahertz to super speeds ranging up to 3 gigahertz. However, when the 3 gigahertz speed was reached CPU makers had found a limit to how far they could push the speed on a single CPU core.

While this speed race was happening, for those applications that needed more power (like servers and CGI render farms), the multi-socket CPU motherboards where introduced. This allowed to be more than one CPU (usually two) to be placed on the motherboard. Operating systems that where able to utilize multiple CPU's at once could run software that took advantage of this feature by distributing load over those two CPU's, therefore increasing execution speed.

Fast forward to present day. The CPU speed limit is somewhat reached and instead of scaling vertically (making it faster), CPU manufactures are starting to scale horizontally by placing multiple cores on a single chip. Currently dual core chips are very common and soon the quad cores will be the standard. Now imagine that you'd placed two quad cores on a single motherboard. This would mean that the operating system would have access to 8 CPU's, all running at around 3 gigahertz.

Besides multi-core CPU's there is also a 'fake' dual core CPU that uses a technology known as 'hyper-threading'. With hyper-threading the CPU emulates the presence two CPU's when there is in reality only one actual core present. The CPU knows how to make use of what would normally be down time by scheduling instructions in a specific way, gaining more efficiency.

Solution 5

From a software development perspective there is relatively little difference.

Some incorrectly written multi-threaded applications may accidentally work on a multi-core processor, but not on a multi-processor motherboard, but I would not lose too much sleep over that, since... well... we're talking incorrectly written software.

The main difference between the two scenarios for the same total number of available cores (for example, 1x 4-core processor vs. 2x 2-core processor) is that in the case of the multi-processor scenario there is typically a larger aggregate memory-bandwidth. This means that for any workload that is memory intensive you may be better off with the latter. Note however that locking primitives may actually be a bit slower (depending on hardware implementation) so algorithms that use a lot of synchronisation may actually perform worse on the latter.

Even so, I would not worry too much about the difference even then, because if you work in an area where this difference matters then you'd most likely already know about it (domain-specific knowledge).

Share:
5,647

Related videos on Youtube

bAN
Author by

bAN

Updated on September 17, 2022

Comments

  • bAN
    bAN over 1 year

    I wonder what's the difference between a dual core computer and a computer with 2 processors on the mother board.. I think it's something related with the threads but a I don't understand it very well..

  • hanleyp
    hanleyp almost 15 years
    -1: This answer has many inaccuracies. (1) 3 GHz is not a "speed limit" there are processors which run at higher frequencies than 3 GHz. The limit CPU manufacturer's ran into was fitting higher performance processors within a sustainable power envelope. (2) Your second paragraph implies that multi-CPU motherboards were introduced because the "speed limit" had been reached. In fact, multi-socket motherboards were around 5-10 years before (maybe even longer, I can't find an exact date when PC servers went multi-core).
  • Lukas
    Lukas almost 15 years
    I know it's not 100% correct and I've tried to keep my answer in layman's terms. It's just a dumbed down version so people sort of understand what the difference is. I'm sure that when people really want to know the ins and outs they will investigate more for them selfs. Paragraph 2 starts with "In the meantime" meaning while CPU's where being made faster multi-socket CPU motherboards where created (which is about 10 years ago).
  • hanleyp
    hanleyp almost 15 years
    That's cool. I just wanted to point out what I think needed clarification. I'll undo my vote down, but can't unless you edit the answer somehow.
  • Lukas
    Lukas almost 15 years
    I'm happy to make changes but what exactly do you want me to change? That there are CPU's that go up to 3.2 gigahertz or maybe a bit higher? Can you please clarify?
  • hanleyp
    hanleyp almost 15 years
    You don't have to change any content if you don't want to, I just can't vote it back up unless you edit something.
  • Lukas
    Lukas almost 15 years
    I rephrased it a bit here and there. Let me know if you find any other inconsistencies.
  • John Fouhy
    John Fouhy almost 15 years
    -1: You explain why we're seeing multicore systems, but that's not what the questioner asked. You haven't explained the difference between a multiple cores and multiple processors.
  • Lukas
    Lukas almost 15 years
    @John Fouhy: You might be right, but I think one has to do with the other. Understanding the difference between multiple cores and multiple processors has, in my opinion, still to do with scaling and one is simple an evolutionary step after the other.
  • CarlF
    CarlF almost 13 years
    Not just taking less room, but also generating less heat (using less power) and requiring only one cooling fan.
  • SparkAndShine
    SparkAndShine over 7 years
    The link for "The Difference Between Multithreaded and Multicore Programming" is broken.