Skip to content

fix(tme): add multi-pool subscription for ThreadedME - #925

Open
shashankp-mcw wants to merge 1 commit into
Multicorewareinc:masterfrom
shashankp-mcw:tme-threadpool-fix
Open

fix(tme): add multi-pool subscription for ThreadedME#925
shashankp-mcw wants to merge 1 commit into
Multicorewareinc:masterfrom
shashankp-mcw:tme-threadpool-fix

Conversation

@shashankp-mcw

Copy link
Copy Markdown
Collaborator

When --threaded-me was enabled, ThreadedME was pinned to a single threadpool could exceed 64 threads. This breaks the thread state tracking as sleepbitmap_t is only valid upto 64 threads. This broken behaviour of sleepbitmap_t was fixed by 084f9e8. However, the rule table of ThreadedME specified in configureTmeThreadCount was not accounted for. Some of the thread splits may exceed 64 threads and would need the ThreadedME singleton to subscribe to many pools at once.

With this PR:

  • ThreadedME is now a singleton scheduler which spans one or more physical pools via proxy job providers, one per pool.
  • Rework distributeThreadsForTme to split resource groups into TME-first and then frame-encoder groups.
  • Updated docs (cli.rst, threading.rst) to describe the multi-pool model.
  • Fix ThreadedME not shutting down correctly after encode (cause: 99ee012)
  • Also fixes MAX_NODE_NUM to be consistent with 64-bit nodemask bitmaps. Previously this value was 127, which can't be represented by a 64-bit integer.

…-split rule table

- fixes side-effect of 084f9e8
- fixes MAX_NODE_NUM to be consistent with 64 bit nodemask bitmaps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant