Author: Vincent Diepeveen
Date: 12:17:16 07/12/03
Go up one level in this thread
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. 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? >> >>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.