Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: New intel 64 bit ?

Author: Robert Hyatt

Date: 19:56:23 07/12/03

Go up one level in this thread


On July 12, 2003 at 15:17:16, Vincent Diepeveen wrote:

>On July 11, 2003 at 13:02:12, Robert Hyatt wrote:
>
>>On July 11, 2003 at 06:26:12, Vincent Diepeveen wrote:
>>
>>>On July 10, 2003 at 16:50:45, Robert Hyatt wrote:
>>>
>>>Pingpong does *not* need a processor to get wakened up. Don't know which OS you
>>>use that might be doing that, but the ping pong for MPI when properly
>>>implemented does *not* wake up processes at all.
>>
>>Vincent that just shows how _little_ you understand about what is going
>>on.  When you send a packet to a remote machine, _something_ has to read
>>that packet.  That _something_ is a process, and it is blocked until the
>>packet arrives.
>>
>>That's why my ping-pong test is done differently.
>
>Then you still haven't got a clue what MPI is Bob.

That's pretty funny.  I _teach_ it.  Look up the name Anthony Sjkellum.
Ever heard of him?  He is our new department chair.  He also owns the
company that develops MPI.

One of us doesn't have a clue, but it isn't _me_.

MPI is _not_ a communication protocol.  It _is_ a set of library routines that
provide a common API for homogeneous clusters of all types.  The underlying
communication protocol is _not_ part of MPI.  It is an _implementation detail_
of a specific hardware port of the MPI API.

Don't know what _you_ think MPI is, but that is what it _really_ is.


>
>You really guess that all those researchers at the supercomputers/clusters they
>work at are working using a latency of 10ms, which is the wakeup time of a
>process, whereas you can get the MPI one way pingpong latencies for all those
>machines that are latency based (so that's the non-vector machines) and they are
>expresses in microseconds usually rather than milliseconds :)
>
>You really guess those researchers are completely idiots to use the MPI because
>it has latencies more than a 1000 times slower than it actually delivers?

MPI has no latency.  The implementation does.  MPI and PVM, for example, can
produce the _same_ latency on the same hardware.  Because neither MPI nor PVM
(nor OpenMP) are _protocols_.  They are simply APIs.

Get on the right terminology.


>
>>>
>>>I hope you will understand that. If pingpong would wait for a process to wake up
>>>it would run at 10 ms because a process can wake up at most 100 times a second
>>>in linux (and all *nix flavours) as the scheduler runs 100Hz.
>>
>>That is _incorrect_.
>>
>>Unix (Linux in particular) will only context switch every 10ms or so, to
>>control context switching overhead.  But if _nothing_ is ready to run, and
>>a process unblocks, it does _not_ wait another 10ms before running.  It
>>runs _right now_.
>>
>>
>>>
>>>If you do not care for the pingpong test then you obviously do not care for
>>>chessprograms as well. Because if you need a hashtable entry you definitely need
>>>that latency test to measure.
>>
>>No, I just run the ping pong test _correctly_ to see what the real latency
>>of the hardware is.  Software/scheduling latency is _another_ issue that may
>>or may not affect a chess program.  IE I don't do blocking I/O so I don't
>>have to get "woken up" ever.
>>
>>>
>>>Note that all HPC professors do include pingpong in the first tests they use to
>>>measure supercomputers/clusters.
>>>
>>>In fact out of the x cluster/supercomputer dudes i asked after pingpong test i
>>>got within a second answer out of all of them. For them the pingpong test *is*
>>>very relevant.
>>
>>It is relevant.  How it is done is _also_ relevant.
>>
>>If you measure latency as you are doing, you will get different answers on
>>different systems.  Windows and Linux are different and you are measuring
>>both software _and_ hardware latency with your method.  Same problem if you
>>compare windows to solaris, or IRIX, or any other unix variant (or non-unix
>>if you want.)
>>
>>My latency measure answers the following question:
>>
>>"How long does it take me to send a packet to the remote machine and have
>>it receive it?"  Independent of the Operating System.  Independent of the
>>application.  Just "what can the hardware do best-case?"
>>
>>I know _that_ number precisely.  And if I want to write a chess program that
>>uses that hardware, and I want _that_ latency, I can certainly get it by doing
>>my own direct hardware interface.  If I want to be more portable, and absorb
>>some O/S latency on top of the hardware latency, I'll do it a different way.
>>
>>However, I _have_ been using the term "hardware latency" and I have most
>>certainly measured it very precisely.  And if you'd like to see me bounce
>>a packet back and forth in just over a usec, I'll be happy to do so.
>>
>>Whether you can do it or not is irrelevant, of course.
>>
>>Because I didn't say _you_ could do it.  I said _I_ had _done_ it.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.