Path: utzoo!attcan!uunet!brunix!cgy From: cgy@cs.brown.edu (Curtis Yarvin) Newsgroups: comp.arch Subject: Re: Teradata Message-ID: <54426@brunix.UUCP> Date: 26 Oct 90 00:18:06 GMT References: <1990Oct7.131537.23798@mdbs.uucp> Sender: news@brunix.UUCP Reply-To: cgy@cs.brown.edu (Curtis Yarvin) Organization: Brown University Department of Computer Science Lines: 59 In article <1990Oct7.131537.23798@mdbs.uucp> zed@mdbs.uucp (Bill Smith) writes: >This reply pushed one of my buttons. I'll try hard to be civil. And yours pushed one of mine. But I'll try too. >>Granted, most parallel software was written under the shared memory >>model, and if the main constraint is porting existing software, then >>shared memory machines win. This argument was used in the past >>on various innovations. > >Why don't sponsors of large projects demand, in the requirements, that the >project be developed in a fashion that will port to advances in architecture >technology that might be reasonably expected in the next 10 (or even 5) >years? ... >It's taken for granted that we don't write software that depends on whether >the processor was implemented in CMOS, TTL, E2L or I2L. Why can't this >principle be extended to the next, IMHO, obvious level? Abstraction costs. It costs in speed and it costs in memory. And not all abstractions cost the same - thus your analogy is entirely bogus. Cross- architectural abstractions can be especially expensive. And who cares if you can write a program which will work on both a Butterfly and a Connection Machine, if you can do the same job just as fast on a 386? I'm not arguing that it can't be done, and done well. But certainly nobody has done it yet. >>While sharing at the page level across a network works, increasing >>the number of workstations to say, 1000, will seriously impede >>performance. > >Well, then find a better way to get 1000 nodes to cooperate! ... >Again, find a better way! If you get too much contention on frequently >used data, design algorithms that don't have any frequently used data. >If cache coherence protocols are incredibly complex and impact >performance, design an architecture that doesn't need multiple caches >on a single piece of physical memory. "WAAAAAHHHHH! I waaaaanntt it faaasster! MOMMY!" Seriously, architecture isn't quite that trivial. If architects could build an infinitely perfect architecture, then "software engineers" could write infinitely slow programs. Unfortunately, life just ain't that simple. >>The abstract shared memory model pretends that there >>is a large number of communication paths to a single point. This >>simply isn't true, and additional hardware is required to provide >>this illusion to the programmer. This hardware costs time and >>dollars. >The essence of Computer Science is illusions for programmers and users. If wishes were horses, beggars would ride. And if illusions were free, we'd all be using Smalltalk. -Curtis "I tried living in the real world Instead of a shell But I was bored before I even began." - The Smiths