Multicore Processors

You're confused between multi-tasking and multi-processing. Both have very different meaning. Please do some research.
Multi-processing is vital for computers these days.

I wasn't asking about multi tasking but simply how multiple cores (programs that utilise it) help the normal user.

So are you against multi core CPU?

I don't understand why you would infer this from my post. In any case I am not against them.

I think it's safe to say that @Decadent_Spectre's computing history/experience puts them far above in the one-percenters. They had HEDT before HEDT was even a thing:




At this point in computing, the operating system expects to see multicore processors to better schedule processes.

For apps, browsers in particular are doing a lot of background processing and rendering and with computational imagery (svgs) and new image formats that require more cpus cycles for decoding (avix, webp).

Web streaming (YouTube) is probably the most cpu intensive task a regular user would do on a regular basis and a single core computer would make it unwatchable because of the frames dropped.

The web has been the largest driving force for more computing power in recent years, web sites want users to interact more and visit more frequently to increase their ad revenue and this translates to more animations, more videos, more rich content.

There are browsers that can cut out all of extra media and present bare text or render a webpage as an image server-side but that doesn't represent the expectations of a regular user — regular users want the flashy animations and detailed photos and highres videos.

There are similar parallels in other aspects of a regular person's life, like how bhendi-phulka is forgotten in the age of paratha-paneer. People overall expect and want experiences that are rich, enjoyable, rewarding and pleasing.

Thank you for the post, this is more what I was asking about.

Apart from web browsers ( and multiple tabs) and the necessary OS needs, is there any other particular program(s) that the average user would benefit from multiple cores?

It's interesting about youtube,webpages.

Thanks again for a helpful post.
 
How do you define average user?
For the guy watching movies, a video encoded in h265 certainly uses multiple cores and is better for it.
For the average office computer, Excel can bring an i9 to its knees depending on the amount and structure of data and the functions etc applied. A single core in those instances would certainly lock up for hours and hours.
If you compress/decompress something on your pc, you're using multiple cores to cut down the time by a huge margin.
All of these are average tasks for certain groups of people.

Moreover, multiple cores don't really exist in a vacuum that you can draw a hard line somewhere and point to it that on this side is multi core usage and on the other is single core usage. It's evolved and matured alongside other stuff like processing architectures to improve efficiency, increased clocks and the thermal limits reached by those clocks, scheduling on both the processor and OS levels, etc. Overall, it's the complexity of modern computers that necessitates using a combination of tools and technologies to provide the best computing experience, and one of those is multiple cores.
 
I wasn't asking about multi tasking but simply how multiple cores (programs that utilise it) help the normal user.
One example would be UI rendering vs computation. Basic design philosophy of an UI is the UI should not stop responding when you're crunching numbers. Different runtime environments handle it differently, javascript for example is primarily single threaded, and relies on asynchronous io (js now has separate worker threads that can do number crunching), android has a main ui thread and worker threads, with the same philosophy that the main thread should not be blocked.

Now, to not confuse application threads vs processor threads, multiple application threads can run on a single processor thread, most modern day kernels will schedule the application threads accordingly. In the example above, if you had 2 processor threads (and no other tasks running), your compute app thread would get allocated to one proc thread and the ui app thread would get another proc thread (in reality, this never happens as at minimum the kernel also needs CPU time).

