Leveraging Domino to Implement RCP in a Stateful Programmable Pipeline

Md Iftakharul Islam, Javed I Khan · 2019

RCP is a router-assisted congestion control mechanism where routers allocate a feedback rate to each flow. Here sender nodes regulate their sending rates based on the feedback rates received from the routers. An RCP router calculates the feedback rate based on the queue occupancy, spare capacity and the average RTT of the on-going flows. This is why, an RCP router needs to execute a stateful packet processing program in the dataplane. However stateful packet processing in a very highspeed (e.g. Tb/s) router is particularly challenging. Currently there is no real deployment of RCP, to the best of our knowledge. This paper presents an implementation of RCP protocol in a programmable-pipeline based router. We use Domino programming language to implement the dataplane. Domino is a domain specific language that allows us to develop a packet processing program as well as the hardware pipeline on which the packet processing program would be executed. Domino programs are guaranteed to run at line rate. This is the first implementation of RCP using Domino. to the best of our knowledge.

Read the paper · More papers on PaperTik