Skip to content

Decide default concurrency for registered operators #949

Open

Description

@knoepfel

Summary

Decide what the default concurrency should be for each kind of registered operator. The registration API currently defaults fold, observe, predicate, provide, transform, unfold, and output to concurrency::serial (see phlex/core/graph_proxy.hpp). Users can override the concurrency explicitly when registering an operator.

This issue is for discussing whether a single default remains appropriate across operator kinds, or whether some operators should default to a different concurrency (for example, concurrency::unlimited or a framework-selected limit).

Discussion points

  • What safety and usability assumptions should defaults make about user algorithms?
  • Should defaults differ by operator kind?
  • What compatibility and migration implications would changing an existing default have?
  • What documentation should explain the chosen behavior?

Scope

Reach and document a decision for the default concurrency of each registered operator kind. This issue does not prescribe a particular default or require changing the API before the tradeoffs are discussed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionWhat choice should we make

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions