RSS



Go Back   bit-tech.net Forums > bit-tech.net > Article Discussion

Reply
 
Thread Tools
Old 9th Aug 2005, 09:52   #1
WilHarris
Just another nobody
 
WilHarris's Avatar
 
Join Date: Jun 2001
Location: Oxford
Posts: 2,671
WilHarris is on a distinguished road
Gabe Newell talks dual core

http://www.bit-tech.net/news/2005/08...ell_dual_core/

WilHarris is offline   Reply With Quote
Old 9th Aug 2005, 10:21   #2
Cheap Mod Wannabe
Ultramodder
 
Cheap Mod Wannabe's Avatar
 
Join Date: Feb 2005
Location: Glen Cove, NY
Posts: 1,215
Cheap Mod Wannabe is on a distinguished road
Since I do not know nothing about coding I can only say that either they want to have a good reason to charge 80$-$100 for a game or it is actually much much harder.
Cheap Mod Wannabe is offline   Reply With Quote
Old 9th Aug 2005, 10:32   #3
mclean007
Officious Bystander
 
mclean007's Avatar
 
Join Date: May 2003
Location: Nodnol
Posts: 1,595
mclean007 is on a distinguished road
I can see his point to an extent. However, surely without too much work they can write engines to take at least some advantage of dual/multi-core. I mean, I guess things like AI, physics, sound etc. are already fairly compartmentalised in the code. If there could be a division of labour such that, for example, one processor handled AI and networking while the other took care of physics and sound, that would yield a boost in performance.

The cynical side of me can only guess that he's playing down the importance of multicore for games because his lot have only recently finished Source, and they don't want it to be outmoded before it's been pimped around as many games as possible.

I think we're all going to see something pretty special when the new Unreal engine starts being shown on A64 X2. My guess is AMD won't be able to justify keeping FX59 off the dual core process once we've seen some numbers from Ubisoft's new baby.
__________________
Demand Naked DSL in the UK!
mclean007 is offline   Reply With Quote
Old 9th Aug 2005, 13:45   #4
Reaper_Unreal
Supermodder
 
Reaper_Unreal's Avatar
 
Join Date: Apr 2002
Location: Ottawa, Canada
Posts: 380
Reaper_Unreal is on a distinguished road
It's true to some extent. Programming in a multi-threaded fashion is quite difficult, (maybe a 5 on that scale) but it can easily go up to a 10 if you don't plan ahead. There's a reason that every computer-science major has taken at least 1 class about multi-threading, or distributed computing. As long as you're careful about thread crossover points, everything should be only slightly harder than things are currently. Besides, with a dual core you could easily run AI on one core, and sound and graphics on the other core, seeing as how those are pretty much totally separate entities. I should know, I'm actually at work right now working on a system that has 7 (or so) processors of which there are 3 different kinds. It's only hard if you don't plan ahead.
__________________

If you made a Venn diagram, there would be two non-overlapping circles, one of which was labeled, “Times when I am truly happy” and the other of which was labeled, “Times when I am logged in as root, holding a cable, and have the case open.”
Reaper_Unreal is offline   Reply With Quote
Old 9th Aug 2005, 14:08   #5
Henchman:crg
Hypermodder
 
Henchman:crg's Avatar
 
Join Date: Feb 2005
Location: UK
Posts: 750
Henchman:crg is on a distinguished road
Reaper is correct, but of course, this will probably mean more bugs, and worse still, bugs that are harder to find, due to the complex nature of multi-threading.
__________________
Nobody thinks about the family of a Henchman
Henchman:crg is offline   Reply With Quote
Old 9th Aug 2005, 14:37   #6
Da Dego
Brett Thomas
 
Da Dego's Avatar
 
Join Date: Aug 2004
Location: Cleveland, OH USA
Posts: 3,906
Da Dego is on a distinguished road
Reaper is dead-on. Multithread is not all that bad. If you plan ahead, and don't think in an incredibly linear fashion, that is. Hell, threaded code is actually EASIER in some respects. When it comes to bug tracing, if you properly compartmentalize your code, you can see which thread failed and immediately have your error pinned down to a small amount of code.

All it is is a shift in thinking. This is what brought mac up ahead of the game for a while...companies that programmed for them were learning to write dual-threaded and multi-threaded apps for some time. For some reason, though, despite Hyperthreading, it just never caught on in the windows world. Lazy, I guess.

I do agree with him about the industry's take on consumers, though...and I applaud him for at least saying it.
__________________
"Frankly that seems overkill. iluvtrees2 arguing with spec is the intellectual equivalent of a bunny rabbit taking on a pissed-off lion." - Nexxo
Da Dego is offline   Reply With Quote
Old 9th Aug 2005, 16:23   #7
Bindibadgi
Richard Swinburne
bit-tech Staff
 
Bindibadgi's Avatar
 
Join Date: Mar 2001
Location: Omnipwntent
Posts: 28,226
Bindibadgi is a splendid one to beholdBindibadgi is a splendid one to beholdBindibadgi is a splendid one to beholdBindibadgi is a splendid one to beholdBindibadgi is a splendid one to beholdBindibadgi is a splendid one to beholdBindibadgi is a splendid one to behold
Quote:
Originally Posted by Reaper_Unreal
I'm actually at work right now working on a system that has 7 (or so) processors of which there are 3 different kinds. It's only hard if you don't plan ahead.
PS3 Games??
Bindibadgi is offline   Reply With Quote
Old 9th Aug 2005, 16:50   #8
Firehed
Why not? I own a domain to match.
 
Firehed's Avatar
 
