Trying to decide between i9 and the i5 3.7(9600) and what the hell is multithreading ?

Discussion in 'iMac' started by igilphoto, Mar 26, 2019.

  1. igilphoto macrumors member

    Joined:
    Nov 2, 2018
    #1
    Hello ,
    Would love to hear your thoughts on this manner -
    Im a photographer who mostly uses Lightroom and some photoshop ,but want to future proof myself in case I do some video or gaming .

    I was pretty sure about getting the I9(3.6GHz 8-core Intel Core i9) but after reading some thoughts here and reviews of the chip I'm concerned it will run too hot and loud in the current iMac build .
    I need to wait for reviews but on paper it seems like a possible problem .

    Its very important for me that my mac will be strong but as silent as possible and find a sweet spot .

    Then I started looking at the I5(3.7GHz 6‑core Intel Core i5) I mentioned and found that its actually pretty good but lacks the additional cores and multithreading .It's less powerful but supposed to run cooler.

    I'm trying to decide how important multithreading actually is for me ,can someone give me an example of usage ?
    Im looking at benchmarks but would love to understand it in everyday .

    If I understand correctly ,it means that if I'l for example export images from Lightroom while I'm doing other tasks it will run much better on the I9 ?
    Or is it just for very demanding tasks like video editing and rendering and multithreading isn't that important ?

    Also, as I'm not so much of a tech guy -
    If the I9 does runs hotter and louder ,it happens only under heavy work load that is relative to his power? Or does it mean that every task and average usage will result in louder machine ?

    What do you think ? What did you ordered ?

    Thank you in advance !
     
  2. jerwin macrumors 68020

    Joined:
    Jun 13, 2015
    #2
    Judging from these two articles, lightroom isn't as multithreaded as photoshop, and the performance benefits of a 9900K over a 9700K aren't worth the price.

    https://www.pugetsystems.com/labs/a...2018-Core-i7-9700K-i9-9900K-Performance-1248/
    https://www.pugetsystems.com/labs/a...2018-Core-i7-9700K-i9-9900K-Performance-1250/

    But, there are some confounding variables
    it's a windows benchmark that doesn't include i5 chips.
    Apple doesn't offer the 9700k
    Apple doesn't cool their systems as well as Puget.
     
  3. macgeek18 macrumors 68000

    macgeek18

    Joined:
    Sep 8, 2009
    Location:
    Northern California
    #3
    Multi threading is nice only if you truly need it though. Considering I have a fleet of 6Core 8th gen i5's with 16GB RAM, and SSD's running the full Adobe suite with no issues at work I think an i5 iMac should be great. I'm worried about the i9 with heat issues as well. I just built a nice desktop for a friend with an i7 8086K 6C/12T @ 5Ghz it runs at 85c under full load. And that is with a 360mm AIO liquid cooler! I don't want to know what an air cooled i9 8C/16T @ 5Ghz runs like is a small case like an iMac.
     
  4. macduke macrumors G4

    macduke

    Joined:
    Jun 27, 2007
    Location:
    Central U.S.
    #4
    Yeah, if the i7 was available I probably would have gone with that. But I also think in the coming years more software will take advantage of additional threads.
     
  5. dazlicous macrumors 6502a

    dazlicous

    Joined:
    Jun 2, 2011
    Location:
    Manchester
    #5
    We won’t really know for sure until the reviews hit the net but the i9 is suppose to run cooler than the old i7 due to the new thermals roughly at 10-15c cooler

    Personally for now the i9 and Vega 48 does seem the sweet spot but it’s gonna cost you to max the CPU & GPU out
     
  6. adamk77, Mar 26, 2019
    Last edited: Mar 26, 2019

    adamk77 macrumors 6502a

    adamk77

    Joined:
    Jan 6, 2008
    #6
    A "core" is an independent computing unit. It's a tangible, physical hardware. It can execute computer instructions. So an i5 can execute computer instructions on 6 cores at the same time.

    A "thread" is not a physical thing. It is an abstraction where it fools the operating system into thinking that there are multiple logical cores. This helps core utilization so that it's constantly fed and not just sitting around when it could be doing work.

    So a non-technical explanation would be to consider an oven that bakes cookies (core) and a preparer that prepares the cookies to be baked (thread). If you have multiple ovens you can bake a lot of cookies fast, but if you don't have enough preparers, then you can't feed the ovens fast enough. You can have the opposite problem where you can have too many preparers but not enough ovens. In this case, the bottleneck would be the number of ovens.

    Take video games, for example. You won't see much of a performance increase between an i5 and and i7 because a single core speed (how fast a single oven can bake the cookies) matters more than the number of cores.

    Where the greater number of cores in the i9 would have the most impact would be running virtual machines where you would designate certain # of cores to the VM. Or things like compiling computer code where it can utilize the multiple cores.

    From what you've written, the i5 seems like it should be fine.
     
  7. Returnoftheimac, Mar 26, 2019
    Last edited: Mar 26, 2019

    Returnoftheimac macrumors newbie

    Returnoftheimac

    Joined:
    Mar 21, 2019
    #7
    Pugetsystems do rate the i9 highly for Photoshop as can be seen from their benchmarks.

    This also features the i5 9th gen which is significantly slower although how much this is a real world factor is down to the user.

    They also suggest once you go above 4gb of ram on supported graphics cards the returns are negligible as low a few percent.

    This makes me think the i9 with the 580x with 8gb of vram GPU. Could be a the sweetspot for Photoshop.

    The i9 with Vega should be cooler due to the type of ram that GPU uses but it would be massive overkill for Photoshop and a huge price bump for little Photoshop return.

    Fan noise is really important to me so I am eagerly awaiting reviews and comparisons. So options are to step down to the i5 9th gen but I fear that may run at nearly the same temp as the i9 due to similar power consumption.

    The i5 8gen is then the only other alternative with but it has the 575x GPU and 4gb of vram. I feel that is a none runner for me as it just meets my minimum criteria at the moment with little future proofing.

    So fingers crossed for a quiet i9 or i5 9th gen.

    I don't mind occasional audible spin up but not all the time at 40%cpu.

    The earliest peoples delivery and store stock seem to be about the 28th.

    So after that I am also looking for a teardown to see if there are any different heat speaders or higher spec fan/fans or any software that controls temp for the CPU. Any magical thinking that Apple have come up with to keep all those cores cool. [​IMG]
     
  8. kaintxu macrumors regular

    Joined:
    Jul 9, 2018
    #8
    That a perfect analogy and helps a lot. Thanks for this.

    Why do video games not use several cores at the same time, let's say one for physics, one for xxxx
     
  9. adamk77, Mar 26, 2019
    Last edited: Mar 26, 2019

    adamk77 macrumors 6502a

    adamk77

    Joined:
    Jan 6, 2008
    #9
    It was a generalization and I gave an oversimplified answer because the real answer is more complicated and nuanced. Games actually do utilize multiple cores. Some games will even refuse to run unless you have a certain number of cores. I think for a while now, a quad core was the minimum to play AAA games. Some games do a better job utilizing multiple cores/threads than others. I mean technically, a GPU like the AMD 580 has 2304 cores so it is already running on a lot of cores -- just not on the CPU.

    The sweet spot for current games is 4-6 cores on the CPU because of the way many games are coded. With everything else being equal, a 6-core CPU with a high clock rate will be better than a 8-core CPU with a lower clock rate for games because of this reason. It's not because games can't run on several cores.

    It's easiest to parallelize when the computations are independent of each other. No shared resources and the results don't depend on each other. Games aren't like this, so it's more challenging.

    In video games, certain things need to happen sequentially in something called a game loop. The game loop takes input from the player (mouse, keyboard, controller, etc), updates the game world (AI, physics, etc) and then renders the output to the screen. If you consider a game that runs at 60 frames per second, it has 1/60th of a second to do all the calculations to show you that single frame. The physics calculation being done on another thread still needs to be used by the game loop. There is also a non-negligible overhead of managing and synchronizing all those threads, which is the reason why you won't see a perfect 2x the speed boost when you go from 1 core to a 2 core CPU.

    Game performance will scale better with more cores/threads as game programmers start writing software to increasingly leverage it.

    For what it's worth, I'm not just making this up :) I used to program games, though that was in a previous life around 7 years ago.
     
  10. Trusteft macrumors 6502a

    Trusteft

    Joined:
    Nov 5, 2014
    #10
    Welcome to 2006?
    It depends on the game. Games that tend to be built around single core performance are games (for a decade or more now) which will run at least as good on a modern multi core system.
    Even games which are not designed to take advantage of every core they find, will tend to run better, smoother due to having all the other cores running everything else at the same time. You know, everything else that isn't the game that is currently running.

    While a 4/6/8 core system doesn't mean you are going to have better gaming performance, having fewer cores doesn't mean you are even if the game is designed to only use for example a single core.

    I hope I make some sense because it is late and I am tired.
     
  11. adamk77 macrumors 6502a

    adamk77

    Joined:
    Jan 6, 2008
    #11
    Yeah, see my reply above your post.
     
  12. curmudgeonette macrumors 6502a

    Joined:
    Jan 28, 2016
    Location:
    California
    #12
    The cores in modern processors have so many specialized units: There will be the multiply tree, the divider, memory read, memory write, barrel shifter, branch logic, floating point, and of course simple add and subtract - plus others. A single program thread can't keep all of them busy. With hyperthreading, the single core runs two (or more) threads at the same time, hopefully keeping more of the specialized units busy. The result isn't a doubling in speed because sometimes a thread has to wait for the other thread to finish with a unit.

    It is like you leased a big apartment and can't possibly use all the rooms at once. So you take on a roommate. But now sometimes you have to wait for the one bathroom.

    Intel's real motivation for hyperthreading is yield management. In each core, they include two copies of the complex instruction decoding logic, but only one copy of units like the massive but simple multiply tree. If there is a manufacturing defect in one copy of the decode logic, they can disable that side and still sell that CPU as a non-hyperthreaded chip. Chips that are perfect can then be sold as more expensive hyperthreaded CPUs.

    Thus, the i9-9900K has eight flawless cores that can act like sixteen cores. The i5-9600K will be the same silicon, but up to two cores can be entirely defective because only six good ones are needed, and even in those six, one side of the instruction decode can have defects. Note that some 9600K may have "perfect" silicon, but because they were power hogs, Intel downgraded the chip.

    In contrast, the Apple A series doesn't have hyperthreading. This is likely because of the much simpler ARM instruction decode. It is much less likely that defect would be in the portion of the CPU replicated for hyperthreading.
     
  13. jerwin, Mar 26, 2019
    Last edited: Mar 26, 2019

    jerwin macrumors 68020

    Joined:
    Jun 13, 2015
    #13
    cores are hardware. On Kaby lake, the cores are organized like so:
    [​IMG]

    https://en.wikichip.org/wiki/intel/microarchitectures/kaby_lake


    Note that there are multiple ALUs, multiple FPUs, multiple vector units per core. The core doesn't execute a single instruction per clock cycle. Instead, it can execute multiple instructions per clock cycle. This is called superscalar design.

    A thread is a software concept. (wikipedia calls it the "smallest sequence of programmed instructions that can be managed independently by a scheduler"). Programmers who wish to get the highest speed out of their programs structure thei programs to use multiple threads. It's common to have one thread handling I/O and other threads handle the "back end." Or a programmer may decide that a image can be best processed by dividing it into multiple sections-- and spawning one thread for each section. Threading is such an entrenched strategy that a macos system can have hundreds or thousands of threads working together. On my machine, Activity Monitor shows that the kernel alone has 167 threads.

    So. these thousand threads are allocated time on the cpu-- each thread is processed for a short period of time (10 ms). A 8 core 9th gen i7 can process 8 threads at a time. But not every thread can use every element of the core. Some elements remain idle. For instance, some threads don't need to use the Floating point unit.

    A hyperthreaded CPU has the hardware to handle twice as many (Xeon, i9), or four times as many (UltraSparc, Xeon Phi) or eight times as many threads (POWER9) on each core. If one thread is math, and the other is string processing, the threads can execute simultaneously. If the threads need the same subunits, then it doesn't work as well. On intel x86 chips it's a 10 percent to 30 percent advantage. On other architectures, it may be more worthwhile.

    IBM says:

    which sort of implies that hyperthreading is best used on servers, and not on workstations, Kind of a hard sell if your target market consists of artists and gamers.
     
  14. adamk77, Mar 26, 2019
    Last edited: Mar 26, 2019

    adamk77 macrumors 6502a

    adamk77

    Joined:
    Jan 6, 2008
    #14
    Great info. I think a distinction should be made between software threads and hardware threads. I had a feeling that when OP wrote multithreading, he was asking about the hardware threads that's advertised by Intel (e.g., Intel advertises Core i5-9400 as 6 Cores / 6 Threads).

    I see that you explained hyperthreading, which explains this distinction. Just want to point it out so that it's obvious.
     
  15. danwells macrumors 6502

    Joined:
    Apr 4, 2015
    #15
    Apple's target market (on MacOS) NEVER includes gamers. They do deliberately support gaming on iOS, but not really on the Mac. Yes, a Mac will run games, and developers port some games to the Mac, but Apple won't lift a finger to make them work, and sometimes deliberately disadvantages them (AMD graphics work very well for pro uses, but are well behind NVidia in games).

    As far as I can tell, this is a stability decision - complex games themselves, by virtue of using a lot of resources which they grab at a very low level, destabilize systems. Game-optimized hardware also does no favors for stability!
     
  16. joema2 macrumors 68000

    joema2

    Joined:
    Sep 3, 2013
    #16
    A thread is not an abstraction which fools the operating system into thinking that there are multiple logical cores. Rather a hyperthreaded CPU design does this. But those logical cores are not real cores and cannot support sustained simultaneous execution.

    A thread is an asynchronous flow of control and the data structures which support that. It is asynchronous because barring explicit synchronization between threads, they run independently.

    If you have a multi-core CPU like the 6-core i5, you can run six threads simultaneously. These threads can be within the same app or from different apps. MacOS schedules and dispatches threads not processes (ie apps). In Activity Monitor's CPU tab, at the bottom it shows total # of system-wide threads. This is typically over 1,000 threads and some times far more.

    Most of those threads are not running but waiting on some event or synchronization call. Only runnable threads are dispatched to a CPU core. Windows has a built-in sophisticated monitoring tool called PerfMon which can watch CPU activity per thread. Unfortunately there is nothing with that level of capability in MacOS, at least by default.

    The issue is not threads but whether a hyperthreaded CPU benefits common productivity software. A hyperthreaded CPU is sometimes called SMT (Simultaneous Multi Threading). This is misleading and ironic since it does NOT support simultaneous threads within a CPU core. Rather when one thread is momentarily stalled for some reason that core can briefly execute another thread.

    The benefit is hardware (ie number of transistors) required to implement a hyperthreaded core. Instead of requiring another entire CPU core (which might cost 200 million transistors), a hyperthreaded core can get some of the benefit of an additional full core but at only a fraction of the transistor budget. E.g, in the optimal case a hyperthreaded CPU might provide 40% more performance at only 5% of the transistor budget of another full core. Each core takes lots of space as shown on this die shot of a 4-core Kaby Lake CPU: 650px-kaby_lake_(quad_core)_(annotated).png

    In actuality the hyperthreaded performance benefit is usually much less than this. I've only seen 30% in very narrow test cases, and in recent versions of apps and MacOS, less than this. There is no easy way to test it except for using the specialized utility CPUSetter to enable/disable hyperthreading while running a test workload: https://www.whatroute.net/cpusetter.html

    Another factor is the possibility that some of Intel's microcode updates for the Spectre and Meltdown vulnerabilities may have decreased the benefit of hyperthreading in some cases. That might be partially counter-balanced by hardware mitigations being rolled into 9th-generation Intel CPUs which reduce the overhead of the Spectre/Meltdown firmware fixes: https://www.anandtech.com/show/13400/intel-9th-gen-core-i9-9900k-i7-9700k-i5-9600k-review/2
     
  17. TVreporter macrumors 6502

    TVreporter

    Joined:
    Mar 11, 2012
    Location:
    Near Toronto
    #17
    Some tests on the i9 chip - reasssuring results

     
  18. evilmurries macrumors newbie

    evilmurries

    Joined:
    Mar 29, 2019
    Location:
    Bay Area, CA
    #18
    Can someone weigh in on making this choice from a programming perspective? I am a college student so I would prefer to save money if I won't be benefitting as much. At what scale does a project benefit from the two extra cores? My school projects have been perfectly fine on my 2016 13" mbp, but I intend to use this machine for personal Xcode / Swift projects in the future. The only av processing I do is occasional iMovie projects for assignments. This would be my first apple desktop so I am not sure what to expect in terms of performance.
     
  19. kaintxu macrumors regular

    Joined:
    Jul 9, 2018
    #19
    Can someone with the i5 9600k (both pro 580x and Vega 48) please run some Geekbench and cinebench? not just for the scores but with the intel power app to see some results
     
  20. igilphoto thread starter macrumors member

    Joined:
    Nov 2, 2018
    #20
    Great,thank you for the detailed answers !
    I’m now just waiting too see how the i9 works with the 580x.
    The Vega gpu is a bit too expensive for me and I have no need for it.
    But it supposed to be cooler than the 580 so I want to make sure that combining the 580 with i9 won’t result in overheating or bad performance .
    Unfortunately for me everybody testing out the new Vega
     
  21. curmudgeonette macrumors 6502a

    Joined:
    Jan 28, 2016
    Location:
    California
    #21
    Decades of experience say that one should not get the hardware that goes to heroic measures to achieve the highest possible speed. Instead, the second fastest is a sweet spot.

    I expect that the 2021 mid grade iMac will be as fast as 2019 i9's. You'll look back and wonder why you spent so much money for an i9.

    The exception is when time is money. If you can get in one additional compile or render each work day, that can translate into more income which can pay for the upgrade. Or if one more compile/render might get you an A+ instead of an A.
     
  22. kaintxu macrumors regular

    Joined:
    Jul 9, 2018
    #22
    Exactly on the same spot, I want to upgrade either the CPU or GPU, but can only find I9 vega reports. I also want I9 580x, and i5 with both :S IS not just about the specs, you can see the benchmarks on geekbench and so, but also about temperatures, fan and throttling.
     
  23. TVreporter macrumors 6502

    TVreporter

    Joined:
    Mar 11, 2012
    Location:
    Near Toronto
    #23
    Is Macrumors going to do some iMac reviews? Seems a lot of youtube bloggers are now posting - but still nothing on the new i5 chip - Don’t know if I can justify another $500 for the i9
     
  24. spiderpumpkin macrumors regular

    Joined:
    Oct 27, 2014
    #24
    I think I still prefer the i9, but it sounds like the i9hyper-threading may be a bigger Zombieload security risk.
     
  25. cube, May 19, 2019
    Last edited: May 19, 2019

    cube macrumors P6

    Joined:
    May 10, 2004
    #25
    A hardware thread is implemented with additional resources in the core, so that the software threads loaded on it can be switched instantly.

    A hardware thread takes a lot less silicon than an additional core. It can increase the performance by some fraction.

    The standard name for the brand HyperThreading is Symmetric Multithreading (SMT).

    Bulldozer family CPUs have Clustered Multithreading (CMT), where two cores are grouped in a module and share some resources, but each one only has one thread loaded. This takes a lot more silicon.

    So where Intel offered 4-core SMT CPUs, AMD would offer 8-core CMT CPUs. If the AMD chips had been as efficient as the Intel ones, they would have been faster (8 threads actually executing a lot of the time versus 4). For integer.

    It also means a Phenom II X4 would be better for floating point than a 4-core Bulldozer.

    AMD dropped CMT with Zen and introduced SMT with new full cores on a smaller process. They doubled the performance.
     

Share This Page

26 March 26, 2019