As to how all this is used practically, take Chrome as an example. Chrome runs several rendering, network, gpu processes, as well as each site in a sandbox (https://www.chromium.org/developers/design-documents/site-isolation/). This ensures when something crashes in tab A, it does not crash the entire browser. Can all this run in a single processor core/thread? sure, but your experience is going to get worse due to context switching (https://en.wikipedia.org/wiki/Context_switch) which is a penalty incurred at each task switch by the scheduler.

Pretty much any ui application would (should) use 2 threads at minimum, and like it or not, most day to day desktop apps are web browsers in app form (Spotify, discord, vs code, parts of steam etc..)
 
How do you define average user?
For the guy watching movies, a video encoded in h265 certainly uses multiple cores and is better for it.
For the average office computer, Excel can bring an i9 to its knees depending on the amount and structure of data and the functions etc applied. A single core in those instances would certainly lock up for hours and hours.
If you compress/decompress something on your pc, you're using multiple cores to cut down the time by a huge margin.
All of these are average tasks for certain groups of people.

Moreover, multiple cores don't really exist in a vacuum that you can draw a hard line somewhere and point to it that on this side is multi core usage and on the other is single core usage. It's evolved and matured alongside other stuff like processing architectures to improve efficiency, increased clocks and the thermal limits reached by those clocks, scheduling on both the processor and OS levels, etc. Overall, it's the complexity of modern computers that necessitates using a combination of tools and technologies to provide the best computing experience, and one of those is multiple cores.

Think I mentioned this in the first post.
 
OP try watching this if possible.
pretty much every web framework including TE uses this type of programming. basically modern multi threading/processing.

To get more into these topics, there are pre-requisites that you have to understand to dive deeper. some programming language, some OS concepts and such.
 
the moment you open the browser and open a webpage it uses tls 1.3 does a SSL/tls handshake .To give you a quickpage web opening AES is run and within few milliseconds all of that occurs and you get your page .Cpu and multicore gets used in small bursts
 
Think I mentioned this in the first post.
Which is fine, I missed that, but I took two of your examples only. I don't believe you don't know vlc for video playback or 7zip for compression, as example programs.

Regardless, it's the second paragraph of my post that is more relevant.
 
whenever you take a picture and save as it as jpeg it does a compute in very short burst uses multicore for quicker task completion. then your online meetings is killer , it does SSL + video capture + video compression +audio capture + audio compression and on the same time does reverse and any thing with internet running will keep on doing compute .Your WFH is impossible without a strong Compute its one of the form of SSL .Modern day internet cannot work without strong Compute w along with multitasking. Without Multicore /multi threading there wont be AWS,AZURE,GCLoud and all the internet luxury that we use nonchalantly
One of the most famous cracked game site also requires multicore /multi thread for game installation :p

1697648481837.png
 
Last edited:
Which is fine, I missed that, but I took two of your examples only. I don't believe you don't know vlc for video playback or 7zip for compression, as example programs.

Regardless, it's the second paragraph of my post that is more relevant.
I was looking to expand my knowledge of programs that average users use that make use of multiple cores. I get the gist of what people are saying though I wish people would post a few commonly used programs as you have mentioned.
 
I was looking to expand my knowledge of programs that average users use that make use of multiple cores. I get the gist of what people are saying though I wish people would post a few commonly used programs as you have mentioned.
All of them make use of multiple cores. It's only some extremely old games and software that don't support multiple cores, either physical or logical.
 
Software doesn't maximize 1 core usage then go to another core. The logical processors available as a whole to the OS environment are leveraged, and this is not controlled by the program that's running usually. It's controlled by the OS.

Open task manager>performance, select CPU and right click the graph, make sure you've selected logical processors in 'change graph to'. You'll see that all cores are utilized to some extent, it's not just 1 core doing all the work.
 
Think I mentioned this in the first post.
I guess you're looking for some specific answers, I'll try to give some but in a nutshell, as @ze_cook explained earlier any program that doesn't freeze when you interact with it (almost any modern application) implements threading(at least 2 threads - one for UI and at least another one for background processes) which in turn can make use of multiple cores.

What is the point of multicore processors for the average user (recreational), please no generic answers like video editing/rendering/virtual macine etc. These cases are true but not the average user. Most users browse/game/video/music and supporting/similar programs like torrent or unzip, some light text/photo editor. Please post specific programs if possible.

Browsing: Literally all browsers. There are no single-threaded browsers.

Games: Again, if a game doesn't completely freeze when you press a button, it is multithreaded. Yes, even the games from 20 years ago are multithreaded as well. But that doesn't mean more cores always means more performance. Ideally, all available cores should be used for processing but implementing that properly is hard, so poorly optimised games might lump all the background logic together in a fixed number of threads(say 2-4). These games won't benefit from having more than a certain number of cores in the CPU as the bottleneck is usually in the logic rather than computing. You can read the reviews of the games/watch YouTube videos where they show the CPU usage to see how multithreaded the game is.

Media: VLC uses multiple threads and I assume any other video players to do the same. But you won't get any speed-ups after having a certain number of cores as IO will bottleneck long before the CPU does.

If you're talking about encoding then again the answer is yes, most, if not all of them use multiple threads eg. ffmpeg (The base library used by many programs)

Productivity: 7zip uses multiple threads. Office Suite again is multithreaded but after a certain number of cores, it won't make any difference unless you're doing some serious number crunching in Excel. Torrent clients are multithreaded but they're so lightweight (unless it's calculating checksums) you'll hit the IO limits long before the CPU.


