PlatformLab / grpc_homa

Allows Homa to be used as a transport with gRPC.
25 stars 5 forks source link

Updates to pass distbench unit tests #2

Closed danmanj closed 1 year ago

danmanj commented 2 years ago

This is a large refactor of the grpc_homa library to fix various bugs and implement missing features that it needed in order to pass the unit tests for distbench.

It depends on the following kernel changes in HomaModule: https://github.com/PlatformLab/HomaModule/pull/10

Apologies for the rough nature of these commits. The existing unit tests seem to have missed bugs that were pretty fundamental, so I just kept hacking until all the distbench unit tests passed in ASAN and TSAN modes. By the time all the bugs were understood the changes were too large and intertwined to factor into smaller ones. Several of the individual commits are for ease of review only, they don't actually compile without later commits.

Distbench is built with bazel, so we replaced the Makefile-based build system with a bazel-based one, which will be included in a commit to the distbench repository, not here. I was unable (unmotivated) to get the Makefile to build any code or any of the the grpc_homa unit tests, so I can't be certain that they continue to build and pass, but overall this has to be a big step in the right direction.

danmanj commented 1 year ago

Just wanted to confirm that you had seen this PR.

johnousterhout commented 1 year ago

This pull request has now been merged. I modified a few of the commits, so you may see merge conflicts on your next PR.

-John-