Path: utzoo!mnetor!uunet!husc6!bu-cs!bzs From: bzs@bu-cs.BU.EDU (Barry Shein) Newsgroups: comp.arch Subject: Re: Single tasking the wave of the future? Message-ID: <18013@bu-cs.BU.EDU> Date: 27 Dec 87 19:10:28 GMT References: <201@PT.CS.CMU.EDU> <388@sdcjove.CAM.UNISYS.COM> <988@edge.UUCP> <1227@sugar.UUCP> <151@sdeggo.UUCP> <1423@cuuxb.ATT.COM> <439@xyzzy.UUCP> <440@xyzzy.UUCP> <36083@sun.uucp> <18@amelia.nas.nasa.gov> <2341@encore.UUCP> <25@amelia.nas.nasa.gov> Organization: Boston U. Comp. Sci. Lines: 52 In-reply-to: fouts@orville.nas.nasa.gov's message of 16 Dec 87 19:04:51 GMT Posting-Front-End: GNU Emacs 18.41.4 of Mon Mar 23 1987 on bu-cs (berkeley-unix) Marty Fouts continues a tradition in discussions of the relative merits of parallel machines which can be summed up in the simple statement of the "best as enemy of the good". I don't think any point is made when someone pulls out some algorithm and challenges the community to parallelize it, what's the point? Has anyone denied that such problematic algorithms exist. He also questions the merits of Peter Fay's claim of development transparency in some modern machines. Here's an example: I compile a system with about 100 C modules on a Vax750 (4.3,8MB,RA81s), elapsed time is 1 hour 39 minutes. I do the following on exactly the same code on an Encore Multimax (6x332,28MB,CDC drives): % setenv PARALLEL 8 % time make and it compiles in 2 Minutes and 10 seconds or about a 50x speedup. Do you like waiting an hour for a compile (assuming your machine is two or three times faster than the 750)? Is it worth anything to you to simply solve that problem? It's not like the parallel systems are much more expensive than what you're probably using now (the Encore I describe above is ~$200K.) So the real question is: Is the value of parallel systems enhanced by their acheivments or diminished by the hard problems which exist? I also have a parallelized raytrace program which exhibits roughly N performance increase as it's re-run allowing more CPUs to participate (same machine.) Sure, it's an easy, nearly trivial problem to parallelize (NOT transparent, but all I have to do is break the loop across simple forks, about 20 lines of additional C code), so what? Does that mean it's not worthwhile and only impossible problems are to be considered? That would be a strange view. I am continuously amazed at people who, upon learning that I own several parallel systems and use them in production work immediately remark that they find it interesting, but OF COURSE there are all these problems (most of which they themselves don't need solved) which can't be parallelized (or not easily.) Seriously, what's the point? Just the 80's version of all the people that used to decry higher level languages because they could pull out this algorithm that no compiler could do as good a job on as a hand-coded solution. So what!? -Barry Shein, Boston University