Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!usc!ucsd!ucsdhub!hp-sdd!ncr-sd!ncrcae!hubcap!rjc From: rjc@cs.ucla.edu (Robert Collins) Newsgroups: comp.parallel Subject: Re: Virtual processor ratio (was Re: Paris and Programming the Connection Machine) Message-ID: <8390@hubcap.clemson.edu> Date: 15 Mar 90 16:04:50 GMT Sender: fpst@hubcap.clemson.edu Lines: 43 Approved: parallel@hubcap.clemson.edu In article <8374@hubcap.clemson.edu> bcsaic!carroll@beaver.cs.washington.edu (Jeff Carroll) writes: > > Since my friendly neighborhood "experienced CM hacker" is not >currently available for consultation, I'm asking the net at large for a >clarification of something that puzzles me. (I'm not a CM hacker, but we >did take a close look at a CM when we went computer shopping some time >ago.) > I've read a couple of statements now to the effect that >efficiency improves as virtual processor ratio increases. This seems >counterintuitive, as I would expect each virtual processor to add >(superlinearly) to the overhead of "processor management". > Would someone please explain? If your front end (scalar) processing time exceeds the parallel processing time during a given sequence, then going to a high VP ratio (more work for the CM for a given amount of front end work), you will get a better than linear speedup. Unless you have a very fast front end, you can get a situation like this at a VP ratio of 1. I have long code sequences that will keep our CM only .75 busy even when driven by a 16 MIP Sun4/330 (and only cranking out Paris calls--no scalar computation), although typically this is not a big problem with a fast front end. Things were really ugly when we had a VAX 8350 front end (somewhere around 1 MIP for a CM process). In general, you want the bottleneck of the computation to be the CM. Get the fastest front end you can. Now, assuming that you have the CM running full out, you can get better than linear speedup by increasing the VP ratio for some operations. In particular, floating point (with the floating point accelerators). The more operations you push through the pipeline, the less overhead you have per op for filling and emptying the pipeline. Other operations scale worse than linear (for example, routing at certain VP ratios). As far as I know, there is no real "processor management" overhead that increases with VP ratio. I think you just loop that many more times in the sequencer (or wherever the VP stuff is handled). Hope this helps clear up the confusion, rob ------------------------------------------------------------------------------- rjc@cs.ucla.edu C++/Paris on the CM2: The only way to fly. -------------------------------------------------------------------------------