Most SMT designs dynamically allocate physical registers to different threads "on the fly". For optimal performance, the compiler has to generate instructions to release registers when their values are not needed anymore. Thus you get significantly better performance by recompiling your software to the new architecture, regardless of how much backward compatibility they build into the chip. This suggests that people with access to the source code for their software are going to be happy campers.
If I recall correctly, MTA is not a *Simultaneous* multithreading architecture; it only retires instructions from one thread in any given cycle. A true SMT machine can process and retire instructions from different threads in the same cycle.
The OS context switching overhead is actually insignificant; eliminating or reducing it is not a goal of SMT. Context switch overhead only matters when you're doing a lot of it due to inter-process communication, and SMT doesn't help you there.
It's unavoidable for two main reasons. The biggest reason is that there is a fundamentally limited amount of parallelism available in a single thread of C/C++ code. The programmer expects the code to execute serially, so you only get parallelism if you're lucky.
The other reason is that to tolerate high memory latencies and other delays while keeping the processor busy, you need to have a really big instruction window. But that is very expensive to build and doesn't really scale, and futhermore requires lots of very accurate branch prediction; but programs have a certain amount of inherent unpredictability.
The guy you're responding to was talking about on-chip multithreading, which is basically what EV8 does. What you're talking about is register renaming, which is completely different (although related). And BTW, all modern superscalar CPUs do register renaming, including the PPC.
> What exactly would the U.S. do if gates decided
> to use the majority vote of his and his buddies
> and move the headquarters of M$ overseas?
Are you kidding? If a foreign company had tried to do what Microsoft has done to its US competitors, the US government would been all over them for dumping, restraint of trade, unfair competition, etc etc. MS products would certainly have been slapped with massive punitive tariffs, and the host country would have been put under huge diplomatic pressure and probably dragged into the WTO. Not to mention all the rhetoric you'd be hearing about the threat to US nationalism, how other countries don't respect free trade, the need to recapture technology leadership, etc.
It happens all the time in other industries --- lamb, steel, sugar --- even when the foreign companies are honestly outperforming their US counterparts. A company as dirty as Microsoft would trigger a firestorm.
I'm afraid you don't know what you're talking about. Adding "incrementality" is not adding just another feature. It means that most interfaces have to be changed. It means that many of the implementation strategies that used to work well don't work well anymore.
"Clean and modular" helps you as long as changes are confined to a few modules and don't require interface changes. But when you have to change your interfaces and most of your modules, then clean and modular isn't buying you anything. In fact, it often gets in your way and makes things more difficult.
First, did you make sure to use the correct DOCTYPE to trigger standards mode in Mozilla (and IE5.5Mac)?
Also, how do you know your pages work according to standards? IE incorrectly accepts many invalid CSS style sheets. If you can identify specific standards-compliance bugs in Mozilla, please submit them. If you can't, at least post on one of the Mozilla newsgroups to let other people look at your pages and maybe spot what's going on. "I tried to make it standards-compliant and it works fine in IE" does not guarantee that your pages are in fact stanards-compliant.
The fact is that Opera does not support many of the most useful W3C standard DOM interfaces that IE and Mozilla support. It would be nice for Web developers to provide DOM-free versions of their sites, but on the other hand if Opera was more standards compliant you wouldn't see some of these errors.
The Opera 5 release notes say that they only support the "read-only" parts of the DOM. That's the easy stuff! What's hard is when scripts use the DOM to dynamically modify the document, and your browsing engine has to incrementally parse, style, layout and render the results.
The IE and Netscape HTML engines had to be rewritten from scratch to deal with dynamic documents. I bet the Opera folks have a rewrite in their future too. It will be interesting to see how small and fast Opera is after that.
You're absolutely right. Getting the browser to efficiently support the document modification methods of the DOM requires incremental parsing, styling, layout and rendering. Only Mozilla and IE currently have these things. They are hard to implement, and they require more resources.
Adding support for the *read-only* DOM methods is not hard. This is in fact what Opera has done. Adding *efficient* support for modifying the document structure requires incremental parsing, layout and display engines. That is the hard part, which only IE and Mozilla have tackled so far.
Netscape6 is just Mozilla with a few doodads. Thus, most of its source IS open. Also, since 90% of Mozilla development is done by the Netscape engineers, it's not fair to bash AOL-the-company and praise Mozilla in the same breath.
Use Mozilla, be happy, but don't put the boot into Netscape. If AOL cut them off then Mozilla would be in dire straits.
> * No right-click menu's on forms / the URL bar
> this just happens to be very handy for copying /
> pasting data and URLs.
Fixed in the latest Mozilla nightly builds.
> I was hoping to be able to give NS6 the URL for
> a RSS file, and have the news channel displayed
> in that oh-so-fancy side bar.
There's a Web site that automatically creates a Sidebar panel from an RSS file. I can't remember the URL offhand. However, since you can do a lot more in a sidebar panel than you can with RSS (better layout, active controls), you're usually better off using one of the 700+ Sidebar panels or building your own.
I know plenty of people who have SSL working in Linux.
> * Tons of advertisements / plugs / commercial
> junk. Even in the FILE menu!
Not in Mozilla.
> * Poor handling of DHTML / Javascript.
Mozilla's support for DOM1 and DOM2 *standards* (not Microsoft's "extensions") blows away all other browsers, including IE5.5. There's a pointer to an independent test site in a recent Mozillazine article.
That CSS inheritance problem sounds like a "quirks mode" feature where Mozilla is deliberately emulating Netscape bugs for better backwards compatibility.
Try setting the DOCTYPE in your HTML document to get the "standards mode" rendering in Mozilla.
http://www.htmlhelp.com/tools/validator/doctype. ht ml
NS6/Mozilla also support user style sheets. And since they support the full CSS2 selector syntax, they're even more powerful than in IE...
Re:Am I the only one who doesnt like mozilla
on
Netscape 6 Vs. 4.7x
·
· Score: 2
I don't know what you're talking about with BeOS. The BeOS, Photon (QNX) and OS/2 ports work on just the same level as the Win32/Mac/Linux/UNIX ports: they need an implementation of the GFX graphics layer, the NSPR OS interface and some miscellaneous stuff like finding the location of user preferences, and then you're done. None of these ports have required any changes to the UI or to the layout engine. (Although there's a lot of work going on building "Mac-like" and "Win-like" themes to make people on those platforms happy.)
In the BeOS port they are having to restructure the way the DLLs are organised, because BeOS has a colossal kernel bug that causes it to explode trying to handle all Mozilla's modules.
Most SMT designs dynamically allocate physical registers to different threads "on the fly". For optimal performance, the compiler has to generate instructions to release registers when their values are not needed anymore. Thus you get significantly better performance by recompiling your software to the new architecture, regardless of how much backward compatibility they build into the chip. This suggests that people with access to the source code for their software are going to be happy campers.
I've been told by an architecture grad student friend of mine, who should know, that IBM has an AS/400 system using a PPC-like core that does SMT.
If I recall correctly, MTA is not a *Simultaneous* multithreading architecture; it only retires instructions from one thread in any given cycle. A true SMT machine can process and retire instructions from different threads in the same cycle.
The OS context switching overhead is actually insignificant; eliminating or reducing it is not a goal of SMT. Context switch overhead only matters when you're doing a lot of it due to inter-process communication, and SMT doesn't help you there.
It's unavoidable for two main reasons. The biggest reason is that there is a fundamentally limited amount of parallelism available in a single thread of C/C++ code. The programmer expects the code to execute serially, so you only get parallelism if you're lucky.
The other reason is that to tolerate high memory latencies and other delays while keeping the processor busy, you need to have a really big instruction window. But that is very expensive to build and doesn't really scale, and futhermore requires lots of very accurate branch prediction; but programs have a certain amount of inherent unpredictability.
The guy you're responding to was talking about on-chip multithreading, which is basically what EV8 does. What you're talking about is register renaming, which is completely different (although related). And BTW, all modern superscalar CPUs do register renaming, including the PPC.
> What exactly would the U.S. do if gates decided
> to use the majority vote of his and his buddies
> and move the headquarters of M$ overseas?
Are you kidding? If a foreign company had tried to do what Microsoft has done to its US competitors, the US government would been all over them for dumping, restraint of trade, unfair competition, etc etc. MS products would certainly have been slapped with massive punitive tariffs, and the host country would have been put under huge diplomatic pressure and probably dragged into the WTO. Not to mention all the rhetoric you'd be hearing about the threat to US nationalism, how other countries don't respect free trade, the need to recapture technology leadership, etc.
It happens all the time in other industries --- lamb, steel, sugar --- even when the foreign companies are honestly outperforming their US counterparts. A company as dirty as Microsoft would trigger a firestorm.
> None of the principle actors had done wire-work
> before.
Yeoh and Cheng Pei-pei (Jade Fox) have done a lot of wire work before. For Yeoh, check out TAI CHI MASTER (a.k.a. TWIN WARRIORS) and WING CHUN.
Jet Li has done a lot of wire work in his films.
Wire work doesn't make a film better or worse, it's just a different kind of film.
I'm afraid you don't know what you're talking about. Adding "incrementality" is not adding just another feature. It means that most interfaces have to be changed. It means that many of the implementation strategies that used to work well don't work well anymore.
"Clean and modular" helps you as long as changes are confined to a few modules and don't require interface changes. But when you have to change your interfaces and most of your modules, then clean and modular isn't buying you anything. In fact, it often gets in your way and makes things more difficult.
Actually Netscape couldn't afford to dump their browser for nothing. Fortunately they got acquired by AOL, who can.
First, did you make sure to use the correct DOCTYPE to trigger standards mode in Mozilla (and IE5.5Mac)?
Also, how do you know your pages work according to standards? IE incorrectly accepts many invalid CSS style sheets. If you can identify specific standards-compliance bugs in Mozilla, please submit them. If you can't, at least post on one of the Mozilla newsgroups to let other people look at your pages and maybe spot what's going on. "I tried to make it standards-compliant and it works fine in IE" does not guarantee that your pages are in fact stanards-compliant.
The fact is that Opera does not support many of the most useful W3C standard DOM interfaces that IE and Mozilla support. It would be nice for Web developers to provide DOM-free versions of their sites, but on the other hand if Opera was more standards compliant you wouldn't see some of these errors.
Read the Opera 5 release notes. Their DOM support is read-only, so most of the interesting stuff is unavailable.
They'll probably have to rewrite their engine to properly support dynamic documents, just like Netscape and IE did.
The Opera 5 release notes say that they only support the "read-only" parts of the DOM. That's the easy stuff! What's hard is when scripts use the DOM to dynamically modify the document, and your browsing engine has to incrementally parse, style, layout and render the results.
The IE and Netscape HTML engines had to be rewritten from scratch to deal with dynamic documents. I bet the Opera folks have a rewrite in their future too. It will be interesting to see how small and fast Opera is after that.
You're absolutely right. Getting the browser to efficiently support the document modification methods of the DOM requires incremental parsing, styling, layout and rendering. Only Mozilla and IE currently have these things. They are hard to implement, and they require more resources.
Adding support for the *read-only* DOM methods is not hard. This is in fact what Opera has done. Adding *efficient* support for modifying the document structure requires incremental parsing, layout and display engines. That is the hard part, which only IE and Mozilla have tackled so far.
Ah, but Mozilla, which is basically the same thing as Netscape6, doesn't have any of that evil stuff.
Mozilla already has better standards support than Opera. 1 out of 3 and counting...
Netscape6 is just Mozilla with a few doodads. Thus, most of its source IS open. Also, since 90% of Mozilla development is done by the Netscape engineers, it's not fair to bash AOL-the-company and praise Mozilla in the same breath.
Use Mozilla, be happy, but don't put the boot into Netscape. If AOL cut them off then Mozilla would be in dire straits.
> * No right-click menu's on forms / the URL bar
> this just happens to be very handy for copying /
> pasting data and URLs.
Fixed in the latest Mozilla nightly builds.
> I was hoping to be able to give NS6 the URL for
> a RSS file, and have the news channel displayed
> in that oh-so-fancy side bar.
There's a Web site that automatically creates a Sidebar panel from an RSS file. I can't remember the URL offhand. However, since you can do a lot more in a sidebar panel than you can with RSS (better layout, active controls), you're usually better off using one of the 700+ Sidebar panels or building your own.
I know plenty of people who have SSL working in Linux.
> * Tons of advertisements / plugs / commercial
> junk. Even in the FILE menu!
Not in Mozilla.
> * Poor handling of DHTML / Javascript.
Mozilla's support for DOM1 and DOM2 *standards* (not Microsoft's "extensions") blows away all other browsers, including IE5.5. There's a pointer to an independent test site in a recent Mozillazine article.
Actually, Mozilla/NS6 use floating point operations A LOT in the layout and rendering engine. Look at the source code if you don't believe me.
That CSS inheritance problem sounds like a "quirks mode" feature where Mozilla is deliberately emulating Netscape bugs for better backwards compatibility.
. ht ml
Try setting the DOCTYPE in your HTML document to get the "standards mode" rendering in Mozilla.
http://www.htmlhelp.com/tools/validator/doctype
NS6/Mozilla also support user style sheets. And since they support the full CSS2 selector syntax, they're even more powerful than in IE...
I don't know what you're talking about with BeOS. The BeOS, Photon (QNX) and OS/2 ports work on just the same level as the Win32/Mac/Linux/UNIX ports: they need an implementation of the GFX graphics layer, the NSPR OS interface and some miscellaneous stuff like finding the location of user preferences, and then you're done. None of these ports have required any changes to the UI or to the layout engine. (Although there's a lot of work going on building "Mac-like" and "Win-like" themes to make people on those platforms happy.)
In the BeOS port they are having to restructure the way the DLLs are organised, because BeOS has a colossal kernel bug that causes it to explode trying to handle all Mozilla's modules.