[SERVER-82690] Investigate performance gains by playing with decoration memory layout Created: 02/Nov/23  Updated: 14/Nov/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-82033 Adapt existing FTDC controller to sha... Closed
Assigned Teams:
Service Arch
Participants:
Linked BF Score: 35

 Description   

In SERVER-82033 we moved the FTDC controller off of the ServiceContext decorations. As a result, we detected a >5% improvement in 95th percentile latencies by accident in some workloads.

Our main hypothesis is that the decoration change shifted the memory layout of other decorations on the ServiceContext. That is to say, it changed the cache line "split point" of the structs coming afterwards. As a result, we removed some false sharing scenarios for metrics and this led to a latency drop.

This ticket is about investigating how much we could gain from playing with the memory layout of decorations. Ideally we should also determine how best to take advantage of this in our codebase.



 Comments   
Comment by Phoebe Du [ 14/Nov/23 ]

Moving this ticket under PM-3384 as it'll be addressed as part of the project.

cc jordi.olivares-provencio@mongodb.com 

Generated at Thu Feb 08 06:50:00 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.