-
Notifications
You must be signed in to change notification settings - Fork 109
Support top level response caching for ensemble models #338
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
Conversation
src/ensemble_scheduler/ensemble_scheduler/ensemble_scheduler.cc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, Harshini! 🚀
FYI don't merge this until the testing PR is also ready to merge and pipelines look good |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really clean code, thanks @lkomali !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
ref slack thread: https://nvidia.slack.com/archives/CAZKCU4UV/p1677717244222069
Currently caching at the top-level request sent to ensemble scheduler is not supported.
Implemented caching top level requests for ensemble models.
In case of cache hit, the response is sent without executing composing models.
In case of cache miss, the ensemble pipeline runs as is.
Changed Logic for computing Cache Miss Latency: Cache Lookup time + Ensemble Pipeline time + Cache Insertion time
Moved similar logic form ensemble_scheduler.cc and dynamic_batch_scheduler.cc to scheduler_utils.cc to reduce code redundancy.