Visit the Ironworks Gaming Website Email the Webmaster Graphics Library Rules and Regulations Help Support Ironworks Forum with a Donation to Keep us Online - We rely totally on Donations from members Donation goal Meter

Ironworks Gaming Radio

Ironworks Gaming Forum

Go Back   Ironworks Gaming Forum > Ironworks Gaming Forums > General Discussion

Reply
 
Thread Tools Search this Thread
Old 05-22-2005, 05:23 PM   #1
Hivetyrant
Jack Burton
 

Join Date: August 24, 2002
Location: Aussie now in the US of A!
Age: 38
Posts: 5,403
Read it for yourself...

Quote:
Hyper-Threading Considered Harmful
Hyper-Threading, as currently implemented on Intel Pentium Extreme Edition, Pentium 4, Mobile Pentium 4, and Xeon processors, suffers from a serious security flaw. This flaw permits local information disclosure, including allowing an unprivileged user to steal an RSA private key being used on the same machine. Administrators of multi-user systems are strongly advised to take action to disable Hyper-Threading immediately; single-user systems (i.e., desktop computers) are not affected.

I presented details of how to exploit this security flaw at BSDCan 2005 in Ottawa on May 13th, 2005. For those who were unable to attend my talk, I have written a 12-page paper, Cache Missing for Fun and Profit, discussing this flaw and related problems, both realized and theoretical. (There is more at the site)
[ 05-22-2005, 05:27 PM: Message edited by: Hivetyrant ]
Hivetyrant is offline   Reply With Quote
Old 05-22-2005, 05:36 PM   #2
RoSs_bg2_rox
Zartan
 

Join Date: May 20, 2003
Location: Near Aberdeen, Scotland
Age: 36
Posts: 5,225
I'm sure it has just increased considerably now he has written his documentation.
__________________
[img]\"http://img.ranchoweb.com/images/ladyzekke/dragonwater2.gif\" alt=\" - \" />
RoSs_bg2_rox is offline   Reply With Quote
Old 05-22-2005, 06:22 PM   #3
Charlie
Lord Ao
 

Join Date: March 3, 2001
Location: London, England
Age: 31
Posts: 2,023
Any chance of getting this in plain English?

Hyper threading?...Sounds like a weaver on speed. What's hyper threading?...What's RSA?
Charlie is offline   Reply With Quote
Old 05-22-2005, 08:08 PM   #4
Beaumanoir
Iron Throne Cult
 

Join Date: June 3, 2001
Location: There is no IRL, Only AFK.
Age: 36
Posts: 4,896
I thought it was going to be a fancy name for spamming.
__________________
My pokemon bring all the boys to the yard, and they're like; you wanna trade cards? Damn right, I wanna trade cards, I'll trade this but not my Charizard.
Beaumanoir is offline   Reply With Quote
Old 05-22-2005, 08:54 PM   #5
Vaskez
Takhisis Follower
 

Join Date: April 30, 2001
Location: szép Magyarország (well not right now)
Posts: 5,089
Quote:
Originally posted by Charlie:
Any chance of getting this in plain English?

Hyper threading?...Sounds like a weaver on speed. What's hyper threading?...What's RSA?
LOL! Not everything can be explained in "plain english" without the necessary background. Actually I've never bothered to read up on how hyper threading works, but just to intro the topic: you know what a process is right? Open up windows task manager and you have a list of running processes, like each application usually has its own process - this is an entity that has its own memory space etc. i.e. memory used by one process cannot be used by any other etc. A thread is like a process within a process - for example microsoft word will need several threads seemingly running at the same time: e.g. one thread will monitor keyboard input, another mouse input, while another handles updating the screen - however threads may all share the same memory space, that's why they're able to communicate with each other, they're all within the MS word process.

Of course, since the processor can only do one thing at a time, what is happening is that it is processing instructions from one thread then very quickly switching to instructions from another thread over and over again. In hyperthreading from what I understand with the very small bit I've read, what happens is that instructions from different threads can be in the pipeline at once.

Now you prob don't know what pipelining is (*digs in memory*). Basically when you have an instruction for a processor, say something like "do contents of register 1 + contents of register 2 (registers are just bits of memory) and give me the answer" there are many stages. 1. the instruction has to be fetched from cache 2. it has to be decoded into machine language. 3. fetch the contents of registers 1 & 2, 4. compute the answer 5. store the result in a register

something like that. Now of course to avoid wasting time, the processor can be decoding one instruction while fetching the operands for another, while storing the result of the previous instruction so in hyperthreading, I think what happens is that multiple threads are allowed to contribute instructions to the pipeline at once so that the MOST efficient combination of instructions is processed at any time. By most efficient I mean the ones that waste least amount of time. E.g. having these 2 instructions "add register 1 to register 2 and store the result in register 3" and "add register 3 to register 4 and store in register 1", you have to wait for the first one to finish to get the right values for the registers. So you can't have 2 being executed while 1 is still in the pipeline, so instead of waiting around the processor will take another instruction.

Anyway hope that helps...can't be bothered to explain further now
__________________
Too set in his ways to ever relate
If he could set that aside, there'd be heaven to pay
But weathered and aged, time swept him to grave
Love conquers all? Damn, I'd say that area's gray
Vaskez is offline   Reply With Quote
Old 05-22-2005, 10:15 PM   #6
robertthebard
Xanathar Thieves Guild
 

