Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE ADD] Redesign Pool class and Pool group architecture #6

Open
9 tasks
HunterAP23 opened this issue Jun 5, 2022 · 0 comments
Open
9 tasks
Assignees
Labels
enhancement New feature or request

Comments

@HunterAP23
Copy link
Owner

HunterAP23 commented Jun 5, 2022

Describe the feature that is being tested/implemented
Redesign the architecture for creating individual pools and pool groups.
Current implementation is confusing and hard to work with.

Miscellaneous changes required:

  • Pools should have the same inputs & functionality as the underlying ThreadPoolExecutor and ProcessPoolExecutor classes, with the added ability to start with / change CPU core affinity.
  • Pools should have the following two arguments:
    • Iterable core_iter listing the individual core numbers that the pool can use. IF not definied then assume all available cores that the process can use.
    • Integer core_limit to limit how many CPU cores can be utilized at any given time. If not defined then assume all provided cores can be utilized at once.
  • Pool groups should just handle holding onto pools with an overall affinity
  • Pools inside pool groups should be given a name and/or a unique ID
  • Pool groups can use either a dictionary key or a namespace for accessing individual pools within the pool group
  • Telling a pool group to run a function without giving a name of a specific pool should run the function across all pools within the pool group.
  • Pools within pool groups can have their own affinities based on the pool group's affinity

List any relations to other issues in this repository or in other repositories
Relates to #5

@HunterAP23 HunterAP23 added the enhancement New feature or request label Jun 5, 2022
@HunterAP23 HunterAP23 self-assigned this Jun 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant