1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

News AMD developing reverse hyperthreading?

Discussion in 'Article Discussion' started by WilHarris, 17 Apr 2006.

  1. RotoSequence

    RotoSequence Lazy Lurker

    Joined:
    6 Jan 2004
    Posts:
    4,588
    Likes Received:
    7
    Saivert, I dont think youre one who understands the gaming end of the spectrum. Conversely, I dont understand the high end 3D workstation perspective. However, multicore is quite useful in practice. Burning a DVD and playing a game, running antivirus and gaming, doing ANYTHING and gaming - or even off hand toying around with various applications (music mixer programs anyone?) can make a single core system whimper. Dual and multicore is the way of the future. While single core suits you fine now, it doesnt suit others fine now.

    Gamers dont "want to be associated with professionalism". They want to have fun and be immersed. Clearly you havent seen what the Ageia PPU is capable of (watch the Cell Factor video), and what it could bring to the gaming world.

    There are a lot of games that are CPU limited as is with the extremely powerful gaming cards out there. Unreal Tournament 2004 is a prime example of this phenomenon. Any game with a heavy physics load is going to pull things down a notch, as there are more objects to keep tabs on, and more things to calculate. The PPU eases that burden, but only in games that are coded for it.

    Youre right, no single computer will do everything; it would be utter stupidity to use your gaming rig to do webhosting. However, anything outside of dedicated file serving can all be done on one machine - quite easily.
     
  2. TonyMongo

    TonyMongo What's a Dremel?

    Joined:
    18 Apr 2006
    Posts:
    3
    Likes Received:
    0
    As a person who has worked on chip multiprocessor and simulatenous multithreading research I'd have to say that there are a lot of hard issues with this conecpt. Intel has been working on this for a long time, and hasn't made any really good headway.

    The issue is how do you determine what things to run on the other core even if it is idle. Say you're doing something simple:

    z=x+y;
    q=z+x;

    Now on processor 1 you run the first statement and on processor 2 you run the 2nd statement at the same time. It seems like you get twice the processing power, but obviously the z changes so the 2nd addition has to be ignored and then the state of memory has to be rolled back (which can be very very expensive). Yes this is obviously a gross oversimplification, but something like this will happen quite often if you try to do some sort of auto speculative paralleism (which is all you can do in a single threaded program).

    Actually current superscalar processors already do this to some extent by reordering instructions and rolling back ones that are detected to be incorrect. This is part of what caused problems with Intel's deep pipeline (the requirements of flushing the entire pipeline), and the problems would be much much worse synchronizing between 2 cores.

    It seems like this is something more to try to hype people up, but the implementation would be much much harder. Researchers have been working this for years and no one has figured it out. It isn't often that Intel or AMD have put things in their processors that don't have a viable research solution first, and this problem doesn't that good a solution yet (even with doing speculation on like 128 cores and just choosing the one of the 128 that worked right).

    I should be less harsh though...you may get some speed improvements if you happen to get it right (which is very very hard) and compute the right things, but I think I'd rather have the extra processor dealing with the other junk task switching in the background, as all OSes do, so my cache in my specific single threaded application runs a bit better.
     
    Last edited: 18 Apr 2006
  3. yahooadam

    yahooadam <span style="color:#f00;font-weight:bold">Ultra cs

    Joined:
    21 Mar 2006
    Posts:
    1,323
    Likes Received:
    0
    Its an interestign technology

    but really - i think it will work better when we are onto quad core

    ATM a second core can be useful - running teamspeak, other programs etc etc (for gamers)

    However - in a quad core enviroment - how much stuff are you going to have that needs all those 4 cores

    game on core 1
    other apps on core 2
    umm core 3 & 4 are unused ...

    I dont know who here runs a virus scan while playing games - thats stupid ...

    HDD speeds arent that great, so your going to bog down your HDD and your game will suffer - not that your proccesor cannot handle it

    i think this is a fundamental flaw with these multicore systems - in that current storage systems just dont provide the speed neccasary to run lots of applications

    Things like databases - multiple threads are good for that
    Games to a small extent
    video encoding and such (though im not sure how to do multiple threads with video encoding)
     
  4. Meanmotion

    Meanmotion bleh Moderator

    Joined:
    16 Nov 2003
    Posts:
    1,652
    Likes Received:
    19
    Taking a totally top-down laymans view of this (much like everyone else here, i don't really know the ins and outs of multithreading). If this technology works on the fly - i.e. goes single threaded for games or dual threaded for desktop work without having to reboot and change some bios setting - then great. If not then, well, it's still kinda cool but you do wonder whether it's worth the development time in the long run - as more and more stuff goes multithreaded.
     
  5. cebla

    cebla What's a Dremel?

    Joined:
    6 Sep 2004
    Posts:
    123
    Likes Received:
    0
    Sure windows should be splitting threads

    Do you have any idea how stupid it would be for windows to try and break a single thread up over to cores? It would have no speed benifits because it would need to read through all the instructions and then break it up where possible. This is the same thing that AMD is talking about doing only in hardware meaning that it will happen very fast instead of taking ages (like just as long as it takes a compiler to optimise code).

    Also what makes you think that Windows thread management is so abysmal. As far as I am awhere its not really much better on Linux or Mac OS X. Feel free to correct me if I am wrong there.
     
  6. cebla

    cebla What's a Dremel?

    Joined:
    6 Sep 2004
    Posts:
    123
    Likes Received:
    0
    @N/A,

    Dude you do realise that Windows already does more than one core.

    Also its not quite as easy as everyone makes out to break games up into threads. Ask Tim Sweeny (I hope I spelt that properly). In his presentation on Unreal engine 3 he said that it was actually quite difficult to do. And it is. Most applications don't really do all that much than can be broken up into threads or if they do they are forever having to wait for other threads to get to a certain point before they can run.

    For example you have a bullet that's flying through the air. You can only calculate where it hits after all the props (read people and barrels etc.) have finished updating or the bullet may think that it missed when it actually hit, because the person hasn't been moved in the game yet.
     
  7. TonyMongo

    TonyMongo What's a Dremel?

    Joined:
    18 Apr 2006
    Posts:
    3
    Likes Received:
    0
    Actually for a lot of applications it's not that hard to do, you just need to lay your data/functional decomposition out right. Games is one of those things though that is much harder to do due to the nature of the input (users only input a single stream of data, which is inherently the serial bottleneck). However, lots of apps that people would use like web browsers, excel, photo editing, etc could be parallelized.

    Another inherent problem with threaded games is that most developers build on a core set of libraries or functions which were not coded with the intent of being multithreaded. While say iD or Epic release a new engine every few years, they probably still build on the same core libraries to come extent. You're not going to rewrite a transformation, you'll just use the old identical one when you need it (which means no threading planned in this library).
     
  8. The_Head

    The_Head What's a Dremel?

    Joined:
    13 Mar 2006
    Posts:
    20
    Likes Received:
    0
    Sounds like a great idea, but I am not getting excited by it until I see hard proof.
     
  9. speedfreek

    speedfreek What's a Dremel?

    Joined:
    9 Nov 2005
    Posts:
    1,453
    Likes Received:
    1
    I think this would be a great idea if its set to turn on and off at the right times, seeing this on a quad core processor in theory it would be great. Not enough is threaded to take advantage of multi core processors, this, in theory, would use all the cores to their full potential. I cant wait to see this in action.
     
  10. dragon-fly

    dragon-fly What's a Dremel?

    Joined:
    9 Oct 2004
    Posts:
    36
    Likes Received:
    0
    a few words.

    SLI FOR PROCESSORS
    or for ATI fans
    CROSSFIRE FOR PROCESSORS.

    done.
     
  11. TonyMongo

    TonyMongo What's a Dremel?

    Joined:
    18 Apr 2006
    Posts:
    3
    Likes Received:
    0
    Yeah except graphics data is inherently parallizable. Each pixel is totally independant of the other pixels...not so for most data.
     
  12. yahooadam

    yahooadam <span style="color:#f00;font-weight:bold">Ultra cs

    Joined:
    21 Mar 2006
    Posts:
    1,323
    Likes Received:
    0
    well said
     
  13. nej_k

    nej_k What's a Dremel?

    Joined:
    21 Aug 2006
    Posts:
    1
    Likes Received:
    0
    Why the processor?

    Ey i agree with this guy earlier on in the post....

    i dont think we should be worrying about Processors right now, all we should be worrying about is the Hard Drive, i mean common the Hard Drive is the slowest component in the PC....

    and i dont want some i-RAM that costs alot and only hold max for 4 gigs...

    the next thing i will be upgrading is my Hard Drive


    -=-=-=-=-=-=-=-=-=-=-=--=-
    Intel 650 3.4ghz
    7600GT 601/1592
    3 Gigs Ram PC4300
    :clap:
     
  14. MidnghtDrgn

    MidnghtDrgn What's a Dremel?

    Joined:
    7 Jul 2005
    Posts:
    106
    Likes Received:
    0
    Holy thread rez bit-tech!
     
  15. GG-Xtreme

    GG-Xtreme What's a Dremel?

    Joined:
    1 Nov 2006
    Posts:
    1
    Likes Received:
    0
    u just need 2 multithreading cores that each show up as one core. that way older games see the first mt core as one and it can process multiple threads from the game w/o the rollback prob, and games that support dual core can actually have it processed 4 threads across 2 cores. but scsi hdd's would help alot too
     
Tags: Add Tags

Share This Page