User login

Weekly Report for week ending 1 December 2017




Continued to investigate the performance of the BGP router and discovered that a very significant amount of time is spent pickling and unpickling routes to send between processes. Using a newer version of python allows me to modify how messages sent through multiprocessing queues get serialised, so I experimented with using protocol buffers, json, and a few other approaches to see what might work. Everything I tested was still too slow or memory intensive when dealing with a million route entries. Decided that the best approach was to store all the routes in one "bytes" field in a protocol buffer message (rather than having each route as a distinct part of the message) and to write just the relevant parts of the route entry straight into the buffer. Started work on implementing this.