Q: Is there really a need to support every single queuing mechanism in SDN? Seems to rich? What is the minimal instruction set, current solution seems to complicated.
Anirudh: Several queue management schemes have non-trivial logic, most of these share little logic. It is a better approach to optimize control flow for all of them independently. Not sure which instruction set we will end up with.
Q: Can you also verify queue management and processing steps?
Mihai: Not looked into it yet, but why not.
Q: Not so much the instruction set is the main cost factor but rather the hardware gadgets. Other costs come with managing the flexibility at all (someone has to make sure program is verified). Maybe it should be the next step to articulate and quantify these costs. What do you think is expensive and what not?
Anirudh: Yes there is a need to quantify this. No idea on strong incentives for deployment yet.
Q: Have you thought about underlying hardware primitives that are needed for implementing or is general purpose hardware enough?
Ratul: Support from switches could help (e.g. if the switch tells neighbors when done after update).
Q: Instead of unrolling loops could you just look at the loop invariant? The programmer does what they want in the loop but just states the invariants. Have you seen code that is simple enough to do this?
Mihai: It depends in the invariant and the loop, but there is not a lot of algorithms in the data plane yet so this is still ongoing research.