-2

I am helping a friend who is trying to run multiple threads on a system with an Intel Core i3-3217U processor.

According to Intel's website, that processor has 2 cores which support 4 threads per core(?) (implying 8 threads total):

  • # of Cores: 2 (Cores is a hardware term that describes the number of independent central processing units in a single computing component (die or chip).)
  • # of Threads: 4 (A Thread, or thread of execution, is a software term for the basic ordered sequence of instructions that can be passed through or processed by a single CPU core.) [emphasis mine]

Yet this other site states:

  • "Thanks to Intel Hyper-Threading the core-count is effectively doubled, to 4 threads."

Can one expect to efficiently multi-process 4 threads or 8 threads with that processor?

0

3 Answers 3

0

You are just overthinking / misinterpreting. That "description" merely means that, a "thread of execution" itself cannot be processed in parallel by multiple cores. In other words, it is stating the fact that, it's the "atomic" unit of in multiprocessing, that one cannot expect a single thread of execution to be broken down into further pieces for the multiprocessor to process. That's the exactly point of simultaneous multithreading (the generic term for Hyper-Threading) -- to allow a core to process more than one thread at a time (so to speak).

On any specification site, normally unless the item is named "threads per core", "number / # of threads" mostly refers to the total number of threads of execution a processor can process at a time -- its number of cores times its threads per core.

1
  • Thanks for clarifying Tom. I appreciate you nicely using the word "just" in your first sentence instead of, well, you know how some people can behave. ;) Commented Jun 28, 2021 at 7:08
0

Although Intel's website is ambiguous and confusing, Wikipedia makes the situation clear.

The Wikipedia article on hyper-threading states:

For each processor core that is physically present, the operating system addresses two virtual (logical) cores and shares the workload between them when possible. The main function of hyper-threading is to increase the number of independent instructions in the pipeline; it takes advantage of superscalar architecture, in which multiple instructions operate on separate data in parallel. With HTT, one physical core appears as two processors to the operating system, allowing concurrent scheduling of two processes per core. In addition, two or more processes can use the same resources: If resources for one process are not available, then another process can continue if its resources are available.

Thus, each core can have at most 2 threads available for multi-processing. On a dual core CPU like the one mentioned, the total will be 4 multi-processing threads.

That article is now a bit outdated, as Intel's hyper-threading on their Xeon Phi (Knights Mill) chips can handle 4 threads per core. But since the question is about an i3 processor, the understanding of 2 threads per core is still correct.

2
  • 1
    Downvoter, please explain why this answer deserves a downvote and how it should be improved.
    – gronostaj
    Commented Jun 28, 2021 at 6:02
  • @gronostaj Thanks for your comment. I've learned that snakes rarely show their heads and to just ignore them. If experience serves me, I don't expect anyone will respond to your questions in an honest and helpful manner. Commented Jun 28, 2021 at 7:05
0

While there exist 4 way or more HT implementations, say on the Xeon Phi and some power processors and 8 way on Sparc - Intel's HT is only 2 threads per core on their consumer, enthusiast and most server processors

"Thanks to Intel Hyper-Threading the core-count is effectively doubled, to 4 threads."

is poorly written

An easy way to "visually" see this is in task manager in Windows, in the per 'core' view

enter image description here

I have a single socket, or what a layman would consider a processor. It has 8 'physical' cores, which translates to 16 logical processors. Efficiency of course would also depend on your code, but any Intel processor with HT would have twice as many, and no more logical processors as cores, and one or more cores per socket.

3
  • Thanks. I think you probably mean that Intel's Hyper-Threading on their i3, i5, and i7 processors (and some others) is only 2 threads per core. As you pointed out, Intel's Hyper-Threading on their Xeon Phi (Knights Mill) chips can handle 4 threads per core. Commented Jun 28, 2021 at 7:00
  • Well Phi is an oddball line of a ton of p5 cores as a GPGPUish accelerator, then a socketed version.... It's atypical and does a different style of multithreading.. it's unlikely you will find one in the wild unless its surplus or you know exactly what it is
    – Journeyman Geek
    Commented Jun 28, 2021 at 7:16
  • I agree. They are amazing beasts! It will be interesting to see the future of HT, as Intel clearly has the ability and expertise to expand on the functionality and performance. Commented Jun 28, 2021 at 7:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .