-
Notifications
You must be signed in to change notification settings - Fork 181
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
Container Streaming/Retriever #3173
base: main
Are you sure you want to change the base?
Conversation
/build |
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.
Looks good in general. See my comments for enhancement.
self.count += 1 | ||
self.last = self.count >= self.size | ||
except StopIteration: | ||
self.logger.error(f"Producer called too many times {self.count}/{self.size}") |
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.
This condition can only happen when the container is empty or programming error.
You should just return (None, 0) to ensure aborting, instead of returning a Shareable.
A general comment: shall we do a comparison of memory footprint standard v.s. dict streaming v.s. file streaming? I will do some experiment on how to track the memory usage, I think using JobAPI should work |
I did some experiments but it seems the basic transmission without dict streaming has similar memory footprint as compared with streaming, not sure if it is expected (@nvidianz I created a PR on your branch, let me know if you find any mistakes in my code) |
Description
Types of changes
./runtest.sh
.