Questions about Pyramid/Sequent

Richard Wood rwood at vajra.uucp
Sat Apr 1 09:59:54 AEST 1989


Cquenel at polyslo.CalPoly.EDU (48 more school days) writes:
> 
> Suppose for the sake of argument you have a single processor
> machine on one side and an 8 processor machine on the other side
> with each processor exactly equal to 1/8 of the larger CPU.
> Suppose the prices and total performances are equal.

    If your premises listed above were true, then much of your
    arguement below would be true as well.  The significant error is to
    assume that a single CPU machine and a multiprocessor (with
    equivalent amounts of aggregate power) would have the same price.
    If all other design elements were pretty much the same, the
    multiprocessor should cost less.

    What are the arguments for the multiprocessor costing more?
    Significantly more complex design, with caches, probably a faster
    bus.  On the other hand, the single CPU would have to be built with
    technology that is substantially more complex than the eight.  For
    instance, today's '386 chips can be designed very easily to get 3
    or so MIPS of power (more with a more expensive design).  You can't
    get a '386 running 24 MIPS (eight times faster).  Theoretically,
    you could, if you built it out of ECL or something.  But that
    single CPU would no longer be a chip - it would now be a multichip
    design.  The cost of designing that board will be substantially
    higher than the cost of designing the basic CPU subsystem in the
    multiprocessor.  Even more importantly, the cost of manufacturing
    and servicing it would be very, very much higher.  A final, but
    certainly not insignificant detail, is that the multiprocessor is
    going to get to market *A LOT* faster, due to the simpler overall
    design.

    Admiral Grace Hopper (inventor of Cobol) likens it to a farmer
    that suddenly needs to plow a field twice as big as his ox can
    handle.  The single-CPU paradigm would have him buy an Ox that
    is genetically engineered to be twice as big, and twice as
    powerful.  The multiprocessor paradigm would argue for simply
    getting a second ox.  Any farmer could tell you which would be
    cheaper :-)

    The basic rationale is that it is cheaper to use off the shelf
    technologies as building blocks, instead of designing new
    processors for each and every generation.

> My argument is that the mono-processor machine is more flexible
> because any process can chew on the while machine whenever/however
> it wants.

    No one will argue with you.  A single source of cycles will
    always be able to allocate them with more flexibility.  This
    actually follows directly from queuing theory.

> I also claim that when the number of users is reasonably greater
> than 8, then it will be difficult to tell which machine you're
> using.  I have equated number of users with number of active
> processes here.  It is possible for one user to have 5 active
> processes (by "thinking parallel" :-) ) and it is possible to have 8
> users and have only 5 active processes.

    It actually happens (at least under Unix) even without
    "thinking parallel," although that does dramatically increase
    the flow.  Sit down at a single user workstation sometime and
    do a "ps ax | wc -l".  All the background stuff Unix does can
    take advantage of those "other" CPUs.  (I.e., my workstation
    has 45 processes listed, and I'm hardly doing anything - true,
    most of those will wait hours before seeing action).  A prime
    example is the inherent multiprocessing that is showing up in
    todays computing model.  The window I'm editing in right now
    taps several different processes, including the editor, the
    terminal emulator (wish I had xrn...), the X-Server process,
    some NFS daemons on my local machine, and some on the server
    somewhere else in the building.

> I seem to hear some advocates of multi-processors using the old
> "gee it's neat when I've got all those processors to myself"
> argument, but I don't think this is a valid argument for a
> good general-purpose machine.
>
> If you are considering a working environment where there 
> are more processors than your average number of active 
> processes most of the time, then you would actually be better off
> with a mono-processor.  Think about it.

    Except, perhaps one should take into account the fact that the
    monprocessor is going to cost dramatically more, as explained
    above.  There is some "clumsiness" about using a multiprocessor
    in a non-parallel processing environment, but the cost payoff
    can be dramatic.  And

> I have an 8 processor machine and I've spawned 7 processes.
> I'm only using 7/8 of the machine.  If I were on the mono-processor,
> I'd be using 8/8 of the machine, and (!) all my tasks would
> finish sooner.  Even though I was sharing.
>
> It all boils down to this:
>
> 	The burden of proof is on the multi-processing
> 	manufacturer.  They have to prove they can offer
> 	enough MORE bang/buck to counter act any difficulties
> 	introduced by multiprocessing.

    The  burden of proof should *always* be on the person trying to
    sell, regardless of what they're selling.  There are tradeoffs
    in every decision.  For this kind of purchasing problem, the
    questions are two:

	Do I have an environment that makes full use of multiple
	processors?  If no...
	Is the presumably decreased cost of the multiprocessor worth
	the loss of flexibility in how I use the machine?

> If you have a heavy number crunching grind-it-out program,
> then you will have to "parallelize" it in order to take
> advantage of any potential bang/buck advantage in a multi-CPU
> system.

There is another way that "heavy number crunching" programs can take
advantage of a multiprocessor:  concurrency.   Run multiple versions of
the same program simultaneously on different data sets.  This assumes
two things:  first, that there are different data sets that need to be
processed;  if you only have the need to run one simulation at any time,
for instance, then this wouldn't be the case.  Second, it assumes that
throughput is a reasonable substitute for response time.  If having ten
jobs done in ten minutes isn't as good as having one job done in one
minute, than the thumper (to use a motorcycling term) is the proper
tool.  [A thumper is a single cylinder engine; the obvious analogy is
left as an exercise for the reader]

-- ----------------------------------------------------------------------------
Does it need saying that I'm not speaking as an official representative of DEC?
===============================================================================
Richard Wood  !  U. S. Worksystems, Palo Alto  !  Digital Equipment Corporation



More information about the Comp.sys.pyramid mailing list