Skip to content

IPC API #88

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

Merged
merged 3 commits into from
Apr 5, 2024
Merged

IPC API #88

merged 3 commits into from
Apr 5, 2024

Conversation

vinser52
Copy link
Contributor

@vinser52 vinser52 commented Dec 20, 2023

This PR introduces IPC API to UMF. The main use cases so far are from the GPU domain (L0, CUDA have such capabilities). The API is pretty similar to what L0 and CUDA have, but it also could be applied for shared memory or file-backed memory.

This PR is big enough, but still it does not contain everything we need.

The remaining tasks/items are the following:

  • Implement more efficient caching for IPC handles. This PR implements caching of IPC handles on the producer side (on getting IPC handles). Based on critnib data structure (in fact just a map, not a real cache with eviction policy).
  • Need to implement proper cache with eviction policies (e.g. LRU) so that we can control the size of the cache.
  • Implement cache on the consumer side (when we open IPC handles), in this PR we always call memory provider.
  • Evaluate uthash data structure that supports arbitrary key type and is more suitable for caching on a consumer side where the key is remote PID + address
  • Create documentation.
  • Create more tests.
  • Extend UMF IPC API to allow retrieving native IPC handle from UMF IPC handle.

@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from 6789c2c to 8f1fb69 Compare December 20, 2023 16:06
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from da6584c to 60f7560 Compare December 21, 2023 17:39
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from 7daa17f to e61e046 Compare January 15, 2024 14:55
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from 84a0d89 to 416c25d Compare January 26, 2024 12:08
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from 4dc141a to b0956d6 Compare February 5, 2024 14:41
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 12 times, most recently from 9816c61 to f780bf0 Compare March 12, 2024 14:23
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from 0a5885a to 8dd740f Compare March 13, 2024 15:33
@vinser52 vinser52 marked this pull request as ready for review March 13, 2024 15:48
@vinser52 vinser52 requested a review from a team as a code owner March 13, 2024 15:48
@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 6 times, most recently from 7e17bc4 to c70791f Compare March 15, 2024 13:53
@lukaszstolarczuk
Copy link
Contributor

Can you please make issue/issues out of your "remaining tasks/items" (from PR description)?

@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 3 times, most recently from b07b9dd to 2cbaa1a Compare April 2, 2024 19:45
@bratpiorka bratpiorka requested a review from igchor April 3, 2024 07:13
@bratpiorka
Copy link
Contributor

@vinser52 overall LGTM
@lukaszstolarczuk I will take care of creating issues when this PR is merged

@vinser52
Copy link
Contributor Author

vinser52 commented Apr 3, 2024

@lukaszstolarczuk I will take care of creating issues when this PR is merged

@bratpiorka I am going to create issues today (right now).

@vinser52 vinser52 force-pushed the svinogra_ipc_api branch 2 times, most recently from a5c30b3 to e03a0a3 Compare April 3, 2024 16:26
@vinser52
Copy link
Contributor Author

vinser52 commented Apr 4, 2024

drd and helgrind CI jobs should be fixed after PR #411 is merged

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.

4 participants