Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-1622

hash MEs on wildcard portal when it's possible

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.3.0
    • Lustre 2.3.0
    • None
    • 4539

    Description

      In current LNet, MEs on unique portal are hashed into different lists, MEs on wildcard portal are all attached on a single list. This is fine for most use cases, but there is also requirement that user only use one portal for different request types, buffers for different request types are identified by match-bits, LNet selftest is one of this use-case because both ping and BRW tests share SRPC_REQUEST_PORTAL.
      This is normally fine, but it could be a performance issue on server side, for example: if we created a session with bot BRW test and PING test, and we posted a thousand buffers for BRW request, 10 bufferes for PING request, if all these buffers are attached on the single list, searching for PING buffer would be very expensive.

      This can be fixed by hashing MEs on wildcard portal too, but we can't do this for those MEs with "ignore bits" because incoming message will have no idea how to hash their match information w/o knowing "ignore bits" of sink buffer. So we should still attach all MEs with ignore bits on the single list, and always check this list first, no matter it's wildcard portal or unique portal.

      This means if user mixed MEs with "ignore bits" and w/o "ignore bits" on one portal or set "ignore bits" for MEs on unique portal, there still could be performance issue, but they should be deprecated, and we don't have such use-case.

      Attachments

        Activity

          People

            liang Liang Zhen (Inactive)
            liang Liang Zhen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: