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

Support "out of band" buffer allocation and a way to multicast such an object #119

Closed
KenBirman opened this issue Mar 24, 2019 · 2 comments

Comments

@KenBirman
Copy link
Contributor

Currently, our APIs have an upcall that gives a buffer to the user, who then has to fill in the message body and returns control to Derecho, which will send the object. For cases where data is collected out of band, like via a DMA from a camera, this forces an extra copy on the critical path.

Desired: a way to call Derecho's memory manager to obtain a buffer ahead of time, into which data can be loaded. Then a second case for our upcall lambda: the current type signature is for a function that takes the buffer as an argument. The new one would have no argument and would return the buffer that the user wants Derecho to transmit (via std::shared_ptr or even std::unique_ptr). Ideally it should be done so that no locking is required.

@sagarjha
Copy link
Contributor

Duplicate of #99. Or at least very similar to it.

@KenBirman
Copy link
Contributor Author

Oh, I didn't remember that I had previously posted that. Sorry!

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

No branches or pull requests

2 participants