Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!gatech!hubcap!Ray
From: Ray@hubcap.UUCP
Newsgroups: comp.hypercube
Subject: Re: communications intensive applications
Message-ID: <304@hubcap.UUCP>
Date: Thu, 16-Jul-87 09:00:41 EDT
Article-I.D.: hubcap.304
Posted: Thu Jul 16 09:00:41 1987
Date-Received: Sat, 18-Jul-87 06:40:57 EDT
Sender: fpst@hubcap.UUCP
Lines: 40
Approved: hypercube@hubcap.clemson.edu


In article <270@hubcap.UUCP> fpst@hubcap.UUCP (Dennis Stevenson) writes:
>
>One such 'application' that may be  interesting was  described in the
>April 1987 edition of IEEE Computer.   "Multiprocessing  the Sieve of
>Eratosthenes"  by  S.H.Bokhari.   This  uses a  FLEX-32 shared memory
>machine to implement a novel prime number sieve benchmark.
>


We have implemented the "Seive of Erathosthenes" on the Intel Hypercube as
follows:

The tablet of N numbers is divided evenly amongst the p processors (p can
be any value up to the maximum number of processors in the configuration).
Processor 0 contains the first N/p numbers, 1 contains the next, etc.

Processor zero is in charge and will have all of the SQRT(N) first primes.
Zero finds the prime and before sieving broadcasts the value to all
participating processors. Each processor (including zero) then strikes out
those multiples of the prime which belong to him. Once zero has finished
striking, he finds the next prime and broadcasts it, etc. Each processor
has an equivalent number of numbers and they all seive with the same prime
at the same time. The work is balanced.

Once zero has found the first SQRT(N) primes, seiving is finished and each
processor can search through his subset of numbers and report the primes,
again a perfectly balanced computation.

This code has been implemented in FORTRAN and runs on an iPSC */MX (* = 4,5
or 6).


-- 

Ray Asbury				CSNET: ray@isc.intel.com
Intel Scientific Computers
15201 NW Greenbrier Parkway
Beaverton, Oregon 97006
(503) 629-7641