View Full Version : More Multithreading is needed
Beamtracer
08-28-2003, 08:07 PM
When an application gets "multithreaded" it can gain a speed advantage when used with dual (or multi) processor computers. Tasks are then juggled between 2 or more processors at the one time.
Lightwave's renderer is already multithreaded, so you get a speed boost when it is used on a dual processor Mac (or Windows box) compared to a single processor computer.
However many of the functions that Lightwave does while rendering are achieved via plug-ins, including many that are included with Lightwave. Most of these plug-ins are not multithreaded, and will run at the same speed on a single or dual processor machine.
For future revisions of Lightwave I think it would be worth Newtek's time to get these plug-ins multithreaded.
The next generation of computers will use multiprocessing more and more. It's the future of computing. Not only are dual processor computers becoming more popular, but multicore processors will soon emerge.
IBM's dual-core chip
http://www.cnn.com/2001/TECH/ptech/05/18/ibm.power.idg/story.chips.jpg
Multicore is basically a single chip with two processors etched onto it. These chips will need multithreaded apps to be of an advantage.
IBM already has dual cores in its high-end Power4 series processors. As costs come down, this technology will eventually filter down to the PowerPC chips that Apple uses.
Intel has also announced (http://www.theregister.co.uk/content/3/32547.html) plans to bring out a multicore version of its Itanic processor. Although the Itanic isn't currently used by the mainstream, it is nonetheless Intel's replacement for the Pentium. Even Sun Microsystems says (http://www.pcworld.com/news/article/0,aid,109571,00.asp) the future of computing is multicore.
Today IBM also announced that they're working with the University of Texas on a massively parallel processor
http://www.macworld.co.uk/news/main_news.cfm?NewsID=6796
This one is an interesting read. It will bring the power of a multiprocessor supercomputer onto a single chip. Once again multithreaded apps will be required.
Beam its because Pentiums cannot be multi threaded, so we are at the mercy of these aging technologies.
Newtek OEM's with BOXX, they sell MP systems.
G4, G5, Xenon, AMD MP are all prosumer models. Newtek really needs to assign a team just on multithreading for the mac.
Lightwolf
08-29-2003, 02:23 AM
Originally posted by Ade
Beam its because Pentiums cannot be multi threaded, so we are at the mercy of these aging technologies.
Why do I always jump into these discussions... ;)
Ade, let me just correct you there: Of course they can, even the old 680x0 motorola series could, and, technically, you could even multithread software on a C64.
As for the OS, the NT based OS'es offered multithreading and SMP long before Apples old (pre-X) OS ever did, and even once it did it was rudimentary to say the least.
Multithreading an app isn't an easy task though (it's hard enough sometimes to even multithread something as simple as a surface shader), I'd like to see it happen though, and it would do good for both platforms.
BTW, we have threads and tasks which are a function of the OS, as well as SMP, Hyperthreading or the Dual core IBM technology, which are hardware.
Cheers,
Mike
Lynx3d
08-29-2003, 05:42 PM
*offtopic* that picture...i don't know where you found this, but it's pretty sure not a Power4...looks more like >10 years old :D
The chips itself look like >- this -< (http://www-3.ibm.com/chips/photolibrary/server/83.jpg) and a module with 4 power4 cores looks like >-this-< (http://www-3.ibm.com/chips/photolibrary/server/882.jpg)
(the single chip package is only shown from top as it seems...)
*/offtopic*
Hm, since when is Itanium replacing the Pentium? Consumer desktop <-> high-end server/workstation...pretty different market.
Sun also sells mainly server i think, i don't even know DCC software for Sun-OS (Solaris), and even SGI-boxes with Irix seem to become less popular for 3D artists.
Oh wait, i know there is blender for Solaris...my bad.
Anyway, I sure would appreciate any improvements in multithreading, but like Lightwolf said, it's not easy at all, otherwise at least a bunch of 3d apps would already be totally multithreaded i guess.
e.g. Quake 3 has a SMP switch, but it's hard to actually get a better performance than without SMP...well software engineering is a big challenge nowadays...so many philosophies and no way to tell which is the beter (or more practical) one.
Itanium wont replace pentiums until they can create a version that is 32 compaitible. Intel stuffed up there and wont admit it so theyt play their own mhz myth in that "64 bit doesnt matter"..
Lynx3d
08-30-2003, 09:55 AM
Itanium does run IA32 code, so you could actually run Lightwave on it, but it's pretty slow because it's no native instruction set, it gets emulated at hardware level (actually Intel plans a software emulation to speed it up...weird, huh?)
And again, Itanium like it is now was never intended to and will never replace Pentium, the whole price segment is totally different, you will never go into the PC-store near you and buy an Itanium PC for $1000....if Intel decides to go 64bit for desktops, they will most likely add it to the Pentium, guess most of you heard the codename "Yamhill"...supposedly a x86-64 (AMDs extension of the IA32 ISA) compatible CPU.
Sure Intel would've liked to see all future CPUs with IA64 (EPIC), but i think it's unlikely to happen soon. But why it is so difficult to write efficient EPIC compilers etc. doesn't really belong to this topic.
Anyway, i think Newtek should concentrate on optimizing the render pipeline, and maybe some extras like dynamaics, maybe IK. But actually i'm a lot more worried about the quality of the OpenGL feedback, flexibility of the renderer etc than some multithreading that might help you justify the cost of a dual system.
Originally posted by Lynx3d
And again, Itanium like it is now was never intended to and will never replace Pentium, the whole price segment is totally different, you will never go into the PC-store near you and buy an Itanium PC for $1000....if Intel decides to go 64bit for desktops, they will most likely add it to the Pentium, guess most of you heard the codename "Yamhill"...supposedly a x86-64 (AMDs extension of the IA32 ISA) compatible CPU.
Oh I don't know about that. As I predicted they are making changes and improvements to Itanium quickly. Intel is going to release "Deerfield" on Sept. 8th that IS geared toward desktops/workstations. They are also going to make a high-end Itanium with 16 cores on one chip. I'd like to have one of those to render with.
Itanium processor story on Cnet (http://news.com.com/2100-1006_3-5069915.html?tag=fd_lede2_hed)
Cheers,
JS
Lynx3d
08-30-2003, 02:22 PM
Yea you're right...
Deerfield will cost $744, substantially below the price of Intel's other Itanium 2 chips
but over $700 is still more than what the top model 3GHz 1MB L3 cache Xeon costs today. They might find the way to workstations, but still far from a mid-range P4 most of the people here would (or did) choose (how many of us own a dual xeon with the fastest CPUs available at purchase date?).
And there are other reasons why i doubt that it can be an alround chip like AMDs Hammer design trys to be...basically the whole VLIW-roots, with its compiler and scalability issues (again a parallelism problem...). But who knows, maybe i'm wrong. For raytracing those CPUs should be almost ideal...
Yeah but it will come down over time. I think Intel is quickly rethinking it's 64bit strategy. With fierce competition coming to the desktop 64 bit market with the G5 and AMD I think Intel finally realizes they need to have something to compete at this level instead of only high end server markets.
Cheers,
JS
Beamtracer
08-30-2003, 11:22 PM
My point is that multithreading will be useful as far as we can see into the future roadmap of computing. It would also be worthwhile for any platform that Lightwave runs on.
As we move into the future there will be increased use of multiprocessor and multicore setups. The demand for multithreading will only increase.
I assumed it must be a difficult thing to achieve. When Maya first appeared on OS X it had no multithreading at all.
In the meantime, some more Altivec optimization would not go astray!:p
by the way... the Itanium architecture (IA64) was always destined to replace the pentium. First in the server market, then filtering down to the home market. The fact that it can't natively run 32-bit apps doesn't change this.
Scott_NewTek
08-31-2003, 11:33 AM
There are many architecture issues that a program like LightWave can take advantage of. However, for every advantage there is often a cost. With any type of optimization there is usually a partintioning of the problem required and that often leads to A LOT of effort. And, the net results may not be as significant as we would like. LightWave is a very diverse application and so there are many targets for optimization. Multithreading the UI helps usability, multithreading the rendering engine helps efficiency there, but the plugins may not be able to cope with that - and we all know there are a ton of those to worry about. We are always profiling the code and trying to chip away at the slowest parts to keep things improving. And newer features will certainly take advantage of what is practical (without breaking everything else!).
Beamtracer
08-31-2003, 06:20 PM
Hi Scott,
Thanks very much for your response regarding multithreading. I suspected it would be a more complex issue than it would first appear.
Beamtracer
09-30-2003, 05:42 AM
Just an update on the multithreading issue...
Today comes the announcement that AMD will indeed be releasing multicore versions of its Opteron processor in 2005.
http://www.theregister.co.uk/content/3/33119.html
About a week ago we learned that Intel will bring out a multicore Pentium.
And of course, the one who started it all, IBM, is the king of multicore processing. We can take it for granted that IBM will release a dual core G5 (970) processor, and probably have it to market before the other manufacturers.
This will put pressure on software vendors to make multithreaded versions of their applications that can take advantage of these new processors.
It probably means that multithreading is the single most beneficial piece of speed optimization that can be done. Now we know it will be beneficial to users of all computer platforms.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.