I think you're asking the wrong question here. All modern(even non-modern) apps are inherently multi-threaded(at least - two threads) so multiple cores are necessary. But I think your question should be, how well they scale with multiple cores.
 
How many of these programs make use of say 16+ cores as is becoming common now?
I think you're under the impression that only multi threaded apps can make use of multi core processors. If you are running 2 CPU heavy single threaded programs, they will be assigned to different cores/threads so one doesn't limit the other. Also moving them from core to core keeps CPU temperature in check so that one core doesn't stay at 100% usage and thermal throttle, while others are sitting at idle

Check if your BIOS allows you to disable cores, and disable all except one core. See how that feels
Also, why haven't you tried this? It was a serious suggestion to simulate a single core CPU. This will be the surest way for you to confirm if multi core is actually helpful or not to YOU, the average user
 
I guess you're looking for some specific answers, I'll try to give some but in a nutshell, as @ze_cook explained earlier any program that doesn't freeze when you interact with it (almost any modern application) implements threading(at least 2 threads - one for UI and at least another one for background processes) which in turn can make use of multiple cores.



Browsing: Literally all browsers. There are no single-threaded browsers.

Games: Again, if a game doesn't completely freeze when you press a button, it is multithreaded. Yes, even the games from 20 years ago are multithreaded as well. But that doesn't mean more cores always means more performance. Ideally, all available cores should be used for processing but implementing that properly is hard, so poorly optimised games might lump all the background logic together in a fixed number of threads(say 2-4). These games won't benefit from having more than a certain number of cores in the CPU as the bottleneck is usually in the logic rather than computing. You can read the reviews of the games/watch YouTube videos where they show the CPU usage to see how multithreaded the game is.

Media: VLC uses multiple threads and I assume any other video players to do the same. But you won't get any speed-ups after having a certain number of cores as IO will bottleneck long before the CPU does.

If you're talking about encoding then again the answer is yes, most, if not all of them use multiple threads eg. ffmpeg (The base library used by many programs)

Productivity: 7zip uses multiple threads. Office Suite again is multithreaded but after a certain number of cores, it won't make any difference unless you're doing some serious number crunching in Excel. Torrent clients are multithreaded but they're so lightweight (unless it's calculating checksums) you'll hit the IO limits long before the CPU.


I think you're asking the wrong question here. All modern(even non-modern) apps are inherently multi-threaded(at least - two threads) so multiple cores are necessary. But I think your question should be, how well they scale with multiple cores.
Multi threaded is not the same as using multiple cores. Most games from the 90s don't have the capability to run on multiple cores. they will use just a single core, with multiple threads.
 
Multi threaded is not the same as using multiple cores. Most games from the 90s don't have the capability to run on multiple cores. they will use just a single core, with multiple threads.
They are not the same - YES, but it can and it will run on different cores (OS will decide that) unless it is manually pinned to a particular core.
 
