Key points on implementation:
-
There are two parts in coflow client: aggregation and enforcement.
-
Aggregation passes ground truth coflow information to the scheduler, which requires application specific modification.
-
Enforcement gives out concrete scheduling orders, and also collect other low-level information that is application-agnostic, such as flow bytes sent, starting time, TCP port and IP, etc..
-
Aalo requires both parts to operate, which modify applications in a application-specific way.