Getting the most for a process.

Blair P. Houghton bph at buengc.BU.EDU
Sat Oct 14 11:42:50 AEST 1989


In article <20140 at mimsy.UUCP> chris at mimsy.UUCP (Chris Torek) writes:
>In article <1029 at crdos1.crd.ge.COM> davidsen at crdos1.crd.ge.COM
>(Wm E Davidsen Jr) writes:
>>  The Encore version of make looks at an environment variable and
>>determines how many copies of the ccompilers to start. On a machine with
>>8 cpu's you get a blindingly fast make compared to doing the same thing
>>(in serial) on a faster machine.

But not perfectly reliably.  It's messed up on some dependencies in
large makes we've run in the past.  Sometimes it gets ahead of itself
and goes on to the next step before some of the parallel cc'ing is
completed in this step...it hasn't done this in a long while, though.
It doesn't stop me from setenv'ing PARALLEL to 12, or anything...it's
just _one_ more possible reason for having to rerun a "make World." :-)

>Unfortunately, the Encore version of cc, which is apparently a Greenhills
>C compiler, has all of its `phases' built in.  Thus, if you are compiling
>a single file, you cannot preprocess on cpu 0, compile on cpu 1, and
>assemble on cpu 2 all at the same time.

Much harder to manage if you've got eight processors and PARALLEL==3.
Might even cause a performance decrease if the ccom phase gets assigned
to the overlapping processor.  With the entire cc constrained to one
processor, you're assured of eight simultaneous compilations (for whatever
an assurance of regularity from a computer is worth; I mean, aren't they
supposed to manage the complexities and leave us to the iced tea?).

>Given the standard edit/compile/debug cycle, this---combining
>everything---seems to me to be a major mistake.
>Well, not so major as all that, perhaps, since most of the time is
>spent in the compilation part, not in preprocessing or assembly.
>Still, the potential was there, and would return if Encore used gcc as
>their standard compiler.

Uh, who does?  :-)  Seems to me you can usually snarf a _newer_ version
of gcc than any computer company is prepared to deliver with a packaged
system.  Then again, I haven't tried to build gcc on our Encore (it kicks
silicon butt on the uVAXen, tho').  Any reason I should or shouldn't?

				--Blair
				  "I just want to know when rn
				   is going to take advantage of
				   parallelism.  :-) :-) :-)"



More information about the Comp.unix.questions mailing list