multi-core versus multiprocessor

Posted:
in Future Apple Hardware edited January 2014
All,



I'm still trying to wrap my head around processor design, specifically multi-core design and how it compares performance-wise to a multiprocessor setup.



I always liked Apple's agressiveness with MP machines, but I've been wary of these multi-core processors as more marketing than true muscle. Is a multi-core chip truly as good as a mp setup, or are they not quite comparable? Are multi-cores just as good as handling multiple apps/threads as a MP setup? Do multi-cores have any advantages over MP?



Thanks!
«1

Comments

  • Reply 1 of 25
    mattyjmattyj Posts: 898member
    Ok here goes:



    Multiple processors have the advantage of having their own front side bus, multi core processors have to share a single bus.



    However, the G4 multi processors did not have their own FSBs, instead, they shared the usual 133/166Mhz FSB.



    The dualcore P4s shared the FSB but could not directly communicate with eachother, i.e. information had to be passed from one core to the other through the FSB first.



    The new Core Duo models from intel share the bus and share their L2 cache, making for faster execution of code across both cores.



    The AMD X2s' cores communicate directly with eachother.



    The main advantage of having multiple processors is that they have more memory bandwidth as their FSB isn't shared by another core, presuming the other core is doing something at the same time which requires access to RAM.



    However, multiple core processors have the advantage of faster communication between the two cores so it effectively negates the separate FSB advantage that multi processor systems have for a lot of applications.



    Another advantage of multiple core technology is that the motherboards are less complicated and therefore cheaper.



    There doesn't seem to be a lot of difference between the two solutions in terms of performance, however if you're using very memory intensive applications such as encoding etc then you might see a difference in multiprocessor systems.
  • Reply 2 of 25
    In a amd system each cpu has it's own link to ram as well.

    the upcomeing amd quad-core is a ture one where as the one intel is two duel-core link by a fsb in side the cpu.



    Amd 4x4 system will let you use 2 quad-core when they come out.
  • Reply 3 of 25
    hirohiro Posts: 2,663member
    Simple answer, for all intents and purposes multi-core and multi-processor mean the same thing.



    Each individual implementation is subject to the same set of tradeoffs and limitations. As has been shown above there are multi-core systems that have better bus access than multi-cpu systems. There are multi-processor systems that have better bus designs than multi-core designs.



    So there is no blanket saying multi-core or multi-processor is better than the other, you have to get down to the detail level of any setup you want to compare in order to determine the relative "goodness". Another way to think about it is they are all good, some of the more expensive ones just better.
  • Reply 4 of 25
    jrgjrg Posts: 58member
    Quote:

    Originally posted by mattyj

    Ok here goes:



    Multiple processors have the advantage of having their own front side bus, multi core processors have to share a single bus.





    You are confusing two different processor topologies here. There is the bus, which is shared by all processors joined to it, which is the approach taken by Intel and by Apple (in both PPC and I suspect dual processor x86). There is also the Point-to-Point topology that AMD use (in both single and dual core packages). AMD processors (Opteron for instance) do not share a memory controller so they are NUMA, Non Uniform Memory Access (i.e. there is not a single consistent memory image with two or more processors, each processor has its own memory) .



    Quote:



    However, the G4 multi processors did not have their own FSBs, instead, they shared the usual 133/166Mhz FSB.





    The dualcore P4s shared the FSB but could not directly communicate with eachother, i.e. information had to be passed from one core to the other through the FSB first.



    The new Core Duo models from intel share the bus and share their L2 cache, making for faster execution of code across both cores.



    The AMD X2s' cores communicate directly with eachother.



    The main advantage of having multiple processors is that they have more memory bandwidth as their FSB isn't shared by another core, presuming the other core is doing something at the same time which requires access to RAM.





    This is true if they are not on a shared bus. If you put two G4's or P4's (or 2 of the new Xeons) in a system they both share a bus, or four processors sharing a bus if you have two dual core processors. This is one of the reasons that multiple processors don't perform twice as fast as a single processor. If you put two Opterons in a system then the bandwidth is the sum of both memory controllers. This is why multiprocessor Opterons have had significant performance benefits at the two and four processor level.



    Intel are really well behind the game here, they should have a PtP architecture with on board memory controllers now, that they get such fantastic performance without them is a testament to their chip design prowess.



    Quote:



    However, multiple core processors have the advantage of faster communication between the two cores so it effectively negates the separate FSB advantage that multi processor systems have for a lot of applications.



    Another advantage of multiple core technology is that the motherboards are less complicated and therefore cheaper.



    There doesn't seem to be a lot of difference between the two solutions in terms of performance, however if you're using very memory intensive applications such as encoding etc then you might see a difference in multiprocessor systems.




  • Reply 5 of 25
    mattyjmattyj Posts: 898member
    Quote:

    Originally posted by JRG



    Thanks for clearing that up JRG, wasn't sure if it was all correct. So what your saying is that AMDs and Intel multiple core system share the FSB, but the AMDs have access to there own memory and therefore greater bandwidth? Is this static, with each processor gaining a set portion of system memory avaliable or is it dynamic, each processor getting the memory required?
  • Reply 6 of 25
    thttht Posts: 5,450member
    Quote:

    Originally posted by epimetheus

    I'm still trying to wrap my head around processor design, specifically multi-core design and how it compares performance-wise to a multiprocessor setup.



    On average, the performance between the two are close enough to be negligible.



    The terminology being used here is really the source of the confusion. Multiple processors or multi-processors, and its related technical implementations: symmetric multi-processing, asymmetric multi-processing (or -processor), were terms used back in the day to describe systems with multiple processors. Once multi-core processors started to ship, terminology confusion reigned.



    For the most part, multi-core simply is a multi-processor technology in the same CPU package. A package consists of the CPU silicon die, the material substrate it's glued onto, the wiring/signaling system, and the housing that goes around it. All you see is the housing and the wiring pins or balls.



    A multi-core processor is simply the implementation of a multi-processor system in the same CPU packaging. There are two major variations of this:



    1. A multiple processor system can exist on one piece of silicon, including the cores and a communication bus between the cores. Athlon X2, FX, Opteron; Intel Core 1 Duo, Core 2 Duo; IBM PPC 970mp, Power4, Power5 (cores) are all examples of this.



    2. A multiple processor system can exist in the same CPU packaging. Two discrete CPU dies (dice, whatever) are placed inside the CPU housing, typically connected by the system's processor bus. Intel Paxville, Clovertown, Kensfield, IBM Power4, Power5 (the MCM) are all examples of this.



    In today's time, multiple processor systems are leaning towards being described as systems where multiple CPU sockets are present.



    Quote:

    I always liked Apple's agressiveness with MP machines, but I've been wary of these multi-core processors as more marketing than true muscle. Is a multi-core chip truly as good as a mp setup, or are they not quite comparable? Are multi-cores just as good as handling multiple apps/threads as a MP setup? Do multi-cores have any advantages over MP?



    Since a multi-core CPU is just a MP setup in the same CPU package, yes, multi-core systems are just as good as MP systems.



    Since it is defined as such, the last question doesn't apply. Now, there is probably a careful balance between the number of sockets and the number of cores per socket. You won't be seeing it all one way or the other anymore. Somewhere in there is the most balanced system for performance and cost.
  • Reply 7 of 25
    kupan787kupan787 Posts: 586member
    Quote:

    Originally posted by Joe_the_dragon

    Amd 4x4 system will let you use 2 quad-core when they come out.



    I am pretty sure that the AMD 4x4 system allows you to only use 2 dual-core parts. The idea of 4x4 is 4 CPU cores and 4 GPU cores. If they were going for 2-quad core parts, then it would be 8 CPU cores and 4 GPU cores, so calling it 4x4 wouldn't make much sense.



    The whole thing is pretty confusing on AMDs part, and seems rather silly. Are 4 GPU cores really going to help in anything other than a small percentage of games? And 4 CPU cores is nothing new (Apple has been doing this with their quad). the whole thing smells of marketing to me, since they have nothing really to compete with Core 2 Duo.
  • Reply 8 of 25
    jrgjrg Posts: 58member
    Quote:

    Originally posted by mattyj

    Thanks for clearing that up JRG, wasn't sure if it was all correct. So what your saying is that AMDs and Intel multiple core system share the FSB, but the AMDs have access to there own memory and therefore greater bandwidth? Is this static, with each processor gaining a set portion of system memory avaliable or is it dynamic, each processor getting the memory required?



    I think above you meant Apple and Intel



    Static, each processor has its own memory controller and dedicated DIMM's. So processor A sees different RAM to processor B. It is now more complicated with multi-core chips, each core in a processor shares a memory controller.



    The beauty with the system, at least from AMD's point of view, is they can say to customers "You want more bandwidth? You want more memory? Buy more chips!" What a great thing for a chip company to be able to say.
  • Reply 9 of 25
    mattyjmattyj Posts: 898member
    Interesting.
  • Reply 10 of 25
    thttht Posts: 5,450member
    Quote:

    Originally posted by kupan787

    I am pretty sure that the AMD 4x4 system allows you to only use 2 dual-core parts. The idea of 4x4 is 4 CPU cores and 4 GPU cores. If they were going for 2-quad core parts, then it would be 8 CPU cores and 4 GPU cores, so calling it 4x4 wouldn't make much sense.



    The whole thing is pretty confusing on AMDs part, and seems rather silly.




    Actually, AMD's roadmap has 2 quad-cores and 4 GPU cores as 4x4+! Then in 2008, there will be something like 4x4++!



    Quote:

    Are 4 GPU cores really going to help in anything other than a small percentage of games? And 4 CPU cores is nothing new (Apple has been doing this with their quad). the whole thing smells of marketing to me, since they have nothing really to compete with Core 2 Duo.



    AMD's marketing for 4x4 pretty much states that gamers won't get much help from multiple cores. However, they do state that if you have an hours long process going on (encoding, math, whatever), a 4x4 system will let you game at the same time on the same system seamlessly.
  • Reply 11 of 25
    thttht Posts: 5,450member
    Quote:

    Originally posted by JRG

    Static, each processor has its own memory controller and dedicated DIMM's. So processor A sees different RAM to processor B. It is now more complicated with multi-core chips, each core in a processor shares a memory controller.



    The beauty with the system, at least from AMD's point of view, is they can say to customers "You want more bandwidth? You want more memory? Buy more chips!"




    This is only true for a 4 socket "node". AMD's strength is that its 2 and 4 socket nodes are very strong performers, and the fact that it was competing against Netburst CPUs.



    Once you get into 8, 16, 32, ..., 128 sockets, AMD's architecture doesn't really apply and the node-to-node I/O fabric becomes very important. Even with Intel's Netburst crap, 32+ processor (sockets) systems we're dominated by them because it had better interconnect designs for large numbers of processors and sockets.



    Even in this world, AMD is competing pretty well because of its lower cost, not necessarilly performance.
  • Reply 12 of 25
    mattyjmattyj Posts: 898member
    If you decide to overclock both an Athlon X2 and a Core 2 Duo, AMD's offerings quickly become a laughing stock. The Conroe's have so much room, on stock coolers the E6300 (1.8Ghz) can overclock to 2.6Ghz, past 3Ghz with decent air cooling and a reliable motherboard.



    That's what I'm doing with the gaming rig I'm building in a few months.
  • Reply 13 of 25
    cosmonutcosmonut Posts: 4,872member
    So all thing considered, what would be the difference between my dual-processor 2Ghz Power Mac G5 and a dual-core 2Ghz Power Mac G5?
  • Reply 14 of 25
    mattyjmattyj Posts: 898member
    Bugger all. Pretty much. Maybe for video editing of something equally memory intensive your dual processor would be a little faster.
  • Reply 15 of 25
    jrgjrg Posts: 58member
    Quote:

    Originally posted by THT

    This is only true for a 4 socket "node". AMD's strength is that its 2 and 4 socket nodes are very strong performers, and the fact that it was competing against Netburst CPUs.





    Indeed, 4 sockets is the current sweet spot. That is 8 cores, which is probably ~85-90% of the server market? If the next generation can expand that to great performance on 16 sockets with 2-4 cores per socket then that is ~98% of the server market. AMD are in a good place.



    Quote:



    Once you get into 8, 16, 32, ..., 128 sockets, AMD's architecture doesn't really apply and the node-to-node I/O fabric becomes very important. Even with Intel's Netburst crap, 32+ processor (sockets) systems we're dominated by them because it had better interconnect designs for large numbers of processors and sockets.



    Even in this world, AMD is competing pretty well because of its lower cost, not necessarilly performance.




    Yep, agree with all that, except the "glue" to link large numbers of sockets is generally very expensive (1. It is hard to do, 2. you don't sell very many. 3. You have to do redesign every time the bus protocol changes). If companies were prepared to commit to that kind of glue for AMD, they would compete better there. There was a company prepared to do that, Horus was the name of the glue chip and architecture but it is MIA.
  • Reply 16 of 25
    Quote:

    Originally posted by kupan787

    I am pretty sure that the AMD 4x4 system allows you to only use 2 dual-core parts. The idea of 4x4 is 4 CPU cores and 4 GPU cores. If they were going for 2-quad core parts, then it would be 8 CPU cores and 4 GPU cores, so calling it 4x4 wouldn't make much sense.



    The whole thing is pretty confusing on AMDs part, and seems rather silly. Are 4 GPU cores really going to help in anything other than a small percentage of games? And 4 CPU cores is nothing new (Apple has been doing this with their quad). the whole thing smells of marketing to me, since they have nothing really to compete with Core 2 Duo.




    You do neet 2 video cards with a 4x4 system
  • Reply 17 of 25
    Quote:

    Originally posted by THT

    Actually, AMD's roadmap has 2 quad-cores and 4 GPU cores as 4x4+! Then in 2008, there will be something like 4x4++!







    AMD's marketing for 4x4 pretty much states that gamers won't get much help from multiple cores. However, they do state that if you have an hours long process going on (encoding, math, whatever), a 4x4 system will let you game at the same time on the same system seamlessly.




    It will help game and run windows vista at the same time as well as your anit virus and anit spyware
  • Reply 18 of 25
    hirohiro Posts: 2,663member
  • Reply 19 of 25
    programmerprogrammer Posts: 3,458member
    Quote:

    Originally posted by mattyj

    Bugger all. Pretty much. Maybe for video editing of something equally memory intensive your dual processor would be a little faster.



    Actually there is a fair difference because the 970 dual core has twice as much L2 cache per core and the G5 it comes in uses faster DDR memory. The shared L2 cache can also greatly aid code which is using two threads that operate on the same data. In theory the 2-chip machine could benefit from greater bandwidth across the separate buses, but in practice the limitation is in the memory speed anyhow so the front side busses aren't the limiting factor.
  • Reply 20 of 25
    mattyjmattyj Posts: 898member
    Oops forgot about that. Been so obsessed about the Conroe's recently forgot all about the finer details of the G5s, I stand corrected.
Sign In or Register to comment.