Join Date: Feb 2004
Location: An hour north of Boston
Posts: 12,576
Firehed has a spectacular aura aboutFirehed has a spectacular aura aboutFirehed has a spectacular aura about
I bet what the really hard part is would be keeping in mind that 95% of people are still on single core. So you have to basically double the code. Do a check for the number of cores/procs. If one, send it all there. If two, physics to one, everything else to the other. If three, physics, AI and everything else. Or something to that extent. I totally understand why it's so tricky.
__________________
hire me @ eric-stern.com - web developer and php ninja
pics @ my smugmug :: Twitter @firehed :: blog @ firehed.net
40D|580EXII|285HV|AB800|70-200f/4LIS|17-50f/2.8|150f/2.8Macro|50f/1.8
MacPro @ 8x2.8GHz, 10GB FBDDR2, 3TB HD :: MBP @ 2x2.2GHz, 4GB DDR2, 320GB HD
Firehed is offline   Reply With Quote
Old 9th Aug 2005, 17:42   #9
Reaper_Unreal
Supermodder
 
Reaper_Unreal's Avatar
 
Join Date: Apr 2002
Location: Ottawa, Canada
Posts: 380
Reaper_Unreal is on a distinguished road
Quote:
Originally Posted by Bindibadgi
PS3 Games??
No, I work at Ross Video and those panels you see there need a whole lot of processing power.
__________________

If you made a Venn diagram, there would be two non-overlapping circles, one of which was labeled, “Times when I am truly happy” and the other of which was labeled, “Times when I am logged in as root, holding a cable, and have the case open.”
Reaper_Unreal is offline   Reply With Quote
Old 9th Aug 2005, 20:56   #10
Almightyrastus
Heathen
 
Almightyrastus's Avatar
 
Join Date: Mar 2002
Location: Nottingham, England
Posts: 442
Almightyrastus is on a distinguished road
Hell, I have enough trouble writing code for the Motorola MC68HC11 MCU running at 2MHz let alone anything like these hehe
__________________
Lo there do I see my Father. Lo there do I see my Mother, and my Sisters and my Brothers. Lo there do I see the line of my people, back to the beginning. Lo they do call to me. They bid me take my place among them, in the halls of Valhalla where the brave may live forever.
Almightyrastus is offline   Reply With Quote
Old 12th Aug 2005, 23:43   #11
Eroberer
What's a Dremel?
 
Join Date: Aug 2005
Location: USA
Posts: 1
Eroberer is on a distinguished road
Quote:
Originally Posted by Firehed
I bet what the really hard part is would be keeping in mind that 95% of people are still on single core. So you have to basically double the code. Do a check for the number of cores/procs. If one, send it all there. If two, physics to one, everything else to the other. If three, physics, AI and everything else. Or something to that extent. I totally understand why it's so tricky.
I'm kind of surprised that no one has corrected this yet. Multi-threaded code runs perfectly fine on single core processors. Without going into too much detail that I know little about, threaded programs pass CPU resources back and forth within ALL CPUs, but simply cannot run at the same time on a "single-threaded" CPU. They get hustled through the CPU as if they were one single running process. In fact, some problems in programs can be solved simply by multithreading even if you KNOW it's going to go on a single-threaded CPU, because then you get the whole silly execution process to simulate doing two things at once better. I've never programmed an industrial sized program, but I think you're right about the hardware detection principles anyway. The fact that this is an old thread and that I don't know much about it means that I'll stay away from that subject, though.


Coding multiple threads into your program is just one problem brought along by the likes of the PS3 and the Xbox. The lack of any branch prediction, cache sizes, out of order instruction execution...basically the whole thread-level-parallelism that has driven innovation up to this point, will mean that you end up with multiple rather slow running threads. The Xbox's single-threaded capacity is very slim, as is the PS3's last I read, so the thought of off-loading things like AI (very branch heavy) and physics (likes fast math from its threads) is both hard to program, and yields (by my guess) very little advantage in the overall speed POTENTIAL of a program. Such a multi-threaded program could potentially run just as fast on a "single-threaded" FX-57 as it could on the hobbled multiple cores of an Xbox360, but I have no way of testing this theory very quickly. The difference between running said program on an FX-57 and an Xbox360/PS3 is that is HAS to be multi-threaded to get the performance out of the latter group, and yet it still might run at the same speed (and I think this is what Gabe Newell is frustrated with).

The complexity of writing multi-threaded programs also comes not just from spinning out the code, but from balancing between such bad single-threaded performance in a performance-critical app. Our good friend Reaper probably isn't trying to extract the greatest performance possible from his 7 processors either, which probably just happen to be light-years beyond a single core from the Xbox360/PS3.

The fresh new dual-core CPUs offer almost as much single-threaded capacity, but in order for games to extract any greater speed from the processor, they also HAVE to be multi-threaded. Still, by most accounts, the days of speeding up single threads in hardware are pretty much over, so games will have to take the leap at some point.
Eroberer is offline   Reply With Quote
Old 19th Aug 2005, 14:12   #12
Muunsyr
Minimodder
 
Join Date: May 2005
Location: Vic. Australia
Posts: 36
Muunsyr is on a distinguished road
Has anyone heard of 'Oblivion'? 'The Elder Scrolls IV'? Bethesda Softworks? Their up and comeing game, 'TESIV: Oblivion', sequel to 'Morrowind' is going to be multithreaded. They have stated that it will make very good use of dual core processors. They haven't reported any major dificulties in writing multithreaded code as far as I am aware. I rather got the impression that Mr Newell was haveing a bit of a whinge.
Muunsyr is offline   Reply With Quote
Reply

Thread Tools

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 Off
Forum Jump


All times are GMT. The time now is 19:56.
Powered by: vBulletin Version 3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.