Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-5596

Make memory allocation with NUMA enabled multi-threaded

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: Not 8.0, 5.6.43-84.3, 5.7.25-28
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Currently, memory allocation is done on a single thread.

      err = buf_pool_init(srv_buf_pool_size, static_cast<bool>(srv_numa_interleave),
                          srv_buf_pool_instances);
      
      
      buf_pool_init(
      /*==========*/
          ulint    total_size,    /*!< in: size of the total pool in bytes */
          bool    populate,    /*!< in: virtual page preallocation */
          ulint    n_instances)    /*!< in: number of instances */
      {
      

      The suggestion is to create threads for memory allocation based on the number of NUMA sockets to improve performance.

        Smart Checklist

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  vinicius.grippa Vinicius Grippa
                  Reporter:
                  vinicius.grippa Vinicius Grippa
                • Votes:
                  3 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated: