On Jan 11, 2007, at 2:51 PM, Julian Martin Kunkel wrote:

Hi,

These results are quite interesting and the possible throughput you get with
IB is amazing.

Do you mean Pete's IB 4x numbers or my MX-10G numbers? Or both?

However, I think you get into trouble to find the bottleneck of the operation and the reason for the observed gaps due to the complexity of the software
stack.

Maybe you could benefit from using TAS instead of DBPF so that you could avoid network activity at all. (Also you might use only one buffer to already fill
the network).

I am not sure that I follow you here. Ideally, I only want to measure network activity and PVFS2 overhead. I would prefer to avoid measuring disk activity but these old nodes do not have enough memory to use ramfs well.

My MX-10G results are from newer nodes that have enough memory to use ramfs effectively. I can't keep them tied up for bmi_mx development as long as I can these older nodes. :-)

On the other hand you could use the pvfs2-hint-branch which provides you with better MPE logging on the server side, we have some tools to convert and merge client and pvfs2-server logs and show the results. I could upgrade the current pvfs2-hint-branch with your patches (which is currently somewhere at release 2.5). The reason we need parts of the advanced logging is that logs have a problem on the server side if multiple start events occur before the
end events happen, for example if you use multiple flow streams.

@Scott
I have seen you solved it by using events and wonder which tool you have used
to create states out of the events.
You said you have problems with the MPE log on the server, maybe we could help
you if you give details ?

Best regards,
Julian

I am using MPE. Since I am not using MPI, I compile mpich2 with CLFAGS="-DCLOG_NOMPI". I then add "-lmpe_nompi" to my LIBS and the path to mpich2 to my LDFLAGS.

In my initialization function, I have:

#if BMX_LOGGING
        MPE_Init_log();
        send_start              = MPE_Log_get_event_number();
        send_finish             = MPE_Log_get_event_number();
        recv_start              = MPE_Log_get_event_number();
        recv_finish             = MPE_Log_get_event_number();
        sendunex_start          = MPE_Log_get_event_number();
        sendunex_finish         = MPE_Log_get_event_number();
        recvunex_start          = MPE_Log_get_event_number();
        recvunex_finish         = MPE_Log_get_event_number();
        MPE_Describe_state(send_start, send_finish, "Send", "red");
        MPE_Describe_state(recv_start, recv_finish, "Recv", "blue");
MPE_Describe_state(sendunex_start, sendunex_finish, "SendUnex", "orange"); MPE_Describe_state(recvunex_start, recvunex_finish, "RecvUnex", "green");
#endif

I then insert MPE_Log_event() in my functions that send, recv and complete messages.

I can now get server logs. My SERVER_LDFLAGS were wrong. Also, on the server, I had to specify an absolute path (I did not on the client).

I would be interested in merging the logs if you can provide some tools or insight.

Thanks,

Scott
_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to