CPU Affinity support

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

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp

Research direction

Start by reviewing boost::thread's existing thread attributes and the coroutine2 performance reference at performance. Define the platform-independent affinity attribute needed for embedded Linux and VxWorks, then verify that the resulting API supports scheduling threads on reserved cores without relying on the benchmark implementation.

Written by the indexing model from the issue text.

Description

Recent "Best practice" in embedded Linux and VxWorks to achieve deterministic results for critical functionality is to use "core reservation" at boot and take one or more CPUs out of the general pool of CPUs used for SMP scheduling.
Threads requiring determinism then use the platform dependent API schedule themselves on the reserved core. This is a request for a thread attribute that abstracts the platform specific API for affinity as part of boost::thread (not hidden in the coroutine2 benchmarking ) https://github.com/boostorg/coroutine2/tree/develop/performance

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

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.

More from boostorg/thread

All issues in boostorg/thread

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.