PaddleFL icon indicating copy to clipboard operation
PaddleFL copied to clipboard

About using profiler in Paddle_fl(in send\recv op)

Open Thewindrisers opened this issue 3 years ago • 1 comments

尊敬的开发人员您好,上个issue[https://github.com/PaddlePaddle/PaddleFL/issues/165]听您了解到:当前profiler的设计是统计计算Kernel的时间,按照我的理解,是不是意思是通信的op统计的时间是传输数据在用户和tcp协议栈内核中的时间?请问client端统计出的send和recv等通信op的时间具体代表的是只包含传输数据在用户和内核态的时间(传输数据到网卡之前,也就是不包括在网络中传输的时间),还是整个的每轮梯度传输更新的通信时间呢? 图片

Thewindrisers avatar Jun 19 '21 02:06 Thewindrisers

我理解send op时间应该为所有包传完的时间,因为使用的是tcp协议,拿到ack才表示传输结束。所以send_barrier的时候,参数包应该已经传完了。

同理fetch的时候,在fetch_barrier前,要确保所有参数都接收完成,这里应该包含等待时间+传输时间的。

这个我也不是完全确定,建议在Paddle主框架再确定下profiler的统计范围。

qjing666 avatar Jun 22 '21 03:06 qjing666