iboB / iboB/par

Thread pinning

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

It seems thread pinning might more often than not be a good idea.

Starting with some questions/notes:

  • Should it be optional? Perhaps per pool? Perhaps by allowing a somewhat complex arg which pins thread pool threads to cores
  • Associate by offset (from which core) and stride (distance between cores)
    • offset means how many cores to leave unpinned for other work
    • stride would be useful to avoid hyperthreading and pin to every second core
  • Devise a scenario and profile
  • Note that pinning is inherited on Linux and not on Windows. Launching a thread from a worker when pinning is active is going to be tricky

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by mapping the thread-pool behavior relevant to worker threads, then compare Linux's inherited pinning with Windows behavior. Define a profiling scenario and investigate optional per-pool configuration using core offset and stride; done requires a decided design supported by profiling results and a clear cross-platform behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
operating-systems, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.