[SERVER-21558] Add evergreen variant that uses a single core Created: 19/Nov/15  Updated: 06/Dec/22  Resolved: 19/Nov/21

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Scott Hernandez (Inactive) Assignee: Backlog - Server Tooling and Methods (STM) (Inactive)
Resolution: Won't Fix Votes: 0
Labels: PM424, stm, tig-evgconfig
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Server Tooling & Methods
Sprint: TIG D (12/11/15)
Participants:

 Description   

We can add a variant in Evergreen that runs all processes started by a test (including other MongoDB processes) with affinity for a single processor. This can help to reveal timing dependencies within tests by starving the test of CPU resources.

One option is use the taskset utility within resmoke.py on the processes it spawns. Another option is to use numactl --physcpubind like the perf project does.

Note: The CPU affinity is inherited by child processes.

A child created via fork(2) inherits its parent's CPU affinity mask. The affinity mask is preserved across an execve(2).

-- http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html



 Comments   
Comment by Scott Hernandez (Inactive) [ 19/Nov/15 ]

The goal of this is to make the cpu a highly contended resource as if there was only one core on the system, which we don't have anymore in our hardware options.

Generated at Thu Feb 08 03:57:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.