From: Gerrit Visser <s9347089@postino.up.ac.za>
Newsgroups: comp.lang.fortran,comp.parallel.pvm
Subject: Re: superlinear speedup, (was: fortran77 programming)
Date: Tue, 15 Dec 1998 18:10:38 +0200
Organization: University of Pretoria test
Message-Id: <367689FE.9068FA0D@postino.up.ac.za>
References: <3660D892.E1EDBF12@est.it> <3665044D.A0F57E59@kings.uq.edu.au>
    <3665E491.7993355@flash.net> <y6k909mqww.fsf@tweedledumb.cygnus.com>
    <m21zmgnuau.fsf@blinky.bfr.co.il> <y6emqejtgq.fsf@tweedledumb.cygnus.com>
    <m2d85xi988.fsf@blinky.bfr.co.il> <y6yaokiw0r.fsf@tweedledumb.cygnus.com>
    <366BF6F3.1E8DC934@cic-mail.lanl.gov> <m2iuffrq59.fsf@blinky.bfr.co.il>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Xref: ukc comp.lang.fortran:62191 comp.parallel.pvm:7874


I must admit that I don't know a lot about multiprocessing, but I am
pretty certain that superlinear speedup is possible. When a problem's data
is too large to fit into the on-chip cache of a single processor, but can
be split up to fit in let's say N seperate processors's cache, and they
don't need to exchange data, the process can be achieved at faster than N
times. The main reason for this is that the on-chip cache is a lot faster
than main memory, and so the cpu don't need to transfer from main memory
into local cache constantly.  There may also be some other effects such as
processes running in the background etc. , but don't know if that will
have much affect.



Harvey J. Stein wrote:

> "Tony T. Warnock" <u091889@cic-mail.lanl.gov> writes:
>
>  > A simple argument (due to Vance Faber of LANL) shows that
>  > superlinear speedup is not possible. Given an N times faster
>  > processor, one can have the processor execute the first instruction
>  > of each of the N slower processors, then the second instruction,
>  > etc. The faster processor will finish at least as fast as the
>  > slower set of processors.
>
> One can't do this and it'd make a modern processor slower.
>
> One can't do it because the the registers will be in the wrong state
>
> Even if you could do it, it'd make a modern processor slower because
> you'd break pipeline optimizations that had been done to the
> individual programs.
>
> --
> Harvey J. Stein
> BFM Financial Research
> hjstein@bfr.co.il

