Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!sri-unix!ctnews!pyramid!oliveb!intelca!mipos3!cpocd2!howard From: howard@cpocd2.UUCP (Howard A. Landman) Newsgroups: comp.arch Subject: Re: Josephson Junction computers (was: Message-ID: <505@cpocd2.UUCP> Date: Mon, 16-Mar-87 14:52:06 EST Article-I.D.: cpocd2.505 Posted: Mon Mar 16 14:52:06 1987 Date-Received: Wed, 18-Mar-87 06:39:11 EST References: <492@cpocd2.UUCP> <43700014@uicsrd> Reply-To: howard@cpocd2.UUCP (Howard A. Landman) Organization: Intel Corp. ASIC Services Organization, Chandler AZ Lines: 44 In article <43700014@uicsrd> turner@uicsrd.CSRD.UIUC.EDU writes: > >> We're far better off looking for good architectures to make use of the >> fabrication technology we have. Try reading "The Connection Machine" >> by W. Danny Hillis for a taste of what computers might look like in 10 >> or 20 years, when the Von Neumann architecture (and bottleneck) is >> fading from the scene. Here we have a potential gain of several >> orders of magnitude, not just a piddling 50%. >> >> Howard A. Landman > >At the end there you lost me; the serial bottleneck will NEVER fade >away completely. Some things just have to be done in order. >Admittedly parallel processing is a good thing, but haven't you ever >heard of Amdahl's Law? Yes, I'm quite aware of Amdahl's Law; in fact I learned it from Gene Amdahl! You are exactly right that the problem is both in parallel algorithms and hardware. One problem is that most current architectures only allow very restricted forms of parallelism (e.g. "vector processing"), and these aren't adequate for some tasks. Also, there are very few decent parallel languages that even *ALLOW* reasonable algorithms to be written. The chapter of Hillis' book that impressed me the most was the description of CMLisp. The alpha and beta operators (apparently borrowed from APL) are powerful, general, and understandable; I could *IMMEDIATELY* see how to use them in several programs I'm now writing to get a 100X speedup in certain critical parts. And the code would be smaller and easier to understand. Of course, to take full benefit, I'd have to redesign whole programs. Also, the "serial bottleneck" and the "Von Neumann bottleneck" are different things. The first relates to parallelization of certain tasks; the second to the memory bandwidth required to accomplish things on a Von Neumann machine. There's not much correlation between them. Connection-machine-like architectures can have arbitrarily large communication bandwidth (depending on size of machine) and are decidedly non-Von. But they can still suffer from the serial bottleneck depending on how they are coded. We have an existence proof that the serial bottleneck can be made to go away. It's called the human brain. So there's still hope! -- Howard A. Landman ...!intelca!mipos3!cpocd2!howard