Janus Dam Nielsen <[EMAIL PROTECTED]> writes:

Hi Janus

> That is great news!
>
>> As expected, the time per multiplication stayed constant when I
>> varied the number of multiplications -- with the parallel scheduling
>> there is a huge difference between doing 100 and doing 1000
>> multiplications (a factor of four in a test I did).
>
> Do you have any idea about why there is a factor of four?

No, I'm afraid that I can only guess... This is the table I was able to
make some days ago for parallel multiplications:

  +-----------------+--------------+
  | Number of muls  | Time per mul |
  +-----------------+--------------+
  | 100             | 16.6 ms      |
  +-----------------+--------------+
  | 500             |  6.8 ms      |
  +-----------------+--------------+
  | 1000            |  4.0 ms      |
  +-----------------+--------------+
  | 3000            |  2.9 ms      |
  +-----------------+--------------+

When I tested sequential multiplications I got timings of 190 ms per
multiplication. When I do a traceroute from viff.dk to the computer in
Norway, it also measures a round trip time of ~190 ms (14 hops).

In theory, I would expect the parallel multiplications to take at least
190 ms and when the CPU fully loaded and the bandwidth exhausted, the
time should increase linearly. Something like this (in my poor ASCII art
skills):

      ^
      |        _-
      |      _-
      |    _-
  190 |----
      |
      +----------->
           ^
       full load

The average time per multiplication would then of course drop quickly
until the full load point, and from there on it should grow/fall until
it stabilizes on the true average.

This is just my expectation, I have not done enough tests to really
confirm it yet. (Testing is takes a lot of time and somewhat boring :-)

With the latest changes in the code I'm seeing more fluctuations in the
test results -- I don't know why that is. The slowest host is viff.dk
and it is normally twice as slow as the other two machines. I've just
tried running benchmark.py with 1000 multiplications:

  camel25:     1.165 ms
  viff.dk:     3.196 ms
  serengeti12: 1.364 ms

When I ran a similar test with 1000 multiplications using the old
multiply_benchmark.py a week ago, I got numbers like this:

  thyra03:     3.188 ms
  viff.dk:     3.357 ms
  serengeti12: 3.818 ms

These numbers are much more similar. I'll have to look into why the new
test gives different timings for the different players.

--
Martin Geisler
_______________________________________________
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to