A lot has happened this week. The kernel panics I had been having were partially related to VirtualBox and so I decided to uninstall it and setup a P4 environment in Google Cloud so I worked through that at the start of this week. Once the environment was successfully configured, I began work on a set of four exercises assigned to us by Srinivas. I’ve completed two and started the third this week. The first exercise explored equal-cost multi-path routing where different flows are equally balanced across several different links. This exercise was slightly more complicated than some of the previous ones, in part due to the use of hashing to determine an output port. I succeeded in writing and testing my solution and everything went relatively smoothly. The exercise I completed after this investigated probabilistic data-structures known as Sketches. These data-structures optimize both speed and memory at the cost of accuracy, sometimes returning false information. I implemented a count-min sketch in P4 to count different packet flows. This exercise was also interesting because it was the first that required us to write control-plane code in python (in this case to read the values of the sketch via the registers).

This week, Tavis and I also worked on drafting our DIMACS project report. The outline that we worked on previously proved invaluable here for structuring our draft and delegating writing responsibilities. We’ve completed most of the draft at this point and I personally feel like we’ve wrote down enough to begin translating and condensing the draft into our presentation. I expect that most work on the presentation, as well as filling in gaps in the paper will take place this weekend and early next week. Srinivas seems flexible with regard to reviewing our paper and I hope to get a draft to him by Monday or Tuesday evening. Additionally, though we’re in a bit of a time-crunch right now, Srinivas has indicated that we may be able to start work on the Tofino router next week. Unfortunately, there were some changes to the router made without his knowledge so he’s in the process of getting it back in a working state for us. Even if we don’t get to work with the hardware next week, I’m personally expecting to perform a few exercises and maybe even some experiments with it after the program concludes.