George,

first i'd like to amend my initial message.
i previously wrote the same algo is used to parse rules per communicator size and per message size. this is true, but i missed the part where it is mandatory to define a rule for zero size message. consequently, a given message is either in an interval or its size is more or equal the size of the last rule for a given communicator.

there is no such thing for communicator size.
for example, if the config file is
comm size 4 => rules A
comm size 8 => rules B
communicators of size 2, 4 and 6 will all use rule A.
this is very intuitive for comm size 4 and 6, but at first glance, comm size 2 is in a grey area.

an other option would be to force the rule file to have a rule for communicators of size 0 (or 1 or two).

bottom line, the rules must be sorted by comm size and message size by design, and that looks fair to me. however, there is a grey area for small communicators and i think it should be cleared.

Cheers,

Gilles

On 5/21/2015 1:04 AM, George Bosilca wrote:
Each rule define an interval with the previous rule, and everything in an interval will be bound the the rule with the next message size. You cannot define a rule for a specific amount. Thus, the fact that the rules must be ordered by message size was done by design.

Returning a NULL rule as suggested by Howard is even more confusing as with this approach you don't even know what is used (as it will automatically fall back to the default decision).

  George.


On Tue, May 19, 2015 at 11:57 PM, Howard Pritchard <hpprit...@gmail.com <mailto:hpprit...@gmail.com>> wrote:

    HI Gilles,

    First a disclaimer - I do not know what the intended design was
    nor where the design document
    for this feature is located.

    However, I would certainly prefer that if the communicator size
    wasn't specifically specified
    in the rule file, a fall back do-no-harm algorithm would be selected.

    Following the KISS principal I would go with 2) returning a NULL
    rule when
    there is no matching size in the rule file for the communicator in
    question.

    Howard


    2015-05-19 20:05 GMT-06:00 Gilles Gouaillardet <gil...@rist.or.jp
    <mailto:gil...@rist.or.jp>>:

        Folks,

        this is a follow-up of a discussion on the user ML started at
        http://www.open-mpi.org/community/lists/users/2015/05/26882.php

        1) it turns out the dynamic rule filename must be "sorted" :
        - rules must be sorted by communicator size
        - within a given communicator size, rules must be sorted by
        message size

        if not, some rules are silently skipped, which is counter
        intuitive imho.


        2) the algo picks the rule with the higher communicator size
        less or equal than the current communicator size (same thing
        for message size).
        The exception is if there are no such rule, the first rule is
        selected.
        for example, if the config file has rules for comm size 4, 8
        and 16
        comm size 4 => pick rule for comm size 4
        comm size 5 => pick rule for comm 4
        comm size 8 => pick rule for comm 8
        *but*
        comm size 2 => pick rule for comm size 4 (!)
        imho, this is also counter intuitive.
        i would have expected no rule is picked and the default
        behaviour is used.

        Same thing applies for message sizes.

        Is this the intended design ?

        1) can be solved by inserting some qsort calls after parsing
        the config file.
        2) can be solved by returning a NULL rule instead of the first
        rule ( or by automatically inserting a rule for comm size 0
        (and message size 0) if no such rule is present in the config
        file).

        any thoughts ?

        Cheers,

        Gilles
        _______________________________________________
        devel mailing list
        de...@open-mpi.org <mailto:de...@open-mpi.org>
        Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
        Link to this post:
        http://www.open-mpi.org/community/lists/devel/2015/05/17425.php



    _______________________________________________
    devel mailing list
    de...@open-mpi.org <mailto:de...@open-mpi.org>
    Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
    Link to this post:
    http://www.open-mpi.org/community/lists/devel/2015/05/17426.php




_______________________________________________
devel mailing list
de...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
Link to this post: 
http://www.open-mpi.org/community/lists/devel/2015/05/17433.php

Reply via email to