Skip to content
Snippets Groups Projects

Implemented feature to group processes according to common hostnames

Merged Ghost User requested to merge Group_By_Hostname_Feature into main

Implemented feature to group processes according to common hostnames

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • assigned to @mueller24

  • Author Contributor

    After checking the mapWithBisection algorithm, I am pretty sure it does not match with the picture you drew in the wiki. The algorithm is a round robin where (sticking with your 16 ranks example) rank 0 will be paired to ranks 15,8,9,10,...,14. Rank 1 to 14,15,8,9,... It is unclear where rank 0 is, but none of the ranks show this round robin behaviour. How did you get to the matching in your picture? Did you use DEBUG_PRINT_COMMUNICATION_SCHEME?

    I would also argue that it is unclear how those features should interact, I would say they shouldn't be used together right now, for the sake of clarity. So my suggestion is that I prohibit use of bisection + groupByHostname before merging.

  • Author Contributor

    How is it not a round robin?

    Let us map processes to ranks:

    Red     0 ->  0
    Red     1 ->  1
    Red     2 ->  2
    Red     3 ->  3
    Green   0 ->  4
    Green   1 ->  5
    Green   2 ->  6
    Green   3 ->  7
    Blue    0 ->  8
    Blue    1 ->  9
    Blue    2 -> 10
    Blue    3 -> 11
    Magenta 0 -> 12
    Magenta 1 -> 13
    Magenta 2 -> 14
    Magenta 3 -> 15

    Let us map connection colors to steps:

    1 -> Black
    2 -> red
    3 -> dark green
    4 -> blue
    5 -> magenta
    6 -> cyan
    7 -> yellow
    8 -> green

    With this mapping the processes connect to partners in the following order:

    0 -> 15, 8, 9,10,11,12,13,14
    1 -> 14,15, 8, 9,10,11,12,13
    ...

    Is this not what you describe?

    If you want to see how I made the picture open it in a text editor. I have included the python script to generate the paths at the top.

    Edited by Ghost User
  • Author Contributor

    Why would you prohibit using the features working together? They work together as intended. If you combine bisection with hostname grouping then hostname groups are split into bisecting halves. These are iterated through. While testing between one-group and another all possible pair-iterations are iterated over, although not all possible permutations (which are partially covered by randomization if n is not too large. I made sure that all these features would work together.

  • Author Contributor

    The question is, what is "the intention" nobody ever requested this feature. (Group + Bisection). You implemented it so that it would work together, but few thoughts were spent on how it should work. What is the use case and what do we want to measure with it? If that is defined we can decide if our implementation is suitable or not.

    Thanks for the clarification on the mapping, I tried to map ranks around the clock, which did not work, that's why I thought this can't be correct. But with your provided mapping it seems to fit my expectations. It's a bit odd maybe that we start counting clockwise and then jump back to green counterclockwise, but ok.

    I think the best is to merge this as is. Users who request both bisection and grouping should know what they want. And I will enhance the documentation in terms of 1-factor vs round-robin matching and the resulting effects.

    Edited by Ghost User
  • Ghost User approved this merge request

    approved this merge request

  • A deleted user merged

    merged

  • Author Contributor

    Yes, you are right regarding the intention. I gave little thought to it. I have implemented it such that bisection would behave the same as for individual processes as for groups of processes. I thought this made the most sense, but I agree that no one asked for this feature. I just found it odd to make the grouping-according-to-hostname and bisection features exclusive. Thanks for merging.

Please register or sign in to reply
Loading