[SERVER-80760] Partition shared state on `ServiceContext` Created: 05/Sep/23 Updated: 24/Jan/24 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Amirsaman Memaripour | Assignee: | Backlog - Service Architecture |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | perf-8.0, perf-tiger, perf-tiger-handoff, perf-tiger-project-candidates | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Service Arch
|
||||
| Sprint: | Service Arch 2023-10-02, Service Arch 2023-10-16, Service Arch 2023-10-30, Service Arch 2023-11-13, Security 2023-09-18 | ||||
| Participants: | |||||
| Description |
|
We maintain several shared data-structures on ServiceContext. In particular, the following are modified as part of constructing and destroying instances of OperationContext:
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). |