Re: Hyperthreading vs. SMP
From: wb (dead_email_at_nospam.com)
Date: 12/13/03
- Previous message: Robert M. Riches Jr: "Re: Hyperthreading vs. SMP"
- In reply to: Robert M. Riches Jr: "Re: Hyperthreading vs. SMP"
- Next in thread: Anne & Lynn Wheeler: "Re: Hyperthreading vs. SMP"
- Reply: Anne & Lynn Wheeler: "Re: Hyperthreading vs. SMP"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 13 Dec 2003 01:19:14 GMT
Robert M. Riches Jr wrote:
Thanks Robert,
. See below.
>
> From a hardware perspective...
>
> With an SMP system, you have two _physical_ procesors.
> Usually, they are two separate physical packages, each with
> a separate heatsink and fan(s).
>
> With hyperthreading (multithreading to those of us who were
> on the design team), each physical processor is logically
> split into multiple virtual processors. Many of the data
> resources on the chip (register renaming and instruction
> scheduling tables, for example) are split, one chunk of
> resource hard-allocated to each virtual processor. While
> the reduction in size of the split-up resources to each
> virtual processor does slow down said virtual processor a
> little bit, because there is more instruction-level
> parallelism available with multiple instruction streams than
> with a single instruction stream, you get more total
> combined performance from the virtual processors than you
> would from a single processor. Execution of the instruction
> streams by the multiple virtual processors is interleaved in
> time inside the single physical processor.
RISC processors (at least the MIP's R10/R12k series) have
a similar parallel instruction execution.
>
> At least in theory, you can have _both_ SMP and
> hyperthreading, which gives you even more virtual
> processors. With hyperthreading, if you have multiple
> threads in the run queue, you can run as many threads
> concurrently (in run state) as you have virtual processors.
How is memory contention (cache coherence) maintained
with these hyperthreading machines ? Does it require an
external memory agent ? In a SMP or NUMA, a memory
controller (MIP's called it an agent ) ensured that memory
integrity was kept. Can each virtual process instance be
making memory updates ?
>
> At least some compilers are able to produce code to make use
> of hyperthreading by a single binary executable. So, in at
> least some cases, you can gain speed advantage from
> hyperthreading, even if you have only one program running.
>
> If you're interested in the computer architecture issues
> surrounding hyperthreading, there are some good old
> discussions in newsgroup comp.arch many years ago about the
> 'barrel processor' which could switch between many threads.
>
> (Disclaimer: While I did oversee schematic formal
> verification on the Pentium 4 Processor, which implements
> hyperthreading, I'm confident all of the above information
> is publicly available. I wouldn't give away any of my
> former employer's trade secrets, even if I knew any.)
>
> Good luck.
>
> Robert Riches
> spamtrap42@verizon.net
> (Yes, that is one of my email addresses.)
>
- Previous message: Robert M. Riches Jr: "Re: Hyperthreading vs. SMP"
- In reply to: Robert M. Riches Jr: "Re: Hyperthreading vs. SMP"
- Next in thread: Anne & Lynn Wheeler: "Re: Hyperthreading vs. SMP"
- Reply: Anne & Lynn Wheeler: "Re: Hyperthreading vs. SMP"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|