Jeff,

I think you will have to revert this patch as the btl_bandwidth __IS__ supposed 
to be in Mbs and not MBs. We usually talk about networks in Mbs (there is a 
pattern in Ethernet 1G/10G, Myricom 10G). In addition the original design of 
the multi-rail was based on this assumption, and the multi-rail handling code 
deal with these values (at that level I don't think it really matters, but at 
least it needs consistent values from all BTLs).

However, going over the existing BTLs I can see that some BTLs do not correctly 
set this value:

BTL     Bandwidth        Auto-detect     Status
Elan    2000                NO           Correct
GM      250                 NO           Doubtful
MX      2000/10000          YES (Mbs)    Correct (before the patch)
OFUD    800                 NO           Doubtful
OpenIB  2000/4000/8000      YES (Mbs)    Correct (multiplied by the 
active_width)
Portals 1000                NO           Doubtful
SCTP    100                 NO           Conservative value (correct)
Self    100                 XXX          Correct (doesn't matter anyway)
SM      9000                NO           Correct
TCP     100                 NO           Conservative value (correct)
UDAPL   225                 NO           Incorrect

Some of these BTL values do not make sense, neither in Mbs or MBs. Here is a 
list of such BTLs: OFUD, Portals, UDAPL. If the corresponding developers can 
provide the default bandwidth (in Mbs) I will update their values.

For SCTP, TCP I don't know how to detect it reliably in a portable way, so I 
expect to let them set to this very conservative value. Moreover, the BTL TCP 
is only used for multi-rail if the available high performance network allows 
it, so it doesn't really matter.

  george.

On Sep 3, 2010, at 08:03 , Jeff Squyres wrote:

> Thanks; committed in r23712.
> 
> Can you file CMRs for 1.4 and 1.5?  Thanks.
> 
> 
> On Sep 3, 2010, at 3:53 AM, Brice Goglin wrote:
> 
>> For some reason, the MX btl sets btl_bandwidth in megabits/s instead of
>> megabytes/s. So we get crazy btl_weights in case of heterogeneous
>> multirail. And --mca btl_mx_bandwidth <width> cannot work around the
>> problem (it probably doesn't help because it's overriden by the runtime
>> link width detection anyway?).
>> 
>> Signed-off-by: Brice Goglin <brice.gog...@inria.fr>
>> 
>> Index: ompi/mca/btl/mx/btl_mx_component.c
>> ===================================================================
>> --- ompi/mca/btl/mx/btl_mx_component.c       (révision 23711)
>> +++ ompi/mca/btl/mx/btl_mx_component.c       (copie de travail)
>> @@ -159,7 +159,7 @@
>>                                         MCA_BTL_FLAGS_PUT |
>>                                         MCA_BTL_FLAGS_SEND |
>>                                         MCA_BTL_FLAGS_RDMA_MATCHED);
>> -    mca_btl_mx_module.super.btl_bandwidth = 2000;
>> +    mca_btl_mx_module.super.btl_bandwidth = 250;
>>    mca_btl_mx_module.super.btl_latency = 5;
>>    mca_btl_base_param_register(&mca_btl_mx_component.super.btl_version,
>>                                &mca_btl_mx_module.super);
>> @@ -357,7 +357,7 @@
>>    mx_btl->mx_endpoint = mx_endpoint;
>>    mx_btl->mx_endpoint_addr = mx_endpoint_addr;
>> 
>> -    mx_btl->super.btl_bandwidth = 2000;  /* whatever */
>> +    mx_btl->super.btl_bandwidth = 250;  /* whatever */
>>    mx_btl->super.btl_latency = 10;
>> #if defined(MX_HAS_NET_TYPE)
>>    {
>> @@ -370,11 +370,11 @@
>>        } else {
>>            if( MX_SPEED_2G == value ) {
>>                mx_unique_network_id |= 0xaa000000;
>> -                mx_btl->super.btl_bandwidth = 2000;
>> +                mx_btl->super.btl_bandwidth = 250;
>>                mx_btl->super.btl_latency = 5;
>>            } else if( MX_SPEED_10G == value ) {
>>                mx_unique_network_id |= 0xbb000000;
>> -                mx_btl->super.btl_bandwidth = 10000;
>> +                mx_btl->super.btl_bandwidth = 1250;
>>                mx_btl->super.btl_latency = 3;
>>            } else {
>>                mx_unique_network_id |= 0xcc000000;
>> 
>> 
>> <fix_btl_bandwidths.patch>_______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to