Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!emory!hubcap!carter From: carter@iastate.edu (Michael Brannon Carter) Newsgroups: comp.parallel Subject: Re: Justifications for || processing Keywords: Parallel Processing Message-ID: <12325@hubcap.clemson.edu> Date: 18 Dec 90 13:52:42 GMT Sender: fpst@hubcap.clemson.edu Reply-To: carter@iastate.edu (Michael Brannon Carter) Organization: Iowa State University Lines: 44 Approved: parallel@hubcap.clemson.edu > I'm wondering how people in the application side of parallel processing > justify coding for a parallel machine. I would be very much interested > in knowing how much complexity analysis plays a part in this. For the applications I see at the Scalable Computing Facility at Ames Laboratory, the answer is simple: people want to run BIGGER problems. They want to run them as fast as possible, but the primary emphasis, at least here, is on the size of the problem. More atoms in the electrolyte, more atoms in the metallic cluster, etc. When a physicist or chemist is told that he/she can have a bunch of time on a parallel computer to run bigger problems, they usually jump at the chance. This is followed shortly thereafter by a lot of headscratching trying to figure out how to make it parallel. We find ourselves having to help people along a lot because they just don't know how to program a parallel computer. (If anyone really KNOWS how...) Granted, these are researchers, so there are a lot of graduate students around to actually do the work. I can't speak to the commercial side of things. As for complexity analysis, it remains on an intuitive level; not a formal one. We simply decide by obvious factors (%age runtime consumed by a particular function) and experience what functions to make parallel, and just how that is to be done. Since we see mainly scientific applications, the operations performed in them tend to be well-understood algorithms: matrix math, global communications, etc. > On a related note, how prevalent are compilers that parallelize code ? There are none. Note that I do *NOT* call the MIMDizer a parallelizing compiler! As far as I know, it only works for certain shared-memory by recognizing very specific constructs in FORTRAN. Try this on for size: MIMDizer ~ ||izing compiler the way Expert System ~ AI. -- Michael B. Carter