Hello,

Is there anybody using/testing the bfo PML - especially with messages > eager 
limit?

Tests using messages > eager limit with the bfo PML seem to deadlock in Open 
MPI 1.6.5 as soon as one of two infiniband connections gets lost (tested by 
disconnecting wire).
I did not have an opportunity to test 1.8/trunk up to now.

Tests were executed with the following mpirun options:

mpirun -np 2 --hostfile /opt/ddt/nodes --pernode --mca pml bfo --mca 
btl_base_exclude tcp --mca pml bfo --mca btl_openib_port_error_failover 1 --mca 
btl_openib_failover_enabled 1 --mca btl_openib_port_error_failover 1 --verbose 
--mca oob_tcp_verbose 100 --mca btl_openib_verbose_failover 100 --mca 
btl_openib_verbose 100 --mca btl_base_verbose 100 --mca bml_base_verbose 100 
--mca pml_bfo_verbose 100 --mca pml_base_verbose 100 --mca opal_progress_debug 
100 --mca orte_debug_verbose 100 --mca pml_v_verbose 100 --mca 
orte_base_help_aggregate 0

Some log output is attached below.

I would appreciate any feedback concerning current status of the bfo PML as 
well as ideas how to debug and where to search for the problem inside the Open 
MPI code base.


Best regards
Christoph Niethammer

--

Christoph Niethammer
High Performance Computing Center Stuttgart (HLRS)
Nobelstrasse 19
70569 Stuttgart

Tel: ++49(0)711-685-87203
email: nietham...@hlrs.de
http://www.hlrs.de/people/niethammer






[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm1:16449] Rank 0 receiving ...
[vm2:21970] [[22205,0],0] got show_help from [[22205,1],0]
--------------------------------------------------------------------------
The OpenFabrics stack has reported a network error event.  Open MPI
will try to continue, but your job may end up failing.

  Local host:        vm1
  MPI process PID:   16449
  Error number:      10 (IBV_EVENT_PORT_ERR)

This error may indicate connectivity problems within the fabric;
please contact your system administrator.
--------------------------------------------------------------------------
[vm1][[22205,1],0][btl_openib.c:1350:mca_btl_openib_prepare_dst] 
frag->sg_entry.lkey = 1829372025 .addr = 1e1bee0 frag->segment.seg_key.key32[0] 
= 1829372025
[vm1][[22205,1],0][btl_openib.c:1350:mca_btl_openib_prepare_dst] 
frag->sg_entry.lkey = 1829372025 .addr = 1e28230 frag->segment.seg_key.key32[0] 
= 1829372025
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm1:16449]  Bandwidth [MB/s]: 594.353640
[vm1:16449] Rank 0: loop: 1100
[vm1:16449] Rank 0 sending ...
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm1][[22205,1],0][btl_openib_failover.c:696:mca_btl_openib_endpoint_notify] 
[vm1:16449] BTL openib error: rank=0 mapping out lid=2:name=mthca0 to rank=1 on 
node=vm2 [vm1:16449] IB: Finished checking for pending_frags, total moved=0
[vm1:16449] IB: Finished checking for pending_frags, total moved=0
Error sending BROKEN CONNECTION buffer (Success)
[[22205,1],1][btl_openib_component.c:3496:handle_wc] from vm2 to: 192 error 
polling LP CQ with status RETRY EXCEEDED ERROR status number 12 for wr_id 
bdba80 opcode 1  vendor error 129 qp_idx 0
[vm2:21970] [[22205,0],0] got show_help from [[22205,1],1]
--------------------------------------------------------------------------
The InfiniBand retry count between two MPI processes has been
exceeded.  "Retry count" is defined in the InfiniBand spec 1.2
(section 12.7.38):

    The total number of times that the sender wishes the receiver to
    retry timeout, packet sequence, etc. errors before posting a
    completion error.

This error typically means that there is something awry within the
InfiniBand fabric itself.  You should note the hosts on which this
error has occurred; it has been observed that rebooting or removing a
particular host from the job can sometimes resolve this issue.

Two MCA parameters can be used to control Open MPI's behavior with
respect to the retry count:

* btl_openib_ib_retry_count - The number of times the sender will
  attempt to retry (defaulted to 7, the maximum value).
* btl_openib_ib_timeout - The local ACK timeout parameter (defaulted
  to 20).  The actual timeout value used is calculated as:

     4.096 microseconds * (2^btl_openib_ib_timeout)

  See the InfiniBand spec 1.2 (section 12.7.34) for more details.

Below is some information about the host that raised the error and the
peer to which it was connected:

  Local host:   vm2
  Local device: mthca0
  Peer host:    192

You may need to consult with your system administrator to get this
problem fixed.
--------------------------------------------------------------------------
[vm2:21982] MCA_BTL_OPENIG_FRAG=5, dropping since connection is broken 
(des=bdba80)
[[22205,1],1][btl_openib_component.c:3496:handle_wc] from vm2 to: 192 error 
polling HP CQ with status WORK REQUEST FLUSHED ERROR status number 5 for wr_id 
c56380 opcode 1  vendor error 244 qp_idx 0
[vm2:21982] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=c56380)
[vm2:21982] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=c56200)
[vm2:21982] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=c56080)
[vm2:21982] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=c55f00)

...

[vm2:21982] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=c74a00)
[vm2:21970] defining message event: iof_hnp_receive.c 227
[[22205,1],0][btl_openib_component.c:3496:handle_wc] from vm1 to: vm2 error 
polling LP CQ with status RETRY EXCEEDED ERROR status number 12 for wr_id 
1dbe980 opcode 0  vendor error 129 qp_idx 0
[vm2:21970] [[22205,0],0] got show_help from [[22205,1],0]
--------------------------------------------------------------------------
The InfiniBand retry count between two MPI processes has been
exceeded.  "Retry count" is defined in the InfiniBand spec 1.2
(section 12.7.38):

    The total number of times that the sender wishes the receiver to
    retry timeout, packet sequence, etc. errors before posting a
    completion error.

This error typically means that there is something awry within the
InfiniBand fabric itself.  You should note the hosts on which this
error has occurred; it has been observed that rebooting or removing a
particular host from the job can sometimes resolve this issue.

Two MCA parameters can be used to control Open MPI's behavior with
respect to the retry count:

* btl_openib_ib_retry_count - The number of times the sender will
  attempt to retry (defaulted to 7, the maximum value).
* btl_openib_ib_timeout - The local ACK timeout parameter (defaulted
  to 20).  The actual timeout value used is calculated as:

     4.096 microseconds * (2^btl_openib_ib_timeout)

  See the InfiniBand spec 1.2 (section 12.7.34) for more details.

Below is some information about the host that raised the error and the
peer to which it was connected:

  Local host:   vm1
  Local device: mthca0
  Peer host:    vm2

You may need to consult with your system administrator to get this
problem fixed.
--------------------------------------------------------------------------
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm2:21970] defining message event: iof_hnp_receive.c 227
[vm1:16449] MCA_BTL_OPENIG_FRAG=5, dropping since connection is broken 
(des=1dbe980)
[vm1:16449] MCA_BTL_OPENIG_FRAG=0, dropping since connection is broken 
(des=1e39880)

Reply via email to