Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-80760

Partition shared state on `ServiceContext`

    • Service Arch
    • Service Arch 2023-10-02, Service Arch 2023-10-16, Service Arch 2023-10-30, Service Arch 2023-11-13, Security 2023-09-18

      We maintain several shared data-structures on ServiceContext. In particular, the following are modified as part of constructing and destroying instances of OperationContext:

      • The unordered map that maps operation ids to clients, and a mutex that synchronizes accesses to this data structure.
      • The registry that allows checking out unique operation ids.

      Sharing these across many cores result in frequent cache-line evictions and performance regressions (see PERF-4626 for detailed analysis and a PoC that measures potential gains from partitioning these structures).

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            amirsaman.memaripour@mongodb.com Amirsaman Memaripour
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: