Print

Print


Hi, Fabrizio,

> Is this your problem, i.e. that you have no points where to put your
> "fast disconnection request" at the client side when the app simply exits ?
yes, this is exactly the problem. I want to touch as little code as possible, 
for obvious reasons :-)

Cheers,
Ulrich

>
>
>
> Fabrizio
>
> Ulrich Schwickerath wrote:
> > Hi, Fabrizio,
> >
> > thank's a lot for the fast answer!
> >
> >>  Re-looking at your log I don't understand the problem. xrdcp is
> >>supposed to exit after having closed the file, so the connection is
> >>closed and the server notices this because there are no more bytes to
> >>read from the connection. Do I miss something?
> >
> > Well, I'm using native InfiniBand. Basically, what you have is a pair of
> > connected send and receive queue on both sides. If you want to send
> > something, you post a send request on the sender side. The receiver, on
> > the other hand, posts a receive request (containing the adress of the
> > buffer where the data should go), and then  polls the receive queue. If
> > some data has arrived, it will see a completion event. At that point the
> > data has already arrived. The problem in this case is that if the sender
> > does not send anything, the receiver will poll the receive queue until
> > the time out is reached, and that is exactly what happens. My idea was to
> > post a send request with no data attached, so that the receiver will not
> > time out but see no data which would emulate the behavior that is
> > expected.
> >
> >>  Anyway, the newer xrdcp, using the latest client, should avoid
> >>requesting data over the eof, that was one of the latest commits, but it
> >>implements a different schema for data transfers, which now are done
> >>both synchronously and asynchronously (i.e. in parallel, while the
> >>application "thinks"). The problem is that this stuff is in the head.
> >>Here it works, so if you are adventurous you can test it and report here
> >>if you have troubles.
> >
> > I started with 20050413-0433, so I'll update to the new version that just
> > came in :-)
> >
> > Thank's a lot!
> > Ulrich
> >
> >>Ulrich Schwickerath wrote:
> >>>Hi,
> >>>
> >>>I (finally) found a bit of time to work on a
> >>>port of Xrootd to (native) InfiniBand, and a
> >>>proof-of-concept version is now sort of working, meaning
> >>>that I can now transfer files with xrdcp. If possible, I would
> >>>like to show first results with this version at the ACAT05
> >>>conference in Berlin in about 3 weeks from now.
> >>>I have a few questions to you:
> >>>
> >>>1/ what would be meaningful benchmark for xrootd ?
> >>>   For the moment, I'm only using point-to-point transfers
> >>>   (remote read to /dev/null, mainly) which is a bit boring ...
> >>>
> >>>2/ Is there a ready-to-use test suite that can/should be used ?
> >>>
> >>>3/ I still have one problem with xrdcp. For the client I have added
> >>>a few lines of code in the XrdClientPhyConnection.cc which
> >>>initializes my InfiniBand connection, and bypasses the recv/write
> >>>calls. Everything works fine until the end. The Server log looks
> >>>like this:
> >>>050501 21:36:41 5282 schwicke.17140:12@iwrcgop027 XrootdProtocol: 0000
> >>>req=3003 dlen=0
> >>>050501 21:36:41 5282 schwicke.17140:12@iwrcgop027 XrootdFile: closing
> >>>r /tmp/testfile.dat
> >>>050501 21:36:41 5282 schwicke.17140:12@iwrcgop027 XrootdProtocol: 0000
> >>>close fh=0
> >>>050501 21:36:41 5282 schwicke.17140:12@iwrcgop027 XrootdResponse: 0000
> >>>sending OK
> >>>050501 21:36:44 5282 XrootdXeq: schwicke.17140:12@iwrcgop027 disc
> >>> 0:04:24 (link read error)
> >>>050501 21:36:44 5282 schwicke.17140:12@iwrcgop027 XrdPoll: sending
> >>> poller 0 detach for link 12
> >>>050501 21:36:44 5282 XrdPoll: Poller 0 detached fd 12 entry 1 now at 1
> >>>050501 21:36:44 5282 schwicke.17140:12@iwrcgop027 XrdPoll: FD 12
> >>> detached from poller 0; num=0
> >>>For TCP/IP I see that the last recv request succeeds in the poll
> >>>command but ends with zero bytes of data, resulting in a ENOMSG return
> >>>code. For InfiniBand, this call simply times out, giving the above
> >>>link read error. A workaround would be to send a zero size message over
> >>>the InfiniBand link just before the connection is closed for good. I
> >>>tried to do that inside the XrdClientPhyConnection destructor, but that
> >>>one is never called in xrdcp. A side effect of this is that the
> >>> resources used by the InfiniBand connection need to be cleaned up and
> >>> freed by the driver resource tracking mechanisms. Where should this be
> >>> done instead?
> >>>
> >>>
> >>>Thank's a lot in advance,
> >>>Ulrich

-- 
__________________________________________
Dr. Ulrich Schwickerath
Forschungszentrum Karlsruhe
GRID-Computing and e-Science
Institut for Scientific Computing (IWR)
P.O. Box 36 40
76021 Karlsruhe, Germany

Tel: +49(7247)82-8607
Fax: +49(7247)82-4972 

e-mail: [log in to unmask]
PGP DH/DSS Key: ID 0xCEB9826F
Fingerprint: 5537 8473 CD26 507E 8EE2  BAAF 98E2 FD16 CEB9 826F
__________________________________________