PlatformLab / Homa

Low-Latency Data Center Network Transport
ISC License
192 stars 27 forks source link

More changes to enable Shenango integration. #10

Open yilongli opened 3 years ago

yilongli commented 3 years ago

The biggest challenge is to move away from the poll-based execution model previously embedded in the implementation. For example, Shenango can't afford to drive the execution of the transport by calling Transport::poll in a busy loop. Also, Shenango needs to allow users to block on a socket waiting for incoming messages.

Another refactoring that results in small code changes all over the place is the Driver::Packet interface. The old interface cannot prevent the driver from modifying the payload (e.g., prepend L3 headers). This will lead to corrupted message when the packet needs to be retransmitted.

List of major changes: