AMD FX-8320 vs 6th gen i7: Cores vs speed/power?

2»

Comments

  • hphoenixhphoenix Posts: 1,335
    hphoenix said:

    I'm a programmer and I optimize code all the time where I work. I know assembly, DirectX, OpenGL, etc.. I still don't understand what you're asking. I've rarely known a situation where more cores is better than the same processing power on a single core.

    [...snip...]

    With all this talk, some concern should also be taken to your RAM and disk speed when loading textures and other resources depending on how your renderer works.

     

    I've been doing highly-parallel programming since the mid-1980s and can assure you that there are LOTS of situations where even thousands of "cores" are not enough.

    Kendall

    AH, the good old days.  I wrote parallel code on CM-5, Maspar, and via the (at the time) new-fangled network parallelism stuff (edit:  I just remembered what the library/protocol was called then.....MPI) on a cluster of SparcStations.....and yes, having lots of cores is meaningless unless the code (and the algorithm) truly are designed for and capable of being massively parallelized.  Some stuff is pretty easy (non-recursive ray-tracing, image processing, etc.) but some algorithms just don't parallelize well.....

    And with modern machines (which while multi-core, are not massively parallel designs) the real problems end up being bus and memory contention.  Nothing like having half your cores starved because they're trying to access memory or resources that are tied up by the other half.....

     

    Indeed.  I was one of the lucky folks to get to write code to run on the ETA10 Super Computer's vector processors before the JvNCC's SuperComuter Center lost funding.  The Cray was always so overloaded.  Both of them were expensive as h*ll to run processes on.  I forget now what we paid per CPU second on those things, but it was crazy (in 1988 dollars) which is why it was IMPERATIVE to make use of the vector processors instead of the CPUs.

    I was doing all mine in the late 80s and early 90s....At the University of Tennesse, Knoxville.  We hosted some of the ORNL machines, and the JICS machines as well (the CM-5 was a JICS, I think the MasPar was ORNL.....that MasPar was a beast on image processing.....4096 32-bit processors!  Could only run in SIMD mode, unlike the CM-5, which was MIMD.)  I got access through JICS as a student.  Was a sweet deal, any idle cycles were ours for research use...

    Core starvation:  This is why I own Tesla Units.  Both 1U standalone and internal units.  However, the machines I have that have 24, 48, or 64 CPU cores are 4x XEON systems with buses specifically designed to feed the processors.  The biggest of my machines is capable of 2TB of RAM on board (as if I could ever afford that much ECC RAM).  Obviously, DS is nowhere near optimized to run on these things, but some rendering engines are.

    Memory and bus contention are some of the major reasons that "real world" performance between the Intel 'i' series processors and the AMD processors is nowhere near what it should be "on paper".  Especially when using an OS like Windows that is about as inefficient as one can get.  The lower performing CPU's have plenty of time to catch up to the faster ones because of all of the poor scheduling algorithms in the OS that keep the processors in a constant state of context switching.  What many don't understand about the benchmarks (even Cinebench) is that they are able to load into cache and then run "unimpeded" by normal OS operations.  This gives an extremely unbalanced view of what the systems are actually capable of.

    This is why I only trust benchmarks as a form of 'peak performance' measurement.  Real-world code never runs that cleanly.....Even LinPack, which is still the current supercomputer benchmarking library (which, I might add, was written by one of the faculty at UTK, Jack Dongarra.....got to talk with him briefly once, he helped me out with a bit of assembly coding for a math problem.  Was a big honor, he almost NEVER talked with undergrads...)

    There are very good reasons that studios do their production rendering on farms of machines running Linux.

    EDIT:  I still have quite a few Sun SparcStations around here.  Including a Ross HyperStation.  All of my SparcStations were Quad-Processor Super or Hyper Sparc processors.

    EDIT2: Windows Server Standard or Datacenter is required to use all 4 processors.  Linux can use all processors.

    Kendall

    Linux (and Irix, and even Solaris and BSD) are a LOT better at handling heavy threading and task scheduling.  It was a fundamental design consideration when it was being written.  Windows came from a very single-task model originally, and SMP was added on top to compensate.  Now we have full threading and multi-core support in windows, but it was more of an 'add-in' from a design perspective.....

    I still have a Sparcstation 2+ and a Sparcstation 5.....and an Indigo 2 and an O2...and an Indy.  They're horribly dated now, but at their time, they were pretty hot stuff.

    And yeah, windows still doesn't have kernel-level support for multiprocessors beyond 4, and that (as you said) is only in Server.  Linux has had it for decades.

     

    (Oh, cute factoid.  The Thinking Machines CM-5 I worked on?  8 sparc cpus, each with dedicated memory.  And that sleek refrigerator sized cabinet, with the matrix of blinking LEDs on the front.  I got to look inside.  The LED display on the front?  All those blinking lights?  Three small wires connected that panel to the rest of the box.  Power, Ground, and Clock.  No signal.  The board had a random-number generator on it that made the LEDs blink.  Turned out they added it because the original prototype didn't impress the investors because they couldn't tell it was doing anything....so they added the panel on the front so it LOOKED like it was doing lots of stuff, even when it was completely idle......)

     

Sign In or Register to comment.