I guess you're looking for some specific answers, I'll try to give some but in a nutshell, as @ze_cook explained earlier any program that doesn't freeze when you interact with it (almost any modern application) implements threading(at least 2 threads - one for UI and at least another one for background processes) which in turn can make use of multiple cores.



Browsing: Literally all browsers. There are no single-threaded browsers.

Games: Again, if a game doesn't completely freeze when you press a button, it is multithreaded. Yes, even the games from 20 years ago are multithreaded as well. But that doesn't mean more cores always means more performance. Ideally, all available cores should be used for processing but implementing that properly is hard, so poorly optimised games might lump all the background logic together in a fixed number of threads(say 2-4). These games won't benefit from having more than a certain number of cores in the CPU as the bottleneck is usually in the logic rather than computing. You can read the reviews of the games/watch YouTube videos where they show the CPU usage to see how multithreaded the game is.

Media: VLC uses multiple threads and I assume any other video players to do the same. But you won't get any speed-ups after having a certain number of cores as IO will bottleneck long before the CPU does.

If you're talking about encoding then again the answer is yes, most, if not all of them use multiple threads eg. ffmpeg (The base library used by many programs)

Productivity: 7zip uses multiple threads. Office Suite again is multithreaded but after a certain number of cores, it won't make any difference unless you're doing some serious number crunching in Excel. Torrent clients are multithreaded but they're so lightweight (unless it's calculating checksums) you'll hit the IO limits long before the CPU.


I think you're asking the wrong question here. All modern(even non-modern) apps are inherently multi-threaded(at least - two threads) so multiple cores are necessary. But I think your question should be, how well they scale with multiple cores.

This was helpful, more of what I was looking for though I knew about these programs. Maybe the question should be how many/which apps used by the average user utilizes modern CPUs effectively, such as 16+ cores.


I think you're under the impression that only multi threaded apps can make use of multi core processors. If you are running 2 CPU heavy single threaded programs, they will be assigned to different cores/threads so one doesn't limit the other. Also moving them from core to core keeps CPU temperature in check so that one core doesn't stay at 100% usage and thermal throttle, while others are sitting at idle


Also, why haven't you tried this? It was a serious suggestion to simulate a single core CPU. This will be the surest way for you to confirm if multi core is actually helpful or not to YOU, the average user

No, I wasn't asking about multi tasking.

Because I don't see the point. I wasn't asking this question for myself, it was a general question. Curious. I would also guess I am not the average user but that isn't the topic of this thread.

I appreciate all the responses.
 
This was helpful, more of what I was looking for though I knew about these programs. Maybe the question should be how many/which apps used by the average user utilizes modern CPUs effectively, such as 16+ cores.




No, I wasn't asking about multi tasking.

Because I don't see the point. I wasn't asking this question for myself, it was a general question. Curious. I would also guess I am not the average user but that isn't the topic of this thread.

I appreciate all the responses.
Everyone here (incl. me) misunderstood the question lol.

To answer your question - No, unless I'm living under a rock, there's no 'basic' program that warrants 16+ cores. Except for some games maybe, but I'd assume the gain would be too minimal to notice for a normal user. If you're streaming the game and using CPU encoding then it might matter a bit (but if you have a CPU with 16+ cores then you'd probably have a GPU with hardware encoding anyway)

If anyone needs 16+ cores, then they wouldn't be normal users IMO. I'd assume a normal user won't compile programs, run dozens of VMs or spend a whole day encoding videos.
 
How many of these programs make use of say 16+ cores as is becoming common now?
Okay, to elaborate a little on this…
When one can design a cpu to be extremely efficient in terms of power consumption but it won’t be as much performant. So ARM came up with big.LITTLE architecture. Where there would be few performance cores and few efficiency cores to do the tasks. Games will kick in performance cores where as regular tasks such as browsing use efficiency cores only.

Having more cores will always result in high power usage. So one has to decide what is the general use case before investing in high core cpus. Like me when I bought thread ripper with 32 cores. :rolleyes:

If you just wanna run nas or plex server pi is a better solution.
 
Back
Top