Join Date: March 17, 2001
Location: Wichita, KS USA
Age: 62
Posts: 4,537
Quote:
Originally posted by Vaskez:
quote:
Originally posted by Charlie:
Any chance of getting this in plain English?

Hyper threading?...Sounds like a weaver on speed. What's hyper threading?...What's RSA?
LOL! Not everything can be explained in "plain english" without the necessary background. Actually I've never bothered to read up on how hyper threading works, but just to intro the topic: you know what a process is right? Open up windows task manager and you have a list of running processes, like each application usually has its own process - this is an entity that has its own memory space etc. i.e. memory used by one process cannot be used by any other etc. A thread is like a process within a process - for example microsoft word will need several threads seemingly running at the same time: e.g. one thread will monitor keyboard input, another mouse input, while another handles updating the screen - however threads may all share the same memory space, that's why they're able to communicate with each other, they're all within the MS word process.

Of course, since the processor can only do one thing at a time, what is happening is that it is processing instructions from one thread then very quickly switching to instructions from another thread over and over again. In hyperthreading from what I understand with the very small bit I've read, what happens is that instructions from different threads can be in the pipeline at once.

Now you prob don't know what pipelining is (*digs in memory*). Basically when you have an instruction for a processor, say something like "do contents of register 1 + contents of register 2 (registers are just bits of memory) and give me the answer" there are many stages. 1. the instruction has to be fetched from cache 2. it has to be decoded into machine language. 3. fetch the contents of registers 1 & 2, 4. compute the answer 5. store the result in a register

something like that. Now of course to avoid wasting time, the processor can be decoding one instruction while fetching the operands for another, while storing the result of the previous instruction so in hyperthreading, I think what happens is that multiple threads are allowed to contribute instructions to the pipeline at once so that the MOST efficient combination of instructions is processed at any time. By most efficient I mean the ones that waste least amount of time. E.g. having these 2 instructions "add register 1 to register 2 and store the result in register 3" and "add register 3 to register 4 and store in register 1", you have to wait for the first one to finish to get the right values for the registers. So you can't have 2 being executed while 1 is still in the pipeline, so instead of waiting around the processor will take another instruction.

Anyway hope that helps...can't be bothered to explain further now
[/QUOTE]ouch, that explanation didn't explain anything!!! [img]tongue.gif[/img] That's too much for one sitting, I think I'll come back and read it again later, so I can figure out what you said...
__________________
To those we have lost; May your spirits fly free.
Interesting read, one of my blogs.
robertthebard is offline   Reply With Quote
Old 05-23-2005, 12:14 AM   #7
Hivetyrant
Jack Burton
 

Join Date: August 24, 2002
Location: Aussie now in the US of A!
Age: 38
Posts: 5,403
lol, basically, all processors (except AMD-64 Bit and Intel 64-Bit) can only handle one process at a time, but with Hyper-threading, the processor can essentially "split" itself and do two processes at a time, making your PC much better at handling multiple things/programs
Hivetyrant is offline   Reply With Quote
Old 05-23-2005, 05:42 AM   #8
RoSs_bg2_rox
Zartan
 

Join Date: May 20, 2003
Location: Near Aberdeen, Scotland
Age: 36
Posts: 5,225
Only thing is, hyperthreading isn't really used much these days anyway, as programs don't support it etc. And infact you might even see a performance loss in some games with it enabled.
__________________
[img]\"http://img.ranchoweb.com/images/ladyzekke/dragonwater2.gif\" alt=\" - \" />
RoSs_bg2_rox is offline   Reply With Quote
Old 05-23-2005, 10:29 PM   #9
Vaskez
Takhisis Follower
 

Join Date: April 30, 2001
Location: szép Magyarország (well not right now)
Posts: 5,089
bump...I didn't write all that for nothing!

HiveTyrant - what are you on about? [img]tongue.gif[/img] All modern processors can handle multiple processes (seemingly) "at once". It seems to me just that they couldn't allow instructions from more than one thread to be in the pipeline at once and with hyperthreading they can (that's from 2 mins reading )
__________________
Too set in his ways to ever relate
If he could set that aside, there'd be heaven to pay
But weathered and aged, time swept him to grave
Love conquers all? Damn, I'd say that area's gray
Vaskez is offline   Reply With Quote
Old 05-23-2005, 10:51 PM   #10
Hivetyrant
Jack Burton
 

Join Date: August 24, 2002
Location: Aussie now in the US of A!
Age: 38
Posts: 5,403
That's what I meant, as you said they can technicaly only process one thing at a time, but they switch between them so damn fast you don't notice.
Hivetyrant is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Morrowind] Hyper Creatures Dragonshadow Miscellaneous Games (RPG or not) 1 06-26-2006 05:12 PM
Threading the needle regarding legal file sharing. Ronn_Bman General Discussion 2 10-28-2003 03:49 PM
Know any more on Hyper-Threading? D*Ranged General Conversation Archives (11/2000 - 01/2005) 2 10-23-2003 10:37 AM
Hyper Text Markup Language LennonCook General Conversation Archives (11/2000 - 01/2005) 15 01-11-2002 03:20 AM
Where'd my Hyper Dimension go? Tiamat General Conversation Archives (11/2000 - 01/2005) 5 11-17-2001 06:01 AM


All times are GMT -4. The time now is 10:17 AM.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©2024 Ironworks Gaming & ©2024 The Great Escape Studios TM - All Rights Reserved