Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-4617

Send all chunk-queries to primary copy of the chunk

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: xrootd
    • Labels:
      None

      Description

      We are planning to distribute chunks / replicas across worker nodes such that each node will have a mix of primary copies for some chunks, and backup copies for some chunks. While doing shared scan, we are going to always rely on the primary chunks (e.g., all queries that need a given chunk should be sent to the same machine so that we read that chunks only once on one node). This story involves tweaking xrootd to ensure we don't send chunk-queries to nodes hosting non-primary copies.

        Attachments

          Issue Links

            Activity

            Hide
            abh Andy Hanushevsky added a comment -

            The affinity code has been pushed and tagged v4.3.0a. The czar can now specify resource affinity or it can default via server config. In particular see

            XrdSsiService::Resource::Affinity and the related member "affinity"

            To default and allow the czar to change the default, place this directive in the redirector's config file:

            cms.sched affinitity default

            {none|weak|strong|strict}

            File affinity policy that the redirector should use when selecting a server.

            default the specified affinity is merely a default and a client may select an alternate affinity.

            none files have no affinity and servers should be selected to distribute requests across all servers. This is the default and uses load information if it has been configured.

            weak files have affinity to the longest-lived server however when the location of the file is not known, the client is directed to the first server that declares it has the file. Otherwise, the longest lived server that has the file is always used. Load information is used if it has been configured.

            strong files have affinity to the longest-lived server and when the location of the file is not known, the client is delayed until all locations of the file are known. Only then is the client redirected longest lived server that has the file is always used. Load information is used if it has been configured.

            strict same as strong but load information is never used even when it is available. This guarantees that the longest-lived server is always chosen regardless of its load.

            Show
            abh Andy Hanushevsky added a comment - The affinity code has been pushed and tagged v4.3.0a. The czar can now specify resource affinity or it can default via server config. In particular see XrdSsiService::Resource::Affinity and the related member "affinity" To default and allow the czar to change the default, place this directive in the redirector's config file: cms.sched affinitity default {none|weak|strong|strict} File affinity policy that the redirector should use when selecting a server. default the specified affinity is merely a default and a client may select an alternate affinity. none files have no affinity and servers should be selected to distribute requests across all servers. This is the default and uses load information if it has been configured. weak files have affinity to the longest-lived server however when the location of the file is not known, the client is directed to the first server that declares it has the file. Otherwise, the longest lived server that has the file is always used. Load information is used if it has been configured. strong files have affinity to the longest-lived server and when the location of the file is not known, the client is delayed until all locations of the file are known. Only then is the client redirected longest lived server that has the file is always used. Load information is used if it has been configured. strict same as strong but load information is never used even when it is available. This guarantees that the longest-lived server is always chosen regardless of its load.
            Hide
            abh Andy Hanushevsky added a comment -

            Code tested and pushed to xrdssi branch in the xrootd repo and tagged v4.3.0a

            Show
            abh Andy Hanushevsky added a comment - Code tested and pushed to xrdssi branch in the xrootd repo and tagged v4.3.0a

              People

              • Assignee:
                abh Andy Hanushevsky
                Reporter:
                fritzm Fritz Mueller
                Watchers:
                Andy Hanushevsky, Jacek Becla, John Gates
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel