[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
What are the advantages/disadvantages of adding more threads
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 17
Thread images: 4
What are the advantages/disadvantages of adding more threads to your cpu?

Would an i3 with 2 cores 8 threads, or an i7 with 3 cores 16 threads, perform better than the current lineup in multithreading?

Why does Intel only use 2 threads per core with hyperthreading?

What about GPUs? They're heavily focused on more cores. Why don't they add more threads through SMT?

Would an i3 6100 dual core with 8 threads multi task almost as well as an i5 6600 quad core?
>>
File: tmp_170191465724666769867205075.jpg (228 KB, 1024x683) Image search: [Google]
tmp_170191465724666769867205075.jpg
228 KB, 1024x683
Bump
>>
>>55112537
Doesn't adding more threads hurt single thread performance?
>>
>>55112537
A thread died for this shit so /sqt/
but I would imagine there would be resource issues on the die
such as cache issues and resource sharing, but I am not assuming to be a EE or some shit

I would also assume if you don't have to make hardware to support possible multi-way
accesses you could make assumptions about how each thread is allowed to use available resources

but again, I am basically just talking out my ass here.
>>
>>55112537
>8 core
>64 threads
But why? Doesn't SMT suffer horribly from diminishing returns?
>>
>>55115133
>Doesn't SMT suffer horribly from diminishing returns?
It really depends on the design of the chip and how many resources there are to use
>>
>>55114917
I believe this man is correct
The different threads will still compete for core resources (ALU, cache) even though they have some independent resources as well. So using 2 threads per core prevents your threads from walking all over each other as much as if there were 4 or more.

The pic OP linked mentions 4 threads per core, but also mentions larger caches and larger bandwidth (i.e. more data can be transmitted at a time). This mitigates some of those concerns that the threads would compete with each other for resources too much
>>
>>55117838
Actually the pic in op is 8 threads per core.
>>
>>55112537
>Would an i3 6100 dual core with 8 threads multi task almost as well as an i5 6600 quad core?

Not unless it had the same amount of cache as the i5. L3, L2 and L1 of course.

By that point, the i3 is basically an i5 because i3s are binned because of cache anyway.
>>
>>55112537
>i7 with 3 cores 16 threads
>>
>>55120741
Could be a typo.
>>
File: 1461088729785.jpg (385 KB, 580x870) Image search: [Google]
1461088729785.jpg
385 KB, 580x870
>>55112537
Okay I'm going to try to answer your questions but first let me give you some information on threads. Think of a thread as a queue of instructions to be executed. Each process your computer is running has its own thread (or multiple threads) that it gives to the operating system to execute. The operating system then manages the threads and sends it to the CPU to be executed. For example, given 4 threads of equal priority, the OS will let a one core CPU work on each thread for a few cycles before rotating to the next thread. If the CPU was a quad core, the OS would allocate one thread per core. Hopefully that generally explains what a thread is and how software threads are used.

>What are the advantages/disadvantages of adding more threads to your cpu?
The advantage of adding more hardware threads is that the CPU can smartly cache and allocate instructions to be executed. In a one thread CPU, the OS sends some instructions from a software thread, waits for the CPU to finish executing, and then send in another set of instructions from another software thread. In a two thread CPU, a second set of executions can be cached while the first is executing to minimize the downtime between software thread executions. Besides price, hardware threads are all advantage and no disadvantage
>Would an i3 with 2 cores 8 threads, or an i7 with 3 cores 16, perform better than the current lineup in multithreading?
I'm not sure what you mean by current lineup in multithreading but another core is better than another thread.
>Why does Intel only use 2 threads per core with hyperthreading?
Theres no real return on adding more and more hardware threads so Intel probably keeps it at two for economical reasons. Their multithreading technology already gives about a 30% boost to performance and that's just because having more than one hardware thread allows better execution management.
>>
>>55120772
>What about GPUs? They're heavily focused on more cores. Why don't they add more threads through SMT?
Graphics processing is entirely reliant on processing speed, execution management through hardware threads wouldn't significantly effect performance given the cost.
>Would an i3 6100 dual core with 8 threads multi task almost as well as an i5 6600 quad core?
Threads don't allow multitasking, just execution management. If you want better multitasking more cores is always better.

Hope these two posts helped explain what hardware and software threads are and how they are used. Let me know if you guys have any other questions.
>>
i3 and i7 with those types of spec would be incredibly weak for real world performances
>>
>>55120825
>>55120772
Thanks!

That clears it up well

>>55120881
Why?
>>
>>55112537

It's a software problem.

Today's software is mostly about single cores. Even threads work by "splitting time slices" and giveing them to the differnt threads.

Real distributed programming is hard. It's a totally differnt beast. You can't just take an existin OS and split it's processes on serveral cores. You need to redevellop components, even to redesing components.

We still have a long way to go there.


GPUs on the other hand are simpler. You have a lot of mathematical stuff going on and it's easier (logical wise) to make this distributed. Say you calculate a physical object at one core and the process fails, OK so you just drop a few frames. Not cool, but not too dramatic either. But if you think about Excetion handling on distributed systems with normal software.. You need a fundamentally differnt appraoch for that.
>>
>>55114839
No.
Adding more threads just means that when parts of the CPU that are suitable for starting a new thread in are available then it will be utilized to start a new thread.

There would definitely be diminishing returns on adding more "hyperthreads" per physical core unless you massively increased the size of each physical core, in which case you would probably be better off still having more, smaller physical cores.
Thread replies: 17
Thread images: 4

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.