Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5774

Enable numa interleaving by default when required conditions are met

Details

    • Task
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • None
    • None

    Description

      It would be a good thing to have numa-interleave enabled "automatically" if these conditions are met :

      • The server is running with more than one physical CPU on a NUMA architecture without NUMA interleaving enabled on bios
      • The server is running on Linux
      • The numactl tool is present on the system
      • innodb-buffer-pool-size > memory/physicalCPUcount
        (the latter could be optional)

      In that case, there would be parameters for --numa-interleave such as true|false|auto to keep it simple if one want to force it either way.

      On another hand, throwing a warning in case the interleaving wouldnt be activated but (innodb-buffer-pool-size > memory/physicalCPUcount) and innodb_buffer_pool_instances wouldnt be set (with a value of 1) could be a good thing.

      Attachments

        Issue Links

          Activity

            jb-boin Jean Weisbuch created issue -
            jb-boin Jean Weisbuch made changes -
            Field Original Value New Value
            jb-boin Jean Weisbuch made changes -
            Description For now (using Debian packages at least), if you want to run _mysqld_ with numa interleaving, you need to manually modify the init script (MDEV-5507) to execute _mysqld_safe_ with the --numa-interleave option (or prefix the call of mysqld manually with numactl).

            It would be a good thing to have numa-interleave enabled "automatically" if these conditions are met :
            - The server is running with more than one physical CPU on a NUMA architecture without NUMA interleaving enabled on bios
            - The server is running on Linux
            - The numactl tool is present on the system
            - _innodb-buffer-pool-size_ > memory/physicalCPUcount
            (the latter could be optional)

            In that case, there would be parameters for _--numa-interleave_ such as _true|false|auto_ to keep it simple if one want to force it either way.

            On another hand, throwing a warning in case the interleaving wouldnt be used but (_innodb-buffer-pool-size_ > memory/physicalCPUcount) and innodb_buffer_pool_instances wouldnt be set oculd be a good thing.
            For now (using Debian packages at least), if you want to run _mysqld_ with numa interleaving, you need to manually modify the init script (MDEV-5507) to execute _mysqld_safe_ with the --numa-interleave option (or prefix the call of mysqld manually with numactl).

            It would be a good thing to have numa-interleave enabled "automatically" if these conditions are met :
            - The server is running with more than one physical CPU on a NUMA architecture without NUMA interleaving enabled on bios
            - The server is running on Linux
            - The numactl tool is present on the system
            - _innodb-buffer-pool-size_ > memory/physicalCPUcount
            (the latter could be optional)

            In that case, there would be parameters for _--numa-interleave_ such as _true|false|auto_ to keep it simple if one want to force it either way.

            On another hand, throwing a warning in case the interleaving wouldnt be used but (_innodb-buffer-pool-size_ > memory/physicalCPUcount) and innodb_buffer_pool_instances wouldnt be set (with a value of 1) could be a good thing.
            jb-boin Jean Weisbuch made changes -
            Description For now (using Debian packages at least), if you want to run _mysqld_ with numa interleaving, you need to manually modify the init script (MDEV-5507) to execute _mysqld_safe_ with the --numa-interleave option (or prefix the call of mysqld manually with numactl).

            It would be a good thing to have numa-interleave enabled "automatically" if these conditions are met :
            - The server is running with more than one physical CPU on a NUMA architecture without NUMA interleaving enabled on bios
            - The server is running on Linux
            - The numactl tool is present on the system
            - _innodb-buffer-pool-size_ > memory/physicalCPUcount
            (the latter could be optional)

            In that case, there would be parameters for _--numa-interleave_ such as _true|false|auto_ to keep it simple if one want to force it either way.

            On another hand, throwing a warning in case the interleaving wouldnt be used but (_innodb-buffer-pool-size_ > memory/physicalCPUcount) and innodb_buffer_pool_instances wouldnt be set (with a value of 1) could be a good thing.
            It would be a good thing to have numa-interleave enabled "automatically" if these conditions are met :
            - The server is running with more than one physical CPU on a NUMA architecture without NUMA interleaving enabled on bios
            - The server is running on Linux
            - The numactl tool is present on the system
            - _innodb-buffer-pool-size_ > memory/physicalCPUcount
            (the latter could be optional)

            In that case, there would be parameters for _--numa-interleave_ such as _true|false|auto_ to keep it simple if one want to force it either way.

            On another hand, throwing a warning in case the interleaving wouldnt be activated but (_innodb-buffer-pool-size_ > memory/physicalCPUcount) and innodb_buffer_pool_instances wouldnt be set (with a value of 1) could be a good thing.
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 35602 ] MariaDB v2 [ 42465 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 42465 ] MariaDB v3 [ 61419 ]
            danblack Daniel Black added a comment -

            Interleaving is a horrible hack. Though it does have some benefits for providing consistency of response time I think a proper NUMA aware MariaDB is required before we consider enabling it by default.

            danblack Daniel Black added a comment - Interleaving is a horrible hack. Though it does have some benefits for providing consistency of response time I think a proper NUMA aware MariaDB is required before we consider enabling it by default.
            danblack Daniel Black made changes -
            danblack Daniel Black made changes -
            brianryberg brianr added a comment -

            Inquiring: How close are we to having a NUMA aware MariaDB (preferably 10.2) on centos7?

            brianryberg brianr added a comment - Inquiring: How close are we to having a NUMA aware MariaDB (preferably 10.2) on centos7?
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 61419 ] MariaDB v4 [ 130203 ]

            People

              Unassigned Unassigned
              jb-boin Jean Weisbuch
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.