4 ms·
How many processes do most users have on their desktops? Hundreds. I have 397 on my OSX laptop, and many of them are multithreaded. Firefox alone is using 61 th
by illumen 12y ago
How many processes do most users have on their desktops? Hundreds. I have 397 on my OSX laptop, and many of them are multithreaded. Firefox alone is using 61 threads.
Dedicated compression/decompression threads, threads for encryption, threads for sound, threads for... well lots of things. Remove the caches and you get more consistent performance. Dedicate tasks to their own core, and they can use that cache for themselves. They don't have to swap it out every time.
- Science...
- dfox 12y agoAnother thing is how many of these threads are not blocked waiting for something to happen.
- dagw 12y agoHis argument is that running each of those 400 threads on its own tiny simple core will be a lot slower than splitting them up over 2-4 really fast cores. Even assuming a generous power budget of 100W that leaves only 0.25W pr core and that doesn't give you much processing power. It's probably a better use of time to focus on writing better context switching and multitasking algorithms for 2-4 core CPUs.
- vidarh 12y agoMost of those will be waiting on IO. But I sort of agree with you (see my long rant elsewhere in this thread).
- hollerith 12y ago>Firefox alone is using 61 threads. If you're getting this number from Activity Monitor, then I doubt it has any relevance to the current conversation. Activity Monitor tells me Emacs is currently using 4 "threads", and Emacs is famously non-threaded. The "threads" mentioned by Activity Monitor probably have something to do with OS X's being implemented on a Mach microkernel rather than the kind of threads that would matter for this conversation.
- ghshephard 12y agoAnd those processes and threads will run faster on a four core machine than an equivalent eight core machine. Keep in mind, going from four cores to eight cores does not buy you any extra transistors - it's the same number of transistors. What it does do is introduce extra cache contention, and likely smaller caches. It also introduces extra layout complexity. Most laptops / desktops perform much better with at least two cores than one core. Particularly if you have a CPU hogging process - your UI can't remain buttery smooth interactive. There is even some argument to be be made from going from two to four. (Background application like a render, plus another App doing something nasty killing your CPU - you can still launch activity manager and kill the errant task). But, It's not clear to me there's any value for the client for taking a four core machine and breaking it up any further as opposed to taking the increased transistor budget and improving those existing four cores. Remember - the tradeoff is not "Do we want more, faster, transistors" - of course we do. Rather, the tradeoff is do we make smaller, lower cache cores, or do we make larger, bigger cache cores. The evidence tends to suggest for the near future, that bigger cache, faster cores are the way to go on your average desktop/laptop.
- pwr22 12y agoBut surely is does buy you extra transistors in practice since the number of core tends to only increase every few years - meaning the additional cores come with new technological advances and are how the new transistors are put to use
- sklogic 12y ago> taking the increased transistor budget and improving those existing four cores There is not much space for improvement left. ILP had been stagnating quite for a while, and there is no hope of improvement with the current ISAs. More OoO-friendly ISAs are being developed, but are unlikely to hit the market any time soon. Caches are also approaching the upper limit, and for the bigger caches we need either some much smarter cache management techniques (explicit prefetching, etc.), or a totally different programming model (e.g., using a flat scratchpad memory explicitly instead of transparent caches). Core count grows for a reason - there is not really much stuff we can put into a single core any further, not without breaking the whole architecture.
- arielby 12y agoI have 150 processes on my Linux laptop, but very rarely are more than 4 of them runnable at the same time.