Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!hubcap!pase From: pase@ogcvax.UUCP (Douglas M. Pase) Newsgroups: comp.hypercube Subject: Re: How to time on the NCUBE? Message-ID: <759@hubcap.UUCP> Date: Tue, 24-Nov-87 07:52:04 EST Article-I.D.: hubcap.759 Posted: Tue Nov 24 07:52:04 1987 Date-Received: Fri, 27-Nov-87 22:10:26 EST Sender: fpst@hubcap.UUCP Lines: 32 Approved: hypercube@hubcap.clemson.edu In article lls@mimsy.UUCP (Lauren L. Smith) writes: >1) How does one time on the host? [...] > >2) I am using the ntime() function on each node. This at least gives me >clock ticks and lets me measure the amount of time spent on each node - [...] (We do not have an NCUBE, but these are general techniques.) Since you do have a clock on each node which is sufficiently accurate, one thing you can do is synchronize the beginning and ending of the computation on a root node and do the timing there. Synchronization for the start consists of a collect followed by a broadcast. Collect is the equivalent of each node telling the root that it is ready to compute. Broadcast is the equivalent of a starter's pistol, or a begin signal. A collect is the last step prior to stopping the clock, and signals the root each node has finished. Both the broadcast and the collect should communicate only through node-to-node links over a minimum-height spanning tree. Any other approach could cause race conditions, depending on the exact nature of the routine. The cost of the synchronization is twice the time it takes to send a small message across the diameter of the cube. This should be small compared to the computation or your timings won't mean much anyway. I'm trying to strike a balance between being too terse and too obvious so I'll stop here. If you want a more detailed explanation I'd be happy to give it, along with code for broadcast and collect, plus an example or two. If enough people are interested I'll post it. -- Doug Pase -- ...ucbvax!tektronix!ogcvax!pase or pase@cse.ogc.edu.csnet