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

Invert the client-engine subscription model #38

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

achanana
Copy link
Member

Currently, Gabriel cognitive engines specify to the Gabriel server which inputs they want to subscribe to. This creates a static client-engine mapping that precludes the client from dynamically deciding which cognitive engines should process its input. This change makes it so that instead of cognitive engines subscribing to client inputs ("sources"), we instead invert the process and let the client specify which "engine groups" to which the inputs are sent.

This change will support our vision of making Gabriel more scalable with many clients. A client may not always need the results from each engine and may want to decide which "computational services" it cares about dynamically. This will reduce wasteful computation and improve the resource utilization of the Gabriel backend.

This change introduces the concept of an "engine group" instead of specifying individual engines to send inputs to, along the lines of the existing "source name." Clients could subscribe to, say, object detection, and get results from multiple object detection algorithms. If desired, each engine group could also have just one engine, equivalent to specifying the individual engines the client wants to subscribe to.

@achanana achanana changed the title Inverting the client-engine subscription model Invert the client-engine subscription model Mar 26, 2025
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