cucapra / packet-scheduling

MIT License
3 stars 0 forks source link

DSL: Expand to NWC algorithms #31

Closed anshumanmohan closed 4 months ago

anshumanmohan commented 4 months ago

We are now fully committing to supporting non work-conserving algorithms, so let's flesh the DSL out appropriately.

KabirSamsi commented 4 months ago

Working on this with reference (and conjunction) to #13. I think a good approach is to extend the AST to include the non-work-conserving policies outlined there, and as we find other interesting ones, we can update both.

anshumanmohan commented 4 months ago

Sounds good! But just a heads up, there are no NWC policies in the glossary at present. If you're taking this trio of tasks on, you'll actually need to first do a 0th task, which is to review some scheduling papers (I recommend starting with good old Sivaraman '16) to learn about some NWC policies, and to them add those to the glossary.

KabirSamsi commented 4 months ago

My mistake! I'll put that together All the same, I think it's definitely worthwhile to add the remaining existing work-conserving policies from the glossary into the DSL, especially since it hasn't been too much work.

anshumanmohan commented 4 months ago

Yes that sounds great! And, just to make connections across conversations, these would all still be "simple" policies as defined in https://github.com/cucapra/packet-scheduling/discussions/38. While you're at it, maybe rename Fair in the DSL into RoundRobin for consistency with the glossary?

KabirSamsi commented 4 months ago

13 is now expanded to include four new, non-work-conserving policies – RCSP, Leaky Bucket, Token Bucket and Stop-And-Go. The latter three of these form a paradigm of non-work-conserving policies called 'traffic control policies' – essentially, ones which, rather than providing new levels of expressivity, primarily function to regulate the nature of the flow of packets and transactions.

The AST now includes these policies, but more metadata is required for the newest non-conserving ones.