Thursday December 15, 2005
Keith Bierman's WeblogKeith Bierman's Weblog
Language Standardization considered harmful?
Les Hatton makes a reasonable argument for it. ....This is exacerbated by the process of language standardisation. We would all agree that standardisation is an important step forward in engineering maturity, however, if the The longtime reader (all three of you) may recognize some resonance to my comments to Bill Moffitt in a previous entry. I think that the rule about not breaking existing code is a must; but that the consequence is that (as I described to Bill in the case of Fortran) that the model for language evolution ought to be more like Algol (begat C, begat C++ begat Java) not that the old language necessarily dies ... but that the Standards group should restrict itself to a revision or two with new substantive features and then restrict themselves to cannonization of existing practice and harmonization of feature sets (or bindings to other things, etc.). The creative energy of the language's supporters should go into the "next language" which will be free to discard the bits of the original language found to be errors in practice.process of standardisation ignores historical lessons, then this may well be worse than useless. Language standardisation suffers from two important drawbacks as practised today. First of all, language committees (and I’ve sat on a few in my time), have an irresistible temptation to fiddle. They will persist in adding features which seem like a good idea at the time, without any notion as to whether they will work or not. Of course, this is normal in engineering. It is similar to the role of mutation in Darwinian evolution. What is not normal however is the second drawback. This embodies the opposing principle to control process feedback. It is called “backwards compatibility” and is often expressed in the hallowed rule that “thou shalt not break old code”. So drawback one guarantees the continual injection of features which may or may not work, (most don’t) and drawback two guarantees that you can’t take them out again. In other words it is a technique whereby learning from previous mistakes is guaranteed not to take place. In backwards compatibility, you take as a starting point all the failure modes which have occurred so far and then add new and poorly understood failure modes. We call the result a modern programming language. If other engineering disciplines pursued this doctrine, hammers for example would have micro-processor controlled ejection mechanisms to cause the head to fly off randomly every few minutes as they used to about 40 years ago when made with wooden handles. Not surprisingly, they were redesigned fairly quickly. (2005-12-15 15:39:39.0) Permalink Comments [3]
Xeon is just as Good as Opteron (says HP!) Thanks to the folks at theInq for calling our attention to this one. Aside from the Inq's warning that you need an HP signon, also be prepared for a Microsoft Word source document. It's actually a rather nice writeup, and it's conclusion seems to be "true". If your workload is bottlenecked on I/O having a faster processor with a faster memory interface won't help. 1.The more content that can be cached in memory the greater the Opteron advantage. This performance difference is tied to the different designs of the two processors... detailing the FSB vs. HT issues "Countered with"2.If any of the server sub-components become a bottleneck, the Opteron memory access speed advantage is negated. So the obvious solution is to favor systems with fast processors, fast and ample memory bandwidth and fast I/O subsystems. Unfortunately that doesn't result in "all processors being equal" at least not if you buy the right subsystems ;> (2005-12-14 13:18:40.0) Permalink
The sad saga of xemacs vs. gnu emacs I'd been a longtime user of the Xemacs that came packaged with the Sun
Studio tools years ago. I knew there was a split, and a dreamed of
merge ... but I'd never really quizzed Ben Wing or Martin Buckholtz
(sp?) (two of the Sun engineers who contributed the linkage code, and
were Xemacs maintainers) about the how and why of the split and fork.
What Some Customers Are Saying...part 1
Caches Considered Harmful For what seems like forever, designers have been adding more and more
cache to systems to reduce latency to memory. This has been successful,
but it hasn't been the only approach, but it has been the most
typical.
As in the citations above, the key observation is that if one has additional "threads" ready to do useful work, that work can be done while awaiting the data to be returned (from memory, from cache, from disk, ... wherever) rather than keeping all that hot and possibly expensive iron (silicon) hot. And that's precisely what UltraSPARC T1 does ). So when you hear someone making a spurious claim about the UST1 being cache starved, ask them how big a cache they think it should have, and why? What level of associativity? What's the downside? And, of course, point out that the application performance is what counts, and it doesn't support the contention that the UltraSPARC T1 family systems are cache starved. NB: of course, caches aren't all bad. If you are focused on minimum latency (fastest response time for a single thread) they can be very effective. But if your goal is the most aggregate work for the least power, they are certainly not your friend. To learn more about caches (2005-12-08 16:57:41.0) Permalink Comments [2]
With All Due Respect Jonathan
9.6GHz is not the clock of our UltraSPARC T1 processor. As any hardware
engineer knows, clock speed is a simply measurable entity, you stick test leads on the appropriate wires and count the phase transitions. The
correct number is 1.2GHz.
What I want to work with next.
Typically one blogs about what one has done, or has discovered. In this
entry, I'll talk about an area I want to spend some time working in
RealSoonNow. [ T:http://technorati.com/tag/NiagaraCMT] (2005-12-06 10:01:01.0) Permalink Comments [0]
Amazingly stupid competitor quote
You have to wonder if they've been misquoted: Don't they even bother to read the literature? UltraSPARC T (nee Niagara) does break a lot of ground for a microprocessor. But effectively reducing latency (which caches are intended to do) is something they multithreading is known to be good for. So megacaches aren't required. [ T:http://technorati.com/tag/NiagaraCMT] (2005-12-06 10:00:02.0) Permalink Comments [0]
Dec. 6th notable events Of course, today is the big announcement of the first UltraSPARC T based systems (nee Niagara).
Which Evolves Faster: Hardware or Software?
Conventional wisdom has always had it that hardware is the "long pole"
|
Calendar
RSS Feeds
All /General /Java /Music SearchLinksNavigationReferersToday's Page Hits: